Machine learning

Machine Learning is one of most fascinating subjects in computer science. Ever since computers were invent, we have wonder whether they might be made to learn. If we teach the learning skills to the computers, and they are able to learn from experience based on specific problems, the impact would be dramatic. In fact, the learning process can be achieved by translating the statistic algorithms into computer programming.

Major applications of Machine learning are Search Engine, Spam filter, Route planner, Speech recognition, Facial recognition, Language translation etc. Intelligent computer systems usually include complicated and sophisticated learning algorithms, which also are the key issues of Machine Learning.

When Machine Learning comes to the Internet domain it gains various benefits , for instance, it happens to be much easier and faster to receive tons of training data by recording the web users’ behaviors and data inputs. However it brings up some new challenges also, we need to use the efficient algorithms to filter out the noises, then choose the more usable training data,  shorten the training period and output accurate results.

Numbers of big players in the IT industry has already taken bold moves by applying the Machine Learning techniques into their products. A few successful ones I can name:

Genius playlist in iTunes – a learning algorithm which will pick up all the existing songs from your local music library, send these data to the remote server, work out your taste, match it with other users, then give you a list of songs you may like, and recommend the songs you may want to buy (good business motivation here).

Finding faces in iPhoto – this is basically using the facial recognition techniques. Picasa is having the similar feature but it’s all based online.

Video stabilisation in iMovie – a shaking video shot can be stabilised by applying a learning algorithm, however it may take up quite a long time, and intensive CPU usage.

There are certainly many useful applications can be built by integrated the learning algorithms. I will carry on my research on this subject and work out some of my ideas.