Advanced interests: Machine Learning


I used my first six semesters in the university to get as much input from every subject area as I could. Visiting the recommended lectures, participating in organizations like UniMentor and Farafin and talking a lot to other people made a lot of fun. It tought me that I`m able to work on nearly everything, if the people I`m working with are inspiring and the surroundings are good. After that phase of orientation, I decided to focus my energy on one topic. The lectures "intelligent systems", "evolutionary algorithms" and "neuronal networks", held by Prof. Dr. Kruse, fascinated me. Not hacking instruction-by-instruction into a computer but letting the system learn what I want it to do was a great deal for me and I wanted to learn more about that. I decided to step in the topic by writing a program which uses Support Vector Machines within my laboratory practical.

The project name for that program is "Fuzzy Support Vector Machine", which isn`t a verry precise description.

 

What`s that all about?

According to wikipedia, machine learning is "a subfield of artificial intelligence that is concerned with the design and development of algorithms and techniques that allow computers to 'learn'". In fact this "learning" is not that different from the learning process of a human.

Imagine the following scenario: A doctor researches an illness by analyzing the symptoms of previous patients. It is known whether each of these patients has the specific illness or not (data is classified). Maybe the illness causes 4 symptoms: fever, pain in the lungs, coughing and rash. According to the data the doctor learns that this specific illness causes anyway fever and pain. If it causes coughing and rash, there always are the two of them. Coughing never appears without rash and vice versa.

Now consider a machine doing the same thing. By processing the same data the doctor did, the machine defines rules like "If fever and pain and both, coughing and rash, then illness" and "If fever and pain and only coughing then another illness". The point is that the training data include the result for the cases it contains.

After constructing rules, which are not necessarily in if-then-else-form as mentioned above, the machine can classify new data. That could be a new patient who shows, for example, the symptoms fever and rash. According to the two rules it`s obvious that the patient does not have the illness.

The picture illustrates the process of learning. Given a set of labeled data, in our case the data of the previous patients, the machine constructs several rules via an algorithm. With these rules new unclassified data can be classified.

machine_learning_introduction_image

One common problem in machine learning is the so called "overfitting". The machine must not simply store knowledge it gets from the training data but has to generalize it to solve new situations. A bad learning algorithm could cause the machine to learn the given examples by heart, so it classifies these cases correct and all others wrong. This machine is completely useless.

I hope my collegues won`t slap me for that really rude and short introduction, but I don`t want to write essays already written by other people. If you are interested in the topic I recommend the following sources.