Maschinelles Lernen: Der K-Nearest-Neighbours-Algorithmus Hart und Trocken https://www.youtube.com/watch?v=WSGvyPzQKZU Transkript (automatisch erstellt) 0:03 [Musik] wir kommen bei hatten trocken es geht um kane juristen neighbours was wir heute besprechen lässt sich relativ einfach 0:19 darstellen wir betrachten objekte in zwei dimensionen xy 0:28 da haben wir einmal punkte die wir blau kategorisiert haben und die hier liegen und dann rote punkte die hier liegen und die zweite kategorie 0:43 darstellen die frage ist jetzt folgende wenn ich einen neuen punkt hier platzieren zum beispiel an der stelle hier zum 0:52 beispiel an der stelle hier zum beispiel an der stelle hier gehören diese punkte in die blaue oder rote kategorie für menschen ist das relativ leicht der 1:04 punkt rechts gehört in die rote kategorie warum weil die punkte drumherum auch roth sind der punkt hier gehört in 1:16 die blaue kategorie weil das erst der blaue bereich das sind vor allem blaue punkte wie es mit dem punkt in der mitte da ist 1:25 die situation nicht so ganz klar es gibt blaue punkte in der nähe es gibt rote punkte in der nähe hier entfällt die entscheidung ist viel 1:33 schwerer hier muss man sich ein bisschen genauer überlegen wie man zu einer entscheidung kommen kann 1:38 das ist aber jetzt wirklich schon die grundidee von kanye west neighbours die wir jetzt noch ein bisschen ausarbeiten werden wir wollen also und 1:47 prognoseverfahren entwickeln anhand historischer daten wir haben historische daten aufgezeichnet wir haben beobachtungen 1:54 gemacht wir kennen merkmale und wir kennen kategorien woher kommen die kandidaten kommen das kann zum beispiel sein dass wir 2:03 kundendaten haben und wir wissen ob diese kunden ihre rechnungen pünktlich bezahlt haben oder nicht das können kreditkarten transaktionen seien waren 2:13 die transaktionen unauffällig wurde da wirklich geld überwiesen hat es funktioniert oder steckt vielleicht dahinter kritik 2:21 karten betrug wir können besucher einer website beobachten und eine prognose machen ob die wohl was kaufen werden oder für was die sich vielleicht 2:31 interessieren könnten das heißt in allen fällen haben wir beobachtet was sind die merkmale der kunden und in welchen kategorien gehören die kunden das ganze 2:43 gehört in den bereich des maschinellen lernens und da in das so genannte super weist learning jetzt schauen wir uns die situation 2:50 nochmal an wir haben hier wieder daten relativ wenige daten und die sind eingeteilt in zwei kategorien blau und rot bzw 3:03 ein teil der daten hier die schlechten daten oder schlechten kunden und ein teil der daten hier das sind die blauen sind eher die guten 3:12 kunden die merkmale die wir beobachtet haben sind das alter der kunden und das einkommen der kunden diese merkmale liegen uns auch von neuen 3:25 kunden immer vor wenn also jetzt ein neuer kunde dazu kommt an dieser stelle dann möchten wir gerne wissen ob dieser neue kunde in den 3:39 blauen bereich gehört oder er in den roten bereich die idee ist jetzt folgende wir schauen uns einfach an wie sieht denn die 3:49 nachbarschaft dieses kunden hier ausliegen in dieser nachbarschaft er blaue werte oder er rote werte wenn mehr blaue werte da sind dann wird ein blauer 3:58 kunde wenn mehr rote werte da sind ritzen roter kunde was müssen wir dazu machen wir müssen alle abstände berechnen wir müssen die abstände 4:08 berechnen von dem neuen grünen punkt zu allen anderen punkten zu allen blauen punkten und zu allen roten punkten und im nächsten schritt können wir uns dann 4:18 anschauen was sind zum beispiel die fünf nächsten nachbarn daher kommt auch schon der name diese fünf ist genau dieser werte k das heißt 4:29 wir schauen uns hier die fühlen von nächsten nachbarn an und die entscheiden darüber was diese neue punkt für eine farbe bekommt noch ein bisschen rein wir 4:37 haben hier in dem fall 123 blaue punkte wir haben zwei rote punkte das heißt hier entscheiden wir uns drei zu zwei dafür dass dieser neue punkt ein blauer 4:52 punkt wird wie sieht jetzt der algorithmus insgesamt aus zunächst ich muss mir überlegen wie ich die abstände zwischen den punkten berechnet 5:04 was ich vorher gezeigt haben zwei dimensionen ist relativ einfach dann nimmt man einfach den kürzesten abstand zwischen diesen punkten 5:11 aber es gibt auch noch speziellere situationen dazu gleich noch ein paar worte dann unter teile ich die daten in trainings und testdaten der grund ist er 5:21 wenn ich einfach alle meine daten nehmen und dann für neue punkte die sind algorithmus anwendet dann weiß ich nicht ob der algorithmus funktioniert oder 5:29 nicht das heißt ich zerlege die daten einmal ihre trainingsdaten und dann in testdaten aus diesen test daten nämlich jetzt punkte 5:38 lasst den algorithmus entscheiden anhand der trainingsdaten in welche kategorie der punkt gehört und jetzt kann ich vergleichen ob die prognose richtig war 5:49 oder nicht und wenn ich häufig gute prognose mache dann funktioniert der algorithmus wenn ich häufig eine gute prognose machen klingt irgendwie etwas 5:58 schwammig das ganze könnte aber vielleicht ein bisschen konkreter haben ja wer eine gute idee dazu brauche ich ein bewertungsschema 6:05 dieses bewertungsschema sollen wir sagen ob ich einen guten algorithmus gefunden habe ob der im wesentlichen richtig liegt oder ob er ziemlich häufig daneben 6:14 liegt und eigentlich nicht viel besser ist also mal zufällig rede von diesen bewertungsschema hängt dann auch ab welchen wert ich für mein kwl ich nehme 6:23 jetzt nämlich unterschiedliche werte von k von kleinen werten bis zu großen werten und prüfe dann mit diesen bewertungsschema welches am besten 6:33 funktioniert das weiß ich vorher nicht es gibt keine möglichkeit von vorneherein zu sagen k gleich 70 funktioniert gut oder gar gleich 7000 6:43 wenn ich viele daten habe oder gar gleich 9 das muss ich ausprobieren und es kommt sehr auf das bewertungsschema an ob ich 6:51 mich richtig entscheide das bewertungsschema ist ein ganz zentraler punkt ich nehme also dass k mit dem besten 7:01 wert in bewertungsschema und kann dann diesen algorithmus diesen kern algorithmus auf neue objekte an wänden und hoffentlich funktioniert aber den 7:12 neuen objekten dann auch so gut wie er auf den test daten funktioniert hat wenn das bewertungsschema sagt verfahren funktioniert insgesamt nicht gut ich bin 7:22 kaum besser als raten dann muss ich es verwerfen dann muss ich einen anderen algorithmus verwenden es gibt ein paar praktische punkte die 7:28 wichtig sind bei kn der erste ist in dem beispiel vorher habe ich eine zeichnung gemacht die ich so eigentlich ein bisschen irreführend 7:36 ist ich habe alter und einkommen als merkmal verwendet und alter und einkommen liegen eigentlich auf völlig unterschiedliche 7:42 skalen alter liegt meinetwegen zwischen 20 und 70 einkommen zwischen 20.000 und 100.000 zum beispiel das heißt in einem realistischen beispiel ist es so dass 7:55 eigentlich nur das einkommen entscheidend ist weil 50 jahre unterschied im alter was ein riesen unterschied ist fallen eigentlich nicht 8:02 ins gewicht gegenüber 100 euro unterschiede im einkommen was ziemlich schnell zustande kommt eigentlich sieht das bild also so aus und da habe ich 8:11 immer noch untertrieben das ganze ist eigentlich noch viel gequetschter was muss ich tun ich muss die daten auf den ehrlichen 8:19 maßstab skalieren typischerweise ist es so dass wir das dann immer zwischen 0 und 1 skaliert ich muss aber wirklich gut aufpassen dass 8:27 die verschiedenen skalen zusammenpassen die nächste frage ist welchen wert hat k ich bin vorher schon ein bisschen darauf eingegangen wie man das feststellen kann 8:37 die wahl von katar hat natürlich große auswirkungen auf das ergebnis wenn ich k gleich drei wehle und das beispiel hier unten habe das heißt ich habe hier rote 8:50 punkte ich habe hier blaue punkte dann bekomme ich mit gleich drei folgendes ergebnis auf der rechten seite ich sehe ich habe zwar eine unterteilung 9:03 die grob sinn ergibt aber ich habe hier mehrere inseln in meinen gebieten die ein bisschen ungewöhnlich sind das ist eine art von eur fitting das 9:17 ganze sieht er so ein bisschen aus wie adriaküste oder so ich würde urlaub machen ich würde es aber nicht als prognose verfahren verwenden wenn ich km 9:27 höhe auf 5 sieht es verfahren etwas besser aus ich habe nicht mehr ganz so viele inseln hier aber die küstenlinie ist immer noch relativ zerfurcht dh das 9:40 hängt so ein bisschen von einzelnen punkten ab warum jetzt hier gerade eine ausbuchtung ist oder nicht das heißt ich erhöhe man kann auch mal 9:49 die auch gleich sieben sieht nicht wirklich besser aussieht eigentlich war fast ein bisschen schlechter aus mit der stelle hier der stelle da das heißt es 9:58 hat nicht so richtig viel gebracht ich muss noch mal hoch schrauben das ist jetzt der richtige wert für k wissen wir nicht so genau muss man 10:04 rumprobieren wenn ich gleich 13 nehme als ein beispiel dann kriege ich ein ergebnis was jetzt optisch eigentlich schon ganz gut 10:12 aussieht aber es sieht halt optisch gut aus es ist wirklich ein gutes prognoseverfahren schon oder nicht das ist eine schwierige frage 10:20 das heißt das verfahren an sich ist einfach aber das richtige zu finden ist nicht so einfach eine weitere wichtige frage in der 10:27 praxis ist wie berechne ich den abstand zwischen kategorialen merkmalen wenn ich zum beispiel das merkmal familienstand habe ledig verheiratet geschieden und 10:39 verwitwet was ist denn der abstand zwischen ledig und geschieden ist er größer als zwischen verheiratet und verwitwet oder ledig und verwitwet das 10:49 ganze ist nicht ganz trivial ich kann es auch hier keine schnelle lösung präsentieren es gibt aber lösungen dafür war das ein sehr häufiges 10:55 problem ist ich habe eigentlich in fast allen relevanten daten setzen irgendwelche kategorien das heißt ich muss mir irgendwas schlaues überlegen 11:02 wie ich diesen abstand hier messen kann wir sind auch ein paar fragen offen bleiben das nächste ist welches abstands maß 11:10 nehme ich es gibt wirklich viele abstands maße ich habe hier mal eine liste gemacht und man sieht das ist eine ganze menge neuer kritische distanz 11:20 das ist das was wir verwendet hatten da kommt aber noch deutlich mehr dazu ja noch eins ja nicht am ende sind erst bisschen erst bei kl 11:32 ja ok ja so langsam noch eins okay das war's das sind alles abstands maße welches abstands mars ist für mein problem das richtige auch das ist eine 11:46 frage die nicht ganz leicht zu entscheiden ist manche abstands maße eignet sich nicht für alles da ist es dann relativ leicht zu sagen das können 11:53 auf keinen fall verwenden aber es ist wirklich nicht trivial zu sagen dass das eine abstands maß besser ist als das andere von vornherein es gibt abstoß 12:03 maße die relativ kompliziert zu berechnen sind wohl die berechnung schwierig ist es gibt abstands maße da ist die berechnung sehr einfach zum 12:10 beispiel hier diese taxi cab oder manhattan distance dies sehr einfach zu berechnen das heißt wenn ich große datenmengen habe dann ist es praktisch 12:17 aber auch hier wieder der algorithmus ist einfach aber die details sind nicht einfach was man das ganze noch mal ein bisschen zusammen kennen ist ein schöner 12:27 weil einfacher und nachvollziehbarer algorithmus die entscheidende frage ist welcher wert von k ist der richtige dazu mussten wir überlegen welche abstände 12:37 sind die richtigen und wie berechneten abstand bei kategorialen merkmalen außerdem braucht ein bewertungskriterium ich muss entscheiden können ob mein 12:47 verfahren gut funktioniert oder nicht gut funktioniert damit ist kein typisches maschinelles lernen verfahren die grundidee ist relativ einfach die 12:58 details machen die sache ein bisschen kompliziert ist aber auch das schöne an diesem verfahren die grundidee ist einfach und dann kann ich herum 13:08 experimentieren dann kann ich irgendeine gute idee haben dann kann ich ein bisschen was ausprobieren dann kann ich mir was schlaues überlegen für die 13:15 abstands maße usw und dadurch mein algorithmus besser machen außerdem sind diese einfachen verfahren deswegen wichtig weil sie häufig halt 13:23 echt gut funktionieren wenn ich mir was schön kompliziertes überlege was auf dem papier gut aussieht und vielversprechend klingt und dann vergleiche option 13:32 einfach algorithmus weekend vielleicht genauso gut funktioniert dann ist es am ende natürlich relativ peinlich wenn ich mir da was kompliziertes überlegt habe 13:41 und mit dem einfachen algorithmus alles genauso gut funktioniert deswegen ist es wichtig sich immer von vornherein auch diese einfachen algorithmen anzuschauen 13:49 häufig sind wir schon so gut dass man gar nicht so sehr bei den komplizierteren nachschauen muss es klappt aber auch nicht immer es gibt 13:56 einfach probleme die kompliziert sind bei denen eigentlich alle algorithmen große schwierigkeiten haben das war kanye west bis zum nächsten mal 14:11 [Musik]