A machine learning demo using PyAudio and Scikits.learn. Code here was part of a class on machine learning taught at MIT Splash 2013.
Machine learning is a field of computer science that concerns writing programs that can make and improve predictions or behaviors based on data inputs. The applications of machine learning are very diverse - they range from self driving cars to spam filters to autocorrect algorithms and much more. Using scikit-learn, an open source machine learning library for Python, we'll cover reinforcement learning (the kind used to create artificial intelligence for games like chess), supervised learning (the kind used in handwriting recognition), and unsupervised learning (the kind eBay uses to group its products). We'll then cover audio analysis through Fourier transforms with numpy, an open source general purpose computational library for Python, and we'll use our newfound audio analysis and machine learning skills to write very basic speech recognition software. Applications of machine learning to the fields of multitouch gesture recognition and computer vision will also be discussed, drawing from my work at Tesla and research on self driving cars and autonomous submarines.
Up and coming... see notes.pdf.
sudo apt-get install python-pyaudio
sudo pip install wave
sudo apt-get install python-dev python-setuptools libsndfile-dev libasound2-dev
sudo easy_install scikits.audiolab
sudo pip install numpy
sudo pip install scipy
sudo pip install -U scikit-learn
sudo aptitude install python-qwt5-qt4
sudo apt-get install python-matplotlib
##Links
###Course Material
Scikit homepage
Map of ML fields
Cat Mouse Reinforcement Learning Demo
Self Driving Car
BoxCar2D Reinforcement Learning Demo
Vowel Classification
###Further reading/free courses
Note: I especially recommend the Udacity AI course for a broad introduction to the field. If you are newer to programing you should check out CS101.
Derivation of Regression
Good SVM Description
Udacity Programming a Robotic Car Course
Stanford Machine Learning