Praktikum 1
Machine Learning (SS 17)
Stefan Edelkamp
27. Februar 2017
Sämtliche Aufgaben sind von der Gruppe selbständig zu lösen. Die Verwendung von Hilfsmitteln und Quellen auÿerhalb der Vorlesungsmaterialien gilt es in
expliziter Weise zu dokumentieren.
Abgabe ist am Dienstag, den 28.2.2017 im Tutorium.
Der Source-Code muss dokumentiert vorliegen und ist am Abgabedatum an edelkamp@tzi.de zu schicken. Nicht lauähige Programme werden nicht bewertet.
1 Begrisdenitionen
1. Beschreiben Sie die Begrie Precision, Recall und False Positive in eigenen Worten. (3 P) 2. Grenzen Sie die Begrie Partitionierendes und Hierarchisches Clustering voneinander ab. (4 P) 3. Erklären Sie den Ähnlichkeitsbegri beim Clustering und geben Sie mindestens jeweils ein (4 P)
Beispiel für eine Distanz, die numerische bzw. kategorische Attribute verwendet.
2 k-Means Clustering
Die Firma WIDM (WoIstDerMarsroboter) hat verschiedene Roboter zum Mars geschickt. Sie weiß allerdings nicht genau, wie viele dort angekommen sind und auch nicht genau wo sich diese auf dem Mars benden. Ihre Aufgabe ist es die zerstreuten Roboter mit Hilfe von einzelnen, empfangenen Funksignalen zu lokalisieren. Die Firma WIDM stellt Ihnen die Positionen der Funksignale zur Verfügung, diese sind in ml/code hinterlegt worden.
1. Implementieren Sie den k-Means Algorithmus in Java. Verwenden Sie hierfür dasClustering- (15 P) Interface aus ml/code und dokumentieren Sie den Source-Code an relevanten Stellen. Der
Source-Code des Algorithmus muss sowohl im Übungsblatt abgedruckt sein als auch in der elektronischen Abgabe als lauähiger Source-Code vorliegen.
2. Die Firma WIDM ist sich nicht sicher, ob Sie zwei oder drei Roboter auf dem Mars hat und (10 P) weiß auch nicht genau wo diese sind. Von Zeit zu Zeit können aber Funksignale empfangen
werden die zur Ortung verwendet werden können (vgl. Daten aus ml/code). Verwenden Sie den k-Means Algorithmus mitk= 2und mitk= 3um eine vermutete Region der zwei bzw.
drei Roboter zu berechnen. Verwenden Sie die Centroidec1= (10/10),c2 = (50/50)undc3= (80/50). Gehen Sie davon aus, dass es keine initiale Clusterzuordnung gibt sondern beginnen Sie einfach mit k-Means um Punktweise eine Clusterzuordnung zu berechnen. Zeichnen Sie sowohl die Referenzdaten mit Clusterzugehörigkeit als auch die ermittelten Centroiden in ein Koordinatensystem ein. Erklären Sie das Ergebnis anhand dieser Zeichnung.
3. Verwenden Sie die initialen Centroide c1 = (10/10), c2 = (20/20) und c3 = (30/30) mit (5 P) k = 3. Das Ergebnis scheint keine gute Schätzung für die Position der Roboter zu sein.
Erklären Sie, was das Problem ist und wie man dieses Problem umgehen kann.
4. Ordnen Sie die Reihenfolge der Referenzdaten so an, dass mit den initialen Centroiden (5 P) c1 = (40/50) und c2 = (100/50) und k= 2 nach einem Durchlauf ein Centroid im Bereich
x >100gefunden wird.
Maschinelles Lernen Praktikum 1
3 Decision Tree Learning
Der ID3 Algorithmus mit Information Gain soll verwendet werden um einen Entscheidungsbaum zu trainieren. Dieser soll verwendet werden um ein Personenratespiel (ähnlich dem Akinator, http://de.akinator.com/) zu erstellen. Es soll ein Entscheidungsbaum trainiert werden, der An- hand von 3 Fragen feststellt (nach Geschlecht, Geburtsort und Haarfarbe), um welche Person es sich handelt.
Geschlecht Geburtsort Haarfarbe Person (Klasse)
Frau Deutsch Hell Angela Merkel
Mann USA Hell Bon Jovi
Mann Belgien Dunkel Jean-Claude Van Damme
Mann USA Dunkel Martin Luther King
1. Trainieren Sie einen Entscheidungsbaum mit dem ID3 Algorithmus und verwenden Sie dabei (20 P) die Information Gain Heuristik. Beschreiben Sie jeden Trainingsschritt mit den zugehörigen
Berechnungen (Entropie, Information Gain).
2. Welche Personengruppe wird anhand des Entscheidungsbaumes als Angela Merkel klassi- (5 P) ziert?
3. Beschreiben Sie unter Verwendung eines neuen Beispiels (eine beliebige Person), wie mit (5 P) dem trainierten Entscheidungsbaum klassiziert wird!
4. Welche Probleme treten auf, wenn Sie Arnold Scharzenegger oder Pipi Langstrumpf als (5 P) Testbeispiel verwenden? Wo liegt der Fehler und wie kann er behoben werden?
Seite 2/2