Machine Learning — ein tolles Buzzword das man ständig in allen möglichen Zusammenhängen hört. Amazon macht euch Kaufvorschläge? Machine Learning sei Dank. Ein Computer schlägt den Go-Weltmeister. Machine Learning sei Dank. Euer Smartphone versteht euch, wenn ihr mit ihm redet? Machine Learning sei Dank.

Kinder vs. Computer

Aber was bedeutet Machine Learning. Wie können Maschinen dazu in der Lage sein zu “lernen”? Was bedeutet “Lernen” eigentlich? Wikipedia sagt: “Unter Lernen versteht man den absichtlichen oder beiläufigen Erwerb von geistigen, körperlichen, sozialen Kenntnissen, Fähigkeiten und Fertigkeiten.” Stellen wir uns folgendes Beispiel vor: Eine Mutter läuft mit ihrem Kleinkind durch die Stadt. Eine Katze läuft ihnen über den Weg. Das Kind zeigt auf die Katze und freut sich. Die Mutter bringt ihm bei “Das ist eine Katze”. Sie laufen weiter. Ein Hund läuft ihnen über den Weg. Das Kind deutet auf den Hund und sagt “Katze”. Die Mutter sagt “Nein, das ist keine Katze”. Anhand solcher Positiv- und Negativbeispiele lernen Kinder die Welt um sich herum kennen und einzuordnen. Und genau anhand solcher Positiv- und Negativbeispiele kann das auch eine Maschine. In dem Fall spricht man von Überwachtem Lernen.

Die Welt in Schubladen einteilen

Eine typische Anwendung für Machine Learning sind Klassifizierungsprobleme. Menschen stecken ja gerne alles in Schubladen und haben das auch dem Computer beigebracht. Dabei gibt es zwei unterschiedliche Herangehensweisen: Entweder kennt man die Schubladen schon vorher (alle Katzen in die Katzenschublade, alle Hunde in die Hundeschublade usw) oder man muss die Schubladen erst noch herausfinden.

Nehmen wir mal an, wir kennen die Schubladen schon, dann könnte man den Computer mit Regeln füttern, nach denen er zum Beispiel Bilder in diese Schubladen sortiert: “Wenn es Fell, einen Schwanz, dreieckige, aufrechte Ohren und Schnurrhaare hat, ist es eine Katze”. Machine Learning benötigt aber eben genau diese Regeln nicht. Wir müssen die Regeln also nicht formulieren können. Stattdessen füttern wir den Computer mit Positiv- und Negativbeispielen. Ein Beispiel besteht aus einer Menge an Eigenschaften, zum Beispiel Schwanz, Fell, Augen, Augenfarbe, Größe, usw. und der Einordnung ob es eine Katze ist oder nicht. Wenn man dem Computer genügend Positiv- und Negativbeispiele gegeben hat, kann er danach selbst entscheiden, ob auf dem Bild eine Katze zu sehen ist oder nicht.

Welcher Typ Mountainbiker bist du?

Bild von https://mpora.de/articles/welcher-typ-mountainbiker-bist-du.html

Bild von https://mpora.de/articles/welcher-typ-mountainbiker-bist-du.html

Habt ihr schon mal einen dieser Tests in einer Zeitschrift gemacht, bei denen man durch ein Diagramm geführt wird indem man Fragen beantwortet? Eine weit verbreitete Machine Learning Methode funktioniert auf eine ähnliche Weise. Man spricht hier von Entscheidungsbäumen. Die Fragen in den Zeitschriften erscheinen oft logisch und man weiß meist schon vorher, in welche Schublade man am Ende gesteckt wird. Es sind diese “formulierten Regeln” nach denen wir Menschen vorgehen. Die Fragen, die in von Computern erstellten (gelernten) Entscheidungsbäumen gestellt werden, erscheinen für uns Menschen nicht unbedingt so logisch. Meist wird auch nicht ein einzelner Entscheidungsbaum erstellt, sondern viele. So als würdet ihr mehrere Tests zur gleichen Frage machen. Am Ende entscheidet man dann nach der Mehrheit.

Ein Raum voller Katzen und Nicht-Katzen
(nein, hier geht es nicht um Schrödinger)

Eine andere Methode sind Supportvektor-Maschinen. Wie Turingmaschinen, sind sie keine echten mechanischen Maschinen, sondern ein mathematisches Verfahren. Stellen wir uns vor, wir haben 1000 Positiv- und Negativbeispiele (“Katzen” vs “keine Katzen”), die wieder jeweils bestimmte Eigenschaften haben (Schwanz, Fells usw). Wir können uns ein einzelnes Beispiel als einen Punkt vorstellen, der durch seine Eigenschaften einen bestimmten Platz in einem Raum einnimmt. Wenn wir alle Beispiele als Punkte in diesem Raum betrachten, dann können wir eine Wand in den Raum einziehen, die die Katzen, von den Nicht-Katzen trennt. Ok, ganz so einfach ist es oft nicht. Oft sind die Punkte so im Raum verteilt, dass sie sich nicht sauber durch eine “Wand” trennen lassen. Man sagt, sie sind nicht “linear trennbar”. Man verwendet dann den sogenannten “Kernel-Trick”: Man projiziert den Raum in einen höherdimensionalen Raum, in dem die Punkte linear trennbar werden. Stellt euch ein Blatt Papier vor auf das rote und grüne Punkte gezeichnet sind, die sich nicht sauber mit einem geraden Schnitt voneinander trennen lassen. Wenn ihr das Papier aber richtig faltet, dann wird das aber auf einmal möglich.

SVM

Wenn wir dem Computer jetzt ein unbekanntes Bild zeigen, dann macht er daraus wieder einen Punkt in dem Raum mit der Wand. Je nach dem auf welcher Seite der Wand der Punkt liegt, wissen wir, ob es eine Katze ist, oder nicht.

Weg mit der Überwachung

Entscheidungsbäume und Supportvektor-Maschinen gehören zu den überwachten Lernmethoden. Manchmal weiß man aber nicht, wie viele Klassen es eigentlich gibt, in die wir unsere Objekte einteilen wollen. Wir wollen einfach ähnliche Objekte zusammen sortieren und damit neue Gruppen finden. Es gibt zahlreiche Ansätze und Algorithmen, die sich mit dieser Aufgabe befassen. Generell spricht man von “Clustering”, wobei ein Cluster eine Art “Haufen” oder “Bündel” ist.

Machine Learning in der Biologie

Es gibt noch viele weitere Machine Learning Methoden, zum Beispiel künstliche neuronale Netze oder Probabilistische Graphische Modelle. Machine Learning ist cool. Machine Learning ist überall. Und Machine Learning ist natürlich auch Teil der Bioinformatik. Die Masse an biologischen Daten wächst und wächst. Nützliche Information aus dieser riesigen Menge an Daten zu filtern, fällt uns Menschen schwer, den Maschinen einfacher. Das liegt vor allem daran, dass Computer keine Regeln formulieren müssen, nach denen sie sortieren. Maschinelles Lernen wird mittlerweile in allen biologischen Bereichen angewendet: Genomik, Proteomik, Transkriptomik, Stammbaumforschung, … Von der ein oder anderen Anwendung habe ich euch schon berichtet und es folgen sicher noch weitere.

PS: So aus persönlichem Interesse: Welcher Typ Mountainbiker seid ihr?


Beitrag auf BioinfoWelten lesen.

Kommentare (9)

  1. #1 rolak
    30. Juni 2016

    Welcher Typ?

    Eindeutig der NichtMountainBiker – professionell fitgemachtes Gebrauchtrad, Trapezrahmen, 28″, 7Gänge, mit Lackresten psychedelisch bunt und recht klau-sicher gestaltet. Ein gutes Stadtrad halt…

  2. […] Besitzer steckt womöglich in einem Muster irgendwelcher Verbindungen eines neuronalen Netzes. (Im Blog „Bioinfowelten“ gibt es mehr zum Thema Machine […]

  3. #3 user unknown
    https://demystifikation.wordpress.com/2016/06/23/critical-mass-berlin/
    1. Juli 2016

    Rennrad, klassisch.

  4. #4 schlappohr
    1. Juli 2016

    Auch kein Mountainbiker. Ich fahre stundenlang auf meinem Treckingrad mit konstanter Geschwindingkeit am Flussufer entlang und lasse die Landschaft vorüber ziehen, so als säße ich auf einem Schiff. Das ist so ziemlich das genaue Gegenteil vom Mountainbiking.

    Im Moment ist deep learning ziemlich angesagt. Was genau ist das eigentlich? Ich weiß nur, dass es auch auf neuronalen Netzen basiert, aber wohl deutlich besser funktioniert als die klassischen Netze.

    • #5 Franziska Hufsky
      1. Juli 2016

      Soweit ich weiß, ist die Besonderheit an Deep Learning vor allem, dass man die Eigenschaften der Objekte, die man zum Lernen benutzt nicht mehr per Hand auswählt, sondern auch die “gelernt”, also vom Computer ausgesucht, werden.

  5. #6 Kai
    1. Juli 2016

    Wo neuronale Netze aufhören und Deep Learning anfängt ist mir auch nicht so ganz klar. Aber prinzipiell geht es schon darum, besonders tiefe Netze zu lernen. Man kann sich das schön bei Bildern vorstellen: Statt aus einem Bild (= einer Menge von Pixeln) zu lernen, ob darauf ein Mountainbiker abgebildet ist, lernt man schrittweise Abstraktionen aus dem Bild. Ist auf einem Abschnitt des Bildes etwas kreisförmiges abgebildet? Ist auf einem Abschnitt des Bildes eine Straße abgebildet? Aus diesen Abstraktionen lernt man dann die eigentliche Fragestellung. Diese Abstraktionen selbst werden idealerweise auch nicht vorher festgelegt, sondern (wie Franziska sagte) vom Computer selbst mitgelernt.

  6. #7 Ernst der Lage
    1. Juli 2016

    Ich finde das Thema Bioinformatik wirklich spannend und habe doch so wenig Ahnung davon. Tolle Übersichtsartikel hier, die mir helfen, eine Vorstellung von der ganzen Sache zu kriegen. Mehr! :o)

    Ich geh übrigens lieber zu Fuß… Meine Füße sind meine Freunde, mein Gesäß nicht, wenn es sich zu lange auf einem Fahrradsattel befand… Autschie.

  7. #8 Laie
    2. Juli 2016

    Könnten wir (eines Tages) ein neuronales Netz mit all den Sensor-Input-Daten eines Menschen während seines Lebens füttern, so könnten wir es glauben machen, es wäre ein echter Mensch und lebe in einer Wirklichkeit. Wäre das nicht irgendwie unfair?

    In der Realität bin ich ein Mountainbiker, der sein Bike immer selbst herrichtet, das kann man nicht simulieren! 🙂

  8. […] Beitrag auf ScienceBlogs lesen. […]