Peter Norvig explains why he came to Python. Quite simply, it looked a lot like pseudo-code and his students couldn’t understand LISP. There’s clearly more to it, but it’s his to explain.
While speaking, he covers his views on the goals of scientific computing and lists a couple software projects under machine learning.
Those in the upper levels of Academia may appreciate Norvig’s humor here. In grey, are the usual things scientists do. Norvig suggests the steps in black were left out by mistake.
I’m curious if Peter Norvig has written anything regarding Mechanical Turk. He puts a market place for data gathering in his list of methods to Observer and Explore.
There seems to be no mention of turk on his web page anywhere…
Peter worked with a team that could detect diseases about a week or two faster than other sources at determining how tough the flu season will be.
Of Python, Peter says, “It’s just a few lines to parse the maze into a set of states and then you set up these three tables of probabailities that the hidden markov model needs. You need a distribution over the start state and I just said that’s uniform, you can start anywhere. You need the transitions, which are the observations and I define the observation function as the four walls around it. And so that was very nice that in this half a page of code I was able to go from this model parsing the representation of the room and get it into the form it needed and in other languages that would’ve been 3 or 4 pages instead of half a page. So that was ideal.”
Peter brings up a slide for Naive Bayes word modeling and mentions using a Python Decorator for memoization. I had not considered implementing memoization this way, but now that I’ve come across it, I can’t imagine doing it a different way. It’s so concise. Notice the @memo
at the top?
I found this blog post compelling for decorators. Memoization is covered. I have had good success using a decorator from Django for requiring authentication properties for specific functions using @login_required
.
Here is a graph generated from Python.
I think that was the appropriate amount of work to get there.
—