I to believe that answer is wrong. Someone showed that K=1 is best even for random parameters with different probabilities at https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B0JaMwvGlHuEMGMwYWZkNTUtMjVlMS00Mjk3LThkNTEtOGM3NDdjZjA4NTky&hl=en_US as a response to Thruns challange.
My intuition was that increasing K would fix noisy data but paper convinced me.
I completely agree with this. Outside of this class, 95% is actually a very high score. Here there were about 50% who got very high scores, so little mistakes (basically luck) were the decisive factor. I you look at this , you'll see that people in this class were generally older than students in introductory university courses and with much more experience and/or education in CS/CE/EE/Physics/Math. People were also mostly enrolled in this class because they were interested in the subject, while most of people in the universities are there to get a degree. Even the ones that are generally interested are forced to do some classes they are not interested in (at least it is like that in my country). People who didn't find this class interesting could just drop out without any consequences. It is normal for the group of people that completed this class to do well in the tests and to get meaningful results, the questions would have to be hard. The questions here were actually quite easy.
Also, if anyone is posting links to pirated copies of "Artificial Intelligence: A Modern Approach", I propose those posts also be deleted. You are getting a free class, the least you can do is buy the book. Peter Norvig is the co-author, and he is donating all his royalties to charity.
For a continuous random variable, P(X=x) gives the value that X lies in an interval around x, divided by the width of that interval, as the interval approaches 0.
You can check out an explanation about probability density fns from http://www.khanacademy.org/video/probability-density-functions?playlist=Probability .
In EM, you're essentially moving around the cluster parameters: the mean, the standard deviation to get a 'best fit' for the existing data. Every time you iterate through, you improve the mean based on all existing points. Thanks to the Gaussian values (the P(X=x|cluster) values), points far away from a given center are very small and don't affect the cluster much.
The book has a much clearer explanation than the lecture, if you have that. Page 724, Section 20.4 in the second edition.
Good idea. Since we don't know when the videos will go up I just put it for the Monday of the week. I can alter it later when we know actual dates and times. I used Pacific time as that is where Stanford (and I) am.
Here is the calendar on the web:
Or use Google Calendar (or other) to subscribe to Ical.
Case in point for the explanation thing: Unit 3 9c answer.
P(T2=+|T1=+) = P(T2|T1,C)P(C|T1) + P(T2 | T1,¬C)P(¬C|T1)
How did he got there? not explained.
The next time they want to make this class, they MUST give a good source of background material, because as good as the Khan Academy videos are, this kind of mathematical wizardry is NOT intuitive at all, and i haven't found it yet. As i always do i'll manage and survive the grades culling, but they didn't made it easy.
Eh, a high school student could probably learn the basics of linear algebra on their own time. That's what I did. Khan Academy and MIT OpenCourseWare are both great resources for this.
The website has a line about it on there. Have you been to it yet?
> Access to a copy of Artificial Intelligence: A Modern Approach may be helpful but is not required.
David Stavens is one of the two instructors of the AI Class. @DavidKnowLabs is his twitter account. https://twitter.com/#!/davidknowlabs
KnowLabs is his company that is helping Stanford host and run the class.
Atleast that is what I got from ai-class.org, and a few other resources.
Screenshots of each question.
Note: there is an official pdf on the ai-class.com site. However it does not have the clarifications...
They seem to have gone to a lot of trouble to avoid ambiguities.
Yes, you are right. Wikipedia is more about correct definitions than teaching and learning. Khan Academy is about teaching and learning. Try that. You may find it to be good on what is covered, but possibly lacking in exactly what you need.
The thing is, most implementations will have some small difference(s) from the canonical one Prof Thrum teaches. eg; Many algorithms that I have seen don't keep weights of particles - but resample immediately based on observation. That said; a simple implementation can be like this.
Note that this obviously isn't a authoritative coded example :). Hope this helps. Cheers.
Here is a sample db-class statement:
So just today I found a Ruby library with some AI related functions:
I use two extensions for Chrome to help with youtube
Turn off autoplay
Youtube Downloader I can't seem to find the main page that links to this. It adds a download button under the video and doesn't link out to an external site. Unzip (command line linux or mac) the .crx if you want to examine the source.
I have created a google group for this study group. I would encourage you to join so we can collaborate and share files [subject to the honor code] etc.
Nice one osmosesJones! I've created a public Google Calendar based on this ical file. View here then click the "+ Google Calendar" button at the bottom right to add as one of your Other Calendars.
I got a copy of the second edition (international) via http://www.abebooks.com/ from an indian book store. It was about €16 (about $24) including postage. It is a paperback printed on cheap paper but imho sufficient to learn the material (i usually make notes in my books anyway). According to the Website "Any edition of the textbook may be used but the third edition is preferred."
I could be totally wrong about this too, but just because you don't have to turn in any code, it doesn't mean that the course is light on programming. Are you familiar with Project Euler? They give you a bunch of math problems that are pretty much only solvable with computer programming. However, the only thing you "turn in" is the number that your program computed.
The FAQ says this:
> For many topics writing algorithms will be helpful and is recommended to help complete the assignments, however your code itself is not evaluated so you may use any language you are comfortable with.
That sounds similar to Project Euler (although it does say programming is helpful and recommended rather than necessary).
>OnlineEducation caters exclusively to students participating in the classes listed below.
Shouldn't it cater to all froms of free higher education online? If it's only about the Stanford classes it prob should stay as /r/StanfordOnline.../r/OnlineEducation should be a reddit where people can share resources for free online education regardless of source IMO ( like Harvard's open learning initiative etc)
i have done an implementation of the particle filter algorithm with matlab. the environment is 2-d continuous and the measurement and movement are simulated with stochasticity. it has one map i made but has an 'map editor' (lame editor). the algorithm almost every time converges to the actual position and direction of the robot, i think if the robot had more inteligence to plan to restrict the belif state it would work better. i am also in doubt about the probability distribuition of the state given the measurement, if some one have a better solution please edit WEIGHTS.m . physics simulation is also weak.
files can be download at : http://www.4shared.com/file/WNK94VJV/ParticleFilterSim_2.html
run Run.m script to start simulation
run MakeMap.m script to edit and create new maps. don't forget to save as map.m maps are made with poly-lines, which are n X 2 matrices each row is a point in the cartesian space, and the line is conected by these points.
if you want to make your own implementation, just edit ressample.m
please feedback if you like it or not
watch the demonstration video on youtube (watch it in 720p HD)
All right, open source now (under the MIT license), so you can download it yourself and play around with it offline!
Once again, spread the word, provide feedback, if there's anything you don't understand chances are others don't either so let me know so I can clarify!
If you dig around, you'll see they recommend, but don't require, Artificial Intelligence: A Modern Approach. The FAQ now has some good information as well.
I think gregmchapman is just suggesting Clever Algorithms as an informal outside source.
Reading "Artificial Intelligence: A Modern Approach" to get a head-start on that. I've already watched the recommended videos on probability and linear algebra. I did that over the last few weeks during lunch hours at work.
FWIW "...Problems in measurement. Applications of tests that are based on the normality assumptions are further limited by a lack of precise measurement. For example, let us consider a study where grade point average (GPA) is measured as the major variable of interest. Is an A average twice as good as a C average? Is the difference between a B and an A average comparable to the difference between a D and a C average? Somehow, the GPA is a crude measure of scholastic accomplishments that only allows us to establish a rank ordering of students from "good" students to "poor" students... Without going into too much detail, most common statistical techniques such as analysis of variance (and t- tests), regression, etc., assume that the underlying measurements are at least of interval, meaning that equally spaced intervals on the scale can be compared in a meaningful manner (e.g, B minus A is equal to D minus C). However, as in our example, this assumption is very often not tenable, and the data rather represent a rank ordering of observations (ordinal) rather than precise measurements..." http://www.statsoft.com/textbook/nonparametric-statistics/
Your linear model with a 0.0015 granularity, high peak (120?) at 100.00, local peaks of 10 or so at random throughout the rest of the range to 87.00 could probably be scaled down to the 405 population "dense rank on sheet" (column U) at https://docs.google.com/spreadsheet/ccc?key=0AsWh-43WvLRdFdrQ1BjcnRwY29NYVl0OUpXT0s5X1E&hl=cs#gid=0 . It would seem to be made to fit pretty well a valid non-parametric (ranking) distribution.
This whole Israel <=> Palestine issue is highly political and greatly off-topic. My suggestion is to simply add 1 polite comment on the subject that this class is world wide, collaboration of academic effort and politics should be kept strictly out of it, as they are not relevant, can be easily proclaimed as demagogic propaganda and are generally cause very bad and unpleasant attitude among the members of class. As also (sadly) happened here https://www.facebook.com/groups/189765061088066/?id=218838118180760
Q1: 244 cost, 264 expanded, due to reversed ordering of actions.
Q2: 210 cost, 617 expanded. I use optimized version of BFS.
Q3: 68 cost, 268 expanded. I use A* with zero heuristic. Difference in the number of expanded nodes is due to slightly tweaked version of priority queue I implemented.
Q4: 210 cost, 542 expanded.
Q5: 106 cost, 1921 expanded.
Q6: 106 cost, 644 expanded. tinyCorners - 28. bigCorners - 162.
Q7: 60 cost, 215 expanded in 0.1 seconds (core i7 ). Consistency is guarantied by heuristic construction. However I've inserted code to check for consistency on each step. No warnings so far. tinySearch - 27 cost, 52 expanded. smallSearch - 34 cost, 57 expanded.
Q8: 306 cost.
I'm not satisfied by Q8 result. Bot makes too stupid errors. I uploaded replay file to recorded-game-110-22-20-12-40.
python pacman.py --replay recorded-game-110-22-20-12-40
ETA: Heuristic from Q7 doesn't work well for Q8. I applied lots of tweaks, but...
Ok. Here's the deal.
I've been working on the other classes, and have been having a great time doing them independently. I'm working full time right now (co-op), but I hope to be able to set it up.
So - here's what I propose:
First meetup is on the 10th, 7pm. We still need a location.
I've set up a google doc so that we can list what we want to talk about during the study group. I'm probably going to update it each week, so we can keep a log here. Feel free to edit at will. (Don't vandalize, please)
I'm still looking for a location. Without a location, it probably won't happen. Please Suggest a location if you can.
If you have any questions, put them in the doc.
I hope that we can set this up.
Here's more about the kind of pen Norvig uses:
Very useful and well paced math tutorials. Be sure to use the search function as the tutorials covers a large spectrum of the subject. Also, this is listed on the related material section of the ai-class website.
Hmm. I haven't seen the videos myself, sorry if I appeared presumptuous. I am curious however - how did the Khan Videos derive P(A|B) = P(B|A) * P(A)/P(B) ? Or did they just give the formula directly (which would be very unusual) ?
[Edit : I just watched the Khan videos. In Probability (Part 7), at 7:50+, where he expounds on Bayes Theorem, you can see how he gets P(A|B) = P(B|A) * P(A)/P(B) from P(A,B) = P(A|B)P(B).
I have no idea how you missed this, when you watched all the videos. Or are you getting confused between notations ? P(A,B) means (effectively) the same thing as P(A ∩ B), if that is what is tripping you.
I'm really jealous of all you high schoolers that get to take advantage of this so early! Best of luck, ask lots of questions on here and in IRC.
To help with the math, check out these two amazing sites:
They are great resources for many levels of math. They've helped out my niece in HS, and me and my friends in undergrad and grad school.
For programming, I recommend python. It's really easy to learn.
works for me. Also I don't check reddit very often, it might be nice to move the conversation to a google group or an email thread. For the start, I've created https://groups.google.com/group/aiml-at-pitts?hl=en, if everyone is okay with this. Its public for now.
Há este grupo em funcionamento > https://groups.google.com/group/ai-class-br?hl=pt-BR , acho que podemos integrar lá e se encontrarmos um melhor que seja mais dinâmico oferecer a migração de todos para este.
9 people showed up at the first meet-up here today. We have a mailing list and soon a google hangout. We'll be meeting weekly probably Sat/Sun afternoon.
First Melbourne Meetup details:
Starbucks 295 Swanston St Melbourne
From 7-9pm Sunday 9th October
This is near "Melbourne Central" Railway Station. From Melbourne Central, turn right into Swanston St heading towards Flinders St Station. You will find Starbucks on the right hand side.
See you there.
Reminder of the Draft Agenda
If it is possible to pick any language, I'll be using Lua. I used to use Python a lot, so that would be my 2nd choice.
I'm kind of hoping they go for a Project Euler style assignment system. There, it doesn't matter what language you use (some people like coding solutions in x86 assembly!) all that matters is the answer. That would make cheating even easier, but if you are going to cheat on a free online course (with no grade or credit) ... well, that's just sad.
I also like how RoboCode looks. It let's you program the AI for a robot tank in a 2D battle royal environment. You have to program in Java or .NET though.
If only I had the time...
Managed to mirror left channel to right using this link:
In the first line changed channel map to this:
i have done an implementation of the particle filter algorithm with matlab, analising the code could be enlightening. the environment is 2-d continuous and the measurement and movement are simulated with stochasticity. it has one map i made but has an 'map editor' (lame editor). the algorithm almost every time converges to the actual position and direction of the robot, i think if the robot had more inteligence to plan to restrict the belif state it would work better. i am also in doubt about the probability distribuition of the state given the measurement, if some one have a better solution please edit WEIGHTS.m . physics simulation is also weak.
if you want to make your own implementation, just edit ressample.m
please feedback if you like it or not
watch the demonstration video on youtube (watch it in 720p HD)
you have to download an IRC-client. On windows try mIRC. when installed, just connect to the server/channel mentioned above...
Download IntelliJ IDEA Community Edition and create a Maven project. Add the Selenium Web Browser Automation dependencies in your pom.xml like they do here. Write an intelligent agent that plays OGame.
sorry it took so long to get back here, just figured out how to get notified of comments...
a mailing list should be sufficient, You can also try a collaboration website like http://wiggio.com/
in my business groups, they typically suggest in person meetings called masterminds(ref: Think and Grow Rich, by Napoleon Hill)
And on the FAQ in the right panel of this subreddit:
>What textbook will be used?
> Artificial Intelligence: A Modern Approach The 3rd edition is preferred, though the 2nd edition is also good.