Fachhochschule Köln. Konzepte des maschinellen Lernens. Ausarbeitung. Florian Keller



Ähnliche Dokumente
6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Grundlagen der Theoretischen Informatik, SoSe 2008

Primzahlen und RSA-Verschlüsselung

Künstliche Intelligenz Maschinelles Lernen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

1 topologisches Sortieren

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Algorithmische Kryptographie

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Professionelle Seminare im Bereich MS-Office

1 Mathematische Grundlagen

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Urlaubsregel in David

GEVITAS Farben-Reaktionstest

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): ISBN (E-Book):

Neuronale Netze (I) Biologisches Neuronales Netz

Zeichen bei Zahlen entschlüsseln

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Kapiteltests zum Leitprogramm Binäre Suchbäume

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Tutorial: Homogenitätstest

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Jan Parthey, Christin Seifert. 22. Mai 2003

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Newsletter. 1 Erzbistum Köln Newsletter

Die Theorie der Praxis. Die Welt ist so komplex, dass man sie mittels bloßer Wahrnehmung nicht erfassen kann.

Lizenzen auschecken. Was ist zu tun?

Plotten von Linien ( nach Jack Bresenham, 1962 )

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

WordPress. Dokumentation

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Mediator 9 - Lernprogramm

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374

Installation und Inbetriebnahme von SolidWorks

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Data Mining: Einige Grundlagen aus der Stochastik

Datensicherung. Beschreibung der Datensicherung

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Grundbegriffe der Informatik

Task: Nmap Skripte ausführen

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Repetitionsaufgaben Wurzelgleichungen

Hilfe zur Urlaubsplanung und Zeiterfassung

Konzepte der Informatik

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Künstliches binäres Neuron

Simulation LIF5000. Abbildung 1

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Speicher in der Cloud

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Mining High-Speed Data Streams

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Studieren- Erklärungen und Tipps

Persönliches Adressbuch

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Durchführung der Datenübernahme nach Reisekosten 2011

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

MPDS4 EXAMPLE DATENBANK

! " # $ " % & Nicki Wruck worldwidewruck

Guide DynDNS und Portforwarding

Beschreibung des MAP-Tools

Eigene Dokumente, Fotos, Bilder etc. sichern

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

How to do? Projekte - Zeiterfassung

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Einfache kryptographische Verfahren

Projektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes:

Spamfilter einrichten

macs Support Ticket System

A1.7: Entropie natürlicher Texte

Wie unser Gehirn lernt

Die Methode des Robusten Trends und der CAC40 (Frankreich)

Informationsblatt Induktionsbeweis

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Bedienungsanleitung Anrufbeantworter für digitale Telefone Alcatel 4039

Transkript:

Fachhochschule Köln 07 Fakultät für Informations-, Medien-, und Elektrotechnik Institut für Nachrichtentechnik Studiengang Master Technische Informatik Konzepte des maschinellen Lernens Ausarbeitung vorgelegt von: Florian Keller (Matr.-Nr.: 11056052) Köln, den 19. Dezember 2012

Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist maschinelles Lernen?...................... 1 1.2 Wo wird maschinelles Lernen verwendet?................ 2 2 Maschinelle Lernverfahren 3 2.1 Überwachtes Lernen (Supervised Learning)............... 3 2.2 Nicht überwachtes Lernen (Unsupervised Learning).......... 4 2.3 Bestärkendes Lernen (Reinforcement Learning)............ 5 3 Algorithmen und Ansätze 7 3.1 k-nearest Neighbor Klassifikation.................... 7 3.2 Entscheidungsbäume zur Klassifikation................. 7 3.3 Naive Bayes-Klassifikatoren....................... 9 3.4 Künstliche neuronale Netze....................... 10 4 Software aus dem Bereich des maschinellen Lernens 15 5 Schlusswort 16

1 EINLEITUNG 1 1 Einleitung 1.1 Was ist maschinelles Lernen? Im Jahre 1950 wurde von dem Wissenschaftler Alan Turing der nach ihm benannte Turing Test entwickelt. Dieser war darauf ausgelegt eine zufriedenstellende operative Definition von künstlicher Intelligenz (KI) bei einem Computer festzustellen. Der Computer besteht den Test, wenn ein Mensch, der einige schriftliche Fragen stellt, nicht erkennen kann, ob die schriftlichen Antworten von einem Menschen stammen oder nicht. Um diesen Test bestehen zu können, muss ein Computer die folgenden Eigenschaften besitzen [1]: ˆ Verarbeitung natürlicher Sprachen, wodurch es ihm ermöglicht wird erfolgreich in Englisch zu kommunizieren ˆ Wissensrepräsentation, mit der er speichern kann was er weiß oder was er hört ˆ Automatisches logisches Schließen, um anhand der gespeicherten Informationen Fragen zu beantworten und neue Schlüsse zu ziehen ˆ Maschinenlernen, um sich an neue Umstände anzupassen sowie Muster zu erkennen und zu extrapolieren Allerdings findet das maschinelle Lernen auch außerhalb des Fachgebiets der KI Anwendung, wo es teilweise mit Mustererkennung gleichgesetzt wird. Zur Aufgabe des maschinellen Lernens gehört der Entwurf von Algorithmen und Techniken sowie deren Anwendung, die Computern das Lernen ermöglichen. Definition 1 (Maschinelles Lernen) Anwendung und Erforschung von Verfahren, durch die Computersysteme befähigt werden, selbstständig Wissen aufzunehmen und zu erweitern, um ein gegebenes Problem besser lösen zu können als vorher. [2] Auf die Eigenschaft des maschinellen Lernens (eng.: machine learning) wird in dieser Ausarbeitung näher eingegangen.

2 1 EINLEITUNG 1.2 Wo wird maschinelles Lernen verwendet? Die besondere Fähigkeit künstlicher Systeme ihr Wissen und ihre Fähigkeiten durch maschinelles Lernen zu erweitern findet in vielen Gebieten ihre Anwendung. Es gibt außergewöhnliche und futuristische Projekte im Fachbereich der Robotik und Luftfahrt, aber auch in vielen alltäglich genutzten Gebieten. Fast jeder Mensch ist mit selbst lernenden System bereits in Kontakt gekommen. Heutzutage wird jede E-Mail, die weltweit verschickt wird, durch ein künstliches System analysiert und klassifiziert. Auf diese Weise gibt es lernende Spamfilter, die anhand der klassifizierten Nachrichten ihre Filter stetig erweitern und verbessern. Suchmaschinen, die das Internet nach gewünschten Informationen durchsuchen, passen ihre Algorithmen dauernd an, um schnellere und bessere Ergebnisse zu finden. Jede Person, die einen Tablett-Computer oder einen PDA mit Handschrifterkennung nutzt, besitzt auch ein System, dass sein Wissen und seine Fähigkeit durch maschinelles Lernen verbessert. Diese Technik funktionierte bis 1995 noch sehr schlecht, wurde im Jahre 1996 allerdings durch ein neuronales Netz im Apple Newton PDA wesentlich verbessert. Heutzutage werden Brettspiele als neue Versuchsfelder für künstliche Systeme genutzt. 1998 wurde der damalige Schachweltmeister durch einen Computer in 99 von 100 Spielen geschlagen, da das System aus jedem Spiel lernte. Das Computersystem TD-Gammon geht noch einen Schritt weiter. Dieses System nutzt temporal difference (TD) Algorithmen und trainiert während es gegen sich selbst Backgammon spielt. Wie bereits angesprochen, finden Systeme mit maschinellem Lernen auch in höher entwickelten Bereichen und der Forschung ihren Einsatz. So wird an selbstständigen Fahrzeugen gearbeitet, die sich in unbekannter Umgebung zurechtfinden. Dieses Gebiet umfasst viele Teilgebiete wie Steuerung, Aktorik, Situationserkennung, Planung und Navigation. Überblick über Anwendungsgebiete des maschinellen Lernens: ˆ Sammeln, Speichern und Verarbeiten von großen Datenmengen ˆ Data Mining: Extraktion von Wissen aus Daten ˆ Selbst-adaptierende Programmee und Filter, die sich an Nutzer und Situationen anpassen ˆ Anwendungen, die zu schwirig zu programmieren sind, wie Spracherkennung oder Fahrzeugsteuerungen können durch selbstlernende Systeme realisiert werden ˆ Kognitionswissenschaften: Erforschung der Theorie des Wissenserwerbs durch Übung und Lernen ˆ Besseres Verständnis des menschlichen Lernens und Lehrens

2 MASCHINELLE LERNVERFAHREN 3 2 Maschinelle Lernverfahren Maschinelles Lernen ist ein Oberbegriff für die künstliche Generierung von Wissen aus Erfahrungen. Aus der psychologischen Sicht lässt sich Lernen wie folgt definieren: Definition 2 (Lernen) Jede Verhaltensänderung, die sich auf Erfahrung, Übung oder Beobachtung zurückführen lässt. [3] Diese Definition trifft auch auf das maschinelle Lernen zu. Damit künstliche Systeme im Betrieb die richtigen Entscheidungen treffen, müssen diese zuerst angelernt werden. Dies geschieht, indem sie aus Beispielen lernen und die daraus resultierenden Ergebnisse nach Beendigung der Lernphase anwenden können. Allgemein lassen sich die Lernmethoden in drei unterschiedliche Arten unterteilen:überwachtes, nicht überwachtes und bestärkendes Lernen. 2.1 Überwachtes Lernen (Supervised Learning) Beim überwachten Lernen werden dem künstlichen System von einem externen Lehrer Datenpaare übergeben. Diese bestehen aus einer Eingabe und der gewünschten Ausgabe. Das System lernt aus diesen Datenpaaren eine Funktion, welche die Eingabe auf die Ausgabe abbildet. Mit jedem weiteren Datenpaar kann diese Funktion angepasst und das später selbst ermittelte Ergebnis verbessert werden. Üblicherweise ist diese Art des Lernen die schnellste Methode, um ein künstliches System für seine Aufgabe zu trainieren. Ein Nachteil dieser Lernmethode ist, dass dem Trainer vorher bekannt sein muss, welche genauen Muster von dem System erkannt werden sollen. Die Aufgabe beim überwachten Lernen kann mathematisch wie folgt ausgedrückt werden: Für eine Trainingsmenge mit N Beispielen von Eingabe/Ausgabe-Paaren (x 1,y 1 ),(x 2,y 2 ),...,(x n,y n ) in der jedes y j durch eine unbekannte Funktion x = f(x) generiert wurde, ist eine Funktion h zu entdecken, welche die wahre Funktion f annähert. Hierbei können x und y jeden beliebigen Wert annehmen. Die Lernprobleme lassen sich nochmals in drei Wertemengen unterteilen. Gehört die Ausgabe y zu einer endlichen Menge von Werten, so spricht man bei dem Lernproblem von Klassifizierung. Gibt es nur zwei mögliche Ausgabewerte, bezeichnet man das Lernproblem als boolesche oder binäre Klassifizierung. Ist der Ausgabewert y allerdings eine Zahl wird das Lernproblem als Regression bezeichnet. Hier sucht man in der Regel nach einem Erwartungs- oder Durchschnittswert von y, da die Wahrscheinlichkeit den genauen Wert für y zu finden gegen 0 geht. Ein Beispiel bei dem diese Lernmethode Anwendung findet, ist die automatische Erkennung von Text und Zahlen. Hierfür werden dem künstlichen System Datenpaare,

4 2 MASCHINELLE LERNVERFAHREN bestehend aus gescannten Buchstaben und Zahlen sowie dem gewünschten digitalen Ergebnis, zum Lernen übergeben. Die Trainingsdaten bestehen meist aus mehreren Tausend verschiedenen Datenpaaren, welche mehrmals in der Lernphase verwendet werden, damit das künstliche System die Ein-Ausgabe-Funktion verfeinern kann. Dieses Beispiel behandelt das Lernproblem der Klassifikation, da die möglichen Ergebnisse (Buchstaben, Zahlen und ggf. Sonderzeichen) aus einer endlichen Menge bestehen. 2.2 Nicht überwachtes Lernen (Unsupervised Learning) Im Gegensatz zum überwachten Lernen gibt es beim nicht überwachten Lernen keinen externen Lehrer. Das künstliche System lernt allein durch die Eingabemuster. Während der Lernphase versucht das System, die Eingabemuster in ähnliche Kathegorien zu klassifizieren. Dieser Vorgang wird auch als Clustern bezeichnet. Jedes mal, wenn ein Eingabemuster analysiert und klassifiziert wurde, werden die selbst definierten Klassen neu berechnet. Diese Lernmethode lässt sich auf jede beliebige Datenmenge anwenden. Das nicht überwachte Lernen findet beispielsweise bei der Klassifizierung von Münzen seine Anwendung. Stehen Informationen wie Farbe, Durchmesser und Gewicht für jede Münze einer großen Menge von Münzen in einer Lernphase zur Verfügung, kann ein künstliches System diese Informationen auswerten und clustern. Dadurch entstehen selbst definierte Klassen, welche für die Identifizierung von Münzen nach der Lernphase verwendet werden können. Welche Klasse im Endeffekt welchen Münzwert beschreibt und um wie viele verschiedene Münztypen es sich handelt, bleibt beim nicht überwachten Lernen allerdings unbekannt. Abbildung 2.1: Merkmalsraum mit analysierten Münzen und zwei ermittelten Klassen

2 MASCHINELLE LERNVERFAHREN 5 In Abbildung 2.1 ist ein Merkmalsraum, der mit den Eigenschaften Durchmesser und Farbton aufgespannt wurde, dargestellt. Anhand von ermittelten Werten wurden hier Münzen eingetragen. Die Zahlen in den verschiedenen Merkmalsvektoren stehen dafür, wie viele Münzen dieselben Werte aufgewiesen haben. Anhand der Verteilung kann man die Ergebnisse clustern, also Klassen bilden. 2.3 Bestärkendes Lernen (Reinforcement Learning) Beim bestärkenden Lernen lernt das künstliche System aus einer Reihe von Belohnungen oder Bestrafungen. Das bedeutet, dass der Lehrer nach der Klassifikation eines Testmustern nur angibt, ob diese richtig oder falsch war. Das System hat die Aufgabe, zu ermitteln, welche seiner Aktionen zum Erfolg oder Misserfolg geführt haben. Diese Methode des Lernens kommt insbesondere im Bereich der Robotik zum Einsatz. Diese haben über verschiedene Sensoren die Möglichkeit, ihre Umwelt wahr zu nehmen, und Motoren, um sich in dieser zu bewegen bzw. mit ihr zu interagieren. Dies ermöglicht das Übernehmen einfacher Routinen bis hin zu gefährlichen Arbeiten. Es gibt auch typisch menschliche Aktionen wie z.b. Fußball spielen, die noch eine Herausforderung für solche künstliche autonome Systeme darstellen und an denen man die neuesten Algorithmen testen kann. Wurde für einen Roboter eine Aufgabe definiert, liegt es an ihm zu lernen diese so zu bewältigen, wie es seiner Bestimmung entspricht. Dafür wird eine sogenannte Belohnungsfunktion definiert, mit der man jede Aktion des Roboters bewertet. Ein mögliches Verhalten des Systems könnte wie folgt aussehen: Zu Beginn befindet sich der Roboter in einem bestimmten Zustand und beobachtet seine Umgebung, mit Hilfe seiner Sensoren. Anhand dieser Informationen und seines momentanen Zustands entscheidet sich der Roboter für eine Aktion mit einer entsprechenden Belohnung. Es muss also eine Strategie geben, nach der der Roboter entscheidet. Nach jeder Aktion befindet sich der Roboter in einem neuen Zustand, den er errechnet oder über seine Sensoren bestimmt. Die erhaltene Belohnung wird gespeichert. Von diesem Punkt aus wird der Ablauf einfach wiederholt: über die Sensoren seine Umwelt ermitteln, ausführen einer Aktion anhand einer Strategie, erhalten einer Belohnung, errechnen des neuen Zustands. Diese Schritte werden von dem Roboter solange wiederholt bis dieser sein Ziel erreicht hat. Dieses Vorgehen soll in einem einfachen Beispiel konkretisiert werden: Ein Roboter soll auf kürzestem Wege von A nach B gelangen. Ein direkter Weg wird durch Hindernisse versperrt (siehe Abbildung 2.2). Der Zustand des Roboters ist durch eine Position im Raum gegeben. Mit einer Aktion hat er die Wahl diesen Zustand durch einen Schritt in eine der vier möglichen Richtungen zu verändern. Die Frage lautet nun, in welche der vier möglichen Richtungen soll er sich bewegen um so seinen Zustand verändern. Als Mensch, der die Position des Roboters und die Lage des Ziels erkennt ist diese Entscheidung leicht zu treffen. Für den Roboter ist das Ziel möglicherweise unbekannt. Es ist ihm nur

6 2 MASCHINELLE LERNVERFAHREN Abbildung 2.2: Suche nach einem Weg von A nach B um Hindernisse [4] möglich, seine Position anhand seiner Sensoren zu bestimmten. Er muss erst in vielen Episoden Erfahrungen sammeln und dabei lernen, welche Richtung für welche Positionen besonders günstig ist. Für den Roboter bedeutet das, dass dieser mit irgend einer Strategie beginnen und diese in einem Durchlauf testen muss. Die Strategie bestimmt dabei, in welchem Zustand welche Aktion zu wählen ist. Aus seinen Ergebnissen kann das System nun lernen und seine Strategie für einen weiteren Durchlauf anpassen. Dies wird so lange wiederholt, bis keine Verbesserungen mehr möglich sind. Eine wichtige Rolle beim bestärkten Lernen spielt die sogenannte action-value-funktion. Nachdem der aktuelle Zustand ermittelt wurde, wird für jede mögliche Aktion der erwartete Wert der Gesamtbelohung berechnet, wenn das System seine aktuelle Strategie weiter verfolgt. Anders ausgedrückt misst diese Funktion wie gut es ist, in einem gegebenen Zustand eine bestimmte, aber beliebige Aktion zu wählen unter der Hinsicht, dass die aktuelle Strategie weiter verfolgt wird. Auf diese Weise können neue Strategien entdeckt werden, welche sich besser als die momentan verwendete eignen. Eine optimal angepasste Strategie sollte bei der action-value-funktion immer automatisch die Aktion wählen, welche bei der Analyse den höchsten Belohnungswert verspricht.

3 ALGORITHMEN UND ANSÄTZE 7 3 Algorithmen und Ansätze 3.1 k-nearest Neighbor Klassifikation Die k-nearest Neighbor Klassifikation wird beim überwachten Lernen eingesetzt. Wie der Name dieses Verfahrens schon sagt, wird für die Klassifikation der nächste Nachbar gesucht. Während des Lernvorgangs hat das künstliche System aus den Informationen der Lerndaten einen n-dimensionalen Merkmalsraum R 2 aufgestellt (siehe Abbildung 3.1). Die bereits klassifizierten Lerndatenpaare werden in der Lernphase in den Merkmalsraum eingetragen und dienen der Klassifikation weiterer Datensätze. Im einfachsten Fall geschieht dies über einen Mehrheitsentscheid. Für einen Punkt x aus dem Merkmalsraum R n werden hierfür die Entfernungen zu den benachbarten Punkten ermittelt. Der Punkt x wird dann der Klasse zugeordnet zu der die meisten k benachbarten Punkte gehören. Abbildung 3.1: k-nearest Neighbor im Merkmalsraum 3.2 Entscheidungsbäume zur Klassifikation Die Verwendung von Entscheidungsbäumen zur Klassifikation ist eine der einfachsten und doch erfolgreichsten Formen des maschinellen Lernens. Der Entscheidungsbaum repräsentiert hierbei eine Funktion, die als Eingabe eine Menge von Attributen übernimmt und als Ergebnis einen einzigen Ausgabewert zurück gibt. Ein-, Ausgabewerte können hierbei diskret oder statisch sein. Ein Entscheidungsbaum gelangt zu einer Entscheidung, indem er eine Reihe von Tests, ausführt. Jeder interne Knoten im Baum entspricht einem Test des Wertes eines der Eingabeattribute A i. Die vom Knoten abgehenden Zweige werden mit den möglichen Werten des Attributs A i = v k i beschriftet. Jeder Blattknoten im Baum spezifiziert einen Wert, der durch die Funktion als Antwort zurückgegeben werden kann.

8 3 ALGORITHMEN UND ANSÄTZE Als Beispiel wird der Entscheidungsbaum betrachtet, welcher den Fall behandelt, ob ein Restaurant betreten werden soll oder nicht (siehe Abbildung 3.2). Um das Beispiel einfach zu halten wird hier nur eine Boolesche-Klassifikation behandelt. Das bedeutet, dass die von der Funktion zurückgegebenen Antworten nur Ja (true) oder Nein (false) entsprechen. Abbildung 3.2: Ein Entscheidungsbaum der klassifiziert, ob man ein Restaurant betritt oder nicht Folgende Attribute werden der Funktion zum Testen übergeben: ˆ Wechseln: Anderes geeignetes Restaurant in der Nähe? ˆ Bar: Handelt es sich bei dem Restaurant um eine Bar? ˆ Frei/Sams: Ist der heutige Tag Freitag oder Samstag? ˆ Hungrig: Sind wir hungrig? ˆ Gäste: Befinden sich Gäste in dem Restaurant? ˆ Regen: Regnet des gerade? ˆ Reserviert: Haben wir eine reserviert? ˆ Wartezeit: Wie hoch ist die Wartezeit für einen Tisch?

3 ALGORITHMEN UND ANSÄTZE 9 Jedes dieser Attribute hat eine kleine Menge von möglichen Ergebnissen. Manche der Ergebnisse führen zu einer sofortigen Entscheidung, die die Funktion zurückgibt, andere wiederum zu weiteren Tests. Je nach Verlauf des vorherigen Entscheidungspfades kann der Test von Attributen unterschiedliche Ergebnisse liefern. Dies ist beim Testen des Attributs Wechseln der Fall. Der Entscheidungsbaum startet an der Wurzel, bis er einen Blattknoten erreicht hat. Der Entscheidungsbaum wird in der Lernphase von dem künstlichen System aus Beispielen abgeleitet. Dafür werden von einem externen Lehrer Trainingsdatensätze zur Verfügung gestellt. Diese (x, y)-paare setzten sich aus einem Vektor x, bestehend aus Eingabeattributen und einem einzigen Ausgabewert y zusammen. In unserem Beispiel kann y nur die booleschen Werte true oder false annehmen. Es gilt nun anhand der Trainingspaare einen Entscheidungsbaum zu finden, der mit den Beispielen konsistent und so klein wie möglich ist. Hierzu wird immer das wichtigste Attribut zuerst getestet. Als wichtigstes Attribut wird das Attribut bezeichnet, das bei der Klassifizierung der Beispiele den größten Unterschied verursacht. 3.3 Naive Bayes-Klassifikatoren Die Bayes-Klassifikation ist eine statistische Klassifikationsmethode, welche die Wahrscheinlichkeit vorhersagt, mit der ein Objekt zu einer bestimmten Gruppe gehört. Die Bayes-Klassifikation basiert auf der Formel von Bayes, mit der die bedingte Wahrscheinlichkeit eines Ereignisses unter einer Bedingung berechnet werden kann. Naive Bayes-Klassifikatoren vereinfachen das Problem, indem sie die Gültigkeit der Unabhängigkeitsannahme voraussetzen. Diese besagt, dass die Auswirkung eines Merkmales auf die Klassifizierung unabhängig von den Ausprägungen anderer Attributwerte ist. Diese Annahme ist in gewissem Sinne naiv, da sie in der Realität selten gültig ist. Sie reduziert die Komplexität des Problems jedoch erheblich [5]. Naive Beyes-Klassifikatoren repräsentieren jedes Ojekt durch einen n-dimensionalen Vektor, wobei n die Anzahl der Merkmale a j eines Objekts ist. Danach wird ein Objekt derjenigen Klasse c i C zugeordnet, zu der es mit der höchsten Wahrscheinlichkeit gehört Die bedingten Wahrscheinlichkeiten P(aj ci) werden aus den Trainingsbeispielen geschätzt. Der naive Bayes-Klassifikator ist im Vergleich mit anderen Klassifikationsmethoden theoretisch der genaueste Klassifikator. In der Praxis ist dies jedoch oftmals aufgrund von Verletzungen der Unabhängigkeitsannahme und aufgrund fehlender oder fehlerhafter Daten über die bedingten Wahrscheinlichkeiten nicht der Fall. Naive Beyes-Klassifikatoren finden in der Textanalyse ihre Anwendung und sind dort weit verbreitet. Wegen ihrer hohen Trainings- und Klassifizierungsgeschwindigkeit sowie der Eigenschaft, ihren Klassifikator mit jedem neu klassifizierten Objekt zu verbessern, werden sie häufig in Spam-Filtern eingesetzt.

10 3 ALGORITHMEN UND ANSÄTZE Vorteile und Nachteile des Naiven Bayes-Klassifikators: ˆ + Einfache Implementierung ˆ + In vielen Fällen gute bis sehr gute Ergebnisse ˆ + Inkrementelles lernen, (jede neue Klassifikation verfeinert den Klassifikator) ˆ - Abhängigkeiten zwischen Merkmalen werden nicht berücksichtigt ˆ - Durch Unabhängigkeitsannahme ist die Klassifikationsgenauigkeit eingeschränkt ˆ - Bei hochdimensionierten Problemen (viele Attribute) nicht mehr effizient 3.4 Künstliche neuronale Netze Herkömmliche Computer erledigen exakte berechenbare Aufgaben um ein vielfaches schneller und zuverlässiger als das menschliche Gehirn. Geht es allerdings um typische menschliche Fähigkeiten, wie das Erkennen von Gesichtern, stoßen konventionelle Computer an ihre Grenzen. Herkömmliche Algorithmen scheitern, sobald das zu analysierende Bild nicht mehr der erforderten Qualität entspricht. Der Mensch erkennt dagegen Gesichter auch bei schlechter Qualität oder Sicht problemlos. Die Frage, die sich dadurch stellt ist, wie das menschliche Gehirn organisiert ist, um solche Aufgaben zu meistern und wie sich diese Funktionen auf einen Computer übertragen lassen[6]. An dieser Stelle kommen Künstliche Neuronale Netzte (KNN) zum Einsatz. Diese sollen die Organisations- und das Verarbeitungsprinzipien des menschlichen Gehirns imitieren. Im Hinblick auf ein zu untersuchendes Problem ist es für neuronale Netze weder notwendig, genauere Untersuchungen durchzuführen, noch ein formales Modell explizit darzustellen. Es werden auch keine aufwendigen Algorithmen benötigt. Es wird versucht beliebige Zusammenhänge zu approximieren. Es besteht allerdings auch keine Garantie für einen Lernerfolg und Lösungen können unterschiedlich ausfallen. Abbildung 3.3: Vereinfachter Aufbau eines künstlichen neuronalen Netzes

3 ALGORITHMEN UND ANSÄTZE 11 Künstliche Neuronale Netze bestehen aus mehreren Schichten von Neuronen (siehe Abbildung 3.3). Hierbei sind nur die Ein- und Ausgabe-Schicht für den Benutzer sichtbar. Alle Schichten, die zwischen Ein- und Ausgabe-Schicht liegen werden als verdeckte Schicht bezeichnet. Jede Schicht besteht aus einer Anzahl einzelner künstlicher Neuronen. Die Anzahl Neuronen in der Eingabeschicht bestimmen die Menge an Attributen, die in das Neuronale Netz eigegeben werden könne. Die Anzahl Neuronen in der Ausgabeschicht bestimmt die Anzahl der möglichen Ergebnisse. Jedes Neuron einer Schicht ist mit jedem Neuron der folgenden Schicht verbunden. Jede dieser Verbindungen wird mit einer Gewichtung versehen, die für den Lernund Entscheidungsprozess benötigt wird. Im Wesentlichen besteht das künstliche Neuron aus einer Übertragungs- oder Aktivierungsfunktion (siehe Abbildung 3.4). Das Ergebnis dieser Funktion ist der Ausgang des Neurons, der zwischen -1 und +1 liegen kann. In den meisten Fällen handelt es sich bei dieser Funktion um den tanh. Mit der Gewichtung W ij wird die Wirkung des Neurons festgelegt. Im allgemeinen Fall der Neuronalen Netze können die Ausgänge der dargestellten Neuronen wieder Eingänge weiterer Neuronen sein. Dies nennt man mehrschichtige Netze, die jedoch hier nicht weiter behandelt werden sollen. Die Aktivierungsfunktion stellt den Zusammenhang zwischen dem Netzinput und dem Aktivitätslevel eines Neurons dar. Die Aktivitätsfunktion kann in einem 2- dimensionalen Diagramm gezeigt werden. Hierbei beschreibt die x-achse den Netzinput der Einheit und die y-achse der Aktivitätslevel. Der Aktivitätslevel wird durch eine Übertragungsfunktion in den Output transformiert, den das Neuron an die Neuronen der nachfolgenden Ebene weitersendet. Abbildung 3.4: Aufbau eines Neurons in einem künstlichen neuronalen Netz. Eingabevektoren X i, Netzeingabe net, Gewichte der Verbindungen W ij, Aktivierungsfunktion f, Ausgabe O j

12 3 ALGORITHMEN UND ANSÄTZE Man unterscheidet zwischen verschiedenen Aktivierungsfunktionen[8]: 1. Lineare Aktivierungsfunktion: Hier ist der Zusammenhang zwischen Netzinput und Aktivitätslevel linear (siehe Abbildung 3.5a). 2. Lineare Aktivierungsfunktion mit Schwelle: Bevor der Zusammenhang zwischen den beiden Größen linear wird, muss eine zuvor festgelegte Schwelle überschritten werden. Dies kann sinnvoll sein, wenn ein zu niedriger Netzinput (z.b. ein Rauschen) nicht als Signal weitergeleitet werden soll (siehe Abbildung 3.5b). 3. Binäre Schwellenfunktion: Hier gibt es nur zwei Zustände des Aktivitätslevels: 0 (bzw. manchmal auch -1) oder 1 (siehe Abbildung 3.5c). 4. Sigmoide Aktivierungsfunktion: Diese Art von Aktivierungsfunktion wird in den meisten Modellen verwendet, die kognitive Prozesse simulieren. Man kann dabei die logistische Funktion (siehe Abbildung 3.5d) und die Tangens-Hyperbolicus- Funktion (siehe Abbildung 3.5e) unterscheiden. Beide Funktionen verhalten sich jedoch relativ ähnlich: Ist der Netzinput groß und negativ, dann ist der Aktivierungslevel nahe 0 (logistische Funktion) bzw. -1 (Tanges-Hyperbolicus- Funktion), steigt dann zunächst langsam an (eine Art Schwelle), danach wird der Anstieg steiler und gleicht einer linearen Funktion. Bei einem hohen Netzinput nähert sich der Wert dann asymptotisch der 1 an. Abbildung 3.5: Liniendiagramme der Aktivierungsfunktionen künstlicher neuronaler Netze Auf der Eingangsseite hat jedes Neuron von jedem Faktor über Kreuz ebenfalls gewichtete Eingänge sowie zusätzlich einen konstanten Wert (Bias-Unit [8]). Die Bias-Unit erhält selber keinen Input. Ihr Aktivitätslevel beträgt immer +1. Die Gewichtung zwischen der Bias-Unit und einem Neuron kann positiv oder negativ sein. Sollte ein Neuron keinen starken Input durch andere Neuronen erhalten, so stellt die Bias-Unit bei einer positiven Gewichtung sicher, dass das Neuron aktiv bleibt. Durch eine negative Gewichtung der Bias-Unit kann ein Neuron in einen inaktiven Zustand versetzt und dort gehalten werden. Mit einer negativ gewichteten Bias-Unit

3 ALGORITHMEN UND ANSÄTZE 13 kann auch eine Schwelle realisiert werden, die von den anderen verknüpften Neuronen erst überschritten werden muss. Diese Schwelle ist im Gegensatz zu der Schwelle einer Aktivierungsfunktion veränderbar, da die Gewichtung der Bias-Unit genau wie die Gewichtungen der Neuronen durch Lernen modifizierbar ist. Bei Neuronalen Netzen kann man zwischen Trainingsphase und Lernphase unterscheiden: Trainingsphase: In dieser Phase werden dem neuronalen Netz von einem externen Lehrer Übungsdatensätze zur Verfügung gestellt. Nach diesen Datensätzen werden die Gewichte zwischen den einzelnen Neuronen modifiziert. Lernregeln geben dabei an, wie das neuronale Netz diese Veränderungen durchführt. Im Gegensatz zu anderen Lernalgorithmen kann das neuronale Netz nicht nur zur Klassifizierung (überwachtes Lernen) sondern auch beim Clustering (unüberwachtes Lernen) verwendet werden. Beim überwachten lernen wird zu den Trainingsdatensätzen der korrekte Output nicht vorgegeben, so dass nach diesem die Gewichte modifiziert werden können. Beim unüberwachten Lernen wird kein Output vorgegeben. Die Modifizierung der Gewichte erfolgt in Abhängigkeit der Ähnlichkeit der Gewichte mit den Inputreizen. Testphase: In der Testphase werden die Gewichte nicht weiter modifiziert. Stattdessen wird hier auf Grundlage der bereits modifizierten Gewichte aus der Trainingsphase untersucht, ob das Netz etwas gelernt hat. Dafür übergibt man dem neuronalen Netz Datensätze (Reize) und prüft, welchen Output das Netz berechnet. Bei diesen Reizen kann zwischen zwei verschiedenen Arten unterschieden werden [8]: ˆ Ausgangsreize: Durch erneutes Präsentieren der zu lernenden Ausgabereize wird geprüft, ob das neuronale Netz das Trainingsmaterial erfasst hat. ˆ Neue Reize: Durch Präsentation neuer Reize kann man feststellen, ob das Netz über die zu lernenden Reize hinaus in der Lage ist Aufgaben zu lösen. Anders formuliert: Findet eine Generalisierung auf neue Reize statt?

14 3 ALGORITHMEN UND ANSÄTZE Merkmale eines künstlichen neuronalen Netzes[7]: ˆ Ein Neuronales Netz ist ein dynamisches System, dass in der Lage ist eine beliebige Funktion y=f(x) auszuführen. ˆ Die Struktur eines Neuronalen Netzes ist durch die Anzahl der Elemente durch die besondere Topologie und durch die Art der Aktivierungs-Funktion definiert. ˆ Ein Neuronales Netz wird nicht programmiert, sondern man trainiert es. Statt einer Regel oder eines allgemeinen Algorithmus fordert das Training eine bestimmte Menge an Daten. ˆ Das Wissen eines Neuronalen Netzes (langzeitiger Speicher, Programm) sitzt in der Gesamtheit und in der Aktivierungsschwelle der Elemente. Dieses Wissen hat keine deutliche symbolische Form, sondern ist eine Verkettung von Faktoren, Konstanten und Gewichten, deren Zusammenhang im Vergleich zum Modell einer multiplen Regression nicht einfach zu erkennen ist. ˆ Die Daten eines Neuronalen Netzes (d.h. die Informationen über ein einzelnes Beispiel, kurzzeitiges Gedächtnis) sitzen in den Aktivierungswerten, die die Elemente nach einem Inputreiz annehmen. ˆ In den Neuronalen Netzen gibt es keinen Unterschied zwischen Hardware und Software. Sie können als eigenständige Maschinen angesehen werden oder als Modelle, die via Software auf einem Computer simuliert worden sind.

4 SOFTWARE AUS DEM BEREICH DES MASCHINELLEN LERNENS 15 4 Software aus dem Bereich des maschinellen Lernens Im Folgenden werden einige Programme aufgelistet, die das maschinelle Lernen in verschiedenen Bereichen und Funktionen anwenden [9]. ˆ GNU R ist eine auf vielen Plattformen verfügbare, freie Statistik-Software mit Erweiterungen zum maschinellen Lernen (z. B. rpart, randomforest) und Data-Mining. URL: http://www.r-project.org/ ˆ KNIME - Open Source Data Mining, Workflow und Data Pipelining Software. URL: http://knime.org ˆ RapidMiner (früher YALE) ist ein einfach zu bedienendes und frei erhältliches Tool für maschinelles Lernen und Data-Mining. URL: http://rapid-i.com/ content/view/181/190/ ˆ Shogun ist eine Open-Source-Toolbox für Kernel-Methoden. URL: http:// www.shogun-toolbox.org/ ˆ Shark ist eine freie C++ Bibliothek, die eine Vielzahl von maschinellen Lernverfahren implementiert. URL: http://shark-project.sourceforge.net/ ˆ scikit-learn ist eine auf Python basierte freie Bibliothek mit vielen Maschinenlernverfahren und Anwendungsbeispielen. URL: http://scikit-learn. org/stable/

16 5 SCHLUSSWORT 5 Schlusswort Bereits 1956 wurde über die Möglichkeiten und die Realisierung von künstlicher Intelligenz debattiert. Trotzdem ist für viele der reine Gedanke an Maschinen mit künstlicher Intelligenz auch heute noch nur eine Fiktion und es wird noch einige Jahre der Entwicklung brauchen, bis man auf diesem Gebiet so weit ist, dass ein Computer den Turing Test besteht. Betrachten wir allerdings das maschinelle Lernen, das nur ein kleines Teilgebiet der künstlichen Intelligenz darstellt, für sich, so kann man ein weit verbreitetes Anwendungsgebiet und noch viele weitere Möglichkeiten erkennen. Jeder ist bereits mit selbst lernenden Maschinen in Berührung gekommen oder verwendet sie tagtäglich, ohne sich dessen bewusst zu sein. Ob es ein Spamfilter ist, der unsere E-Mails klassifiziert und uns so vor ungewünschten Programmen und Werbung schützt, oder ein Navigationsgerät, welches sich unsere bevorzugten Straßen merkt und diese in seine Routenplanung mit einbezieht. Selbst lernende Maschinen finden mehr und mehr den Einzug in alle Bereiche, in denen Computer benutzt werden. Viele Verfahren, die heute ihre Anwendung finden, wurden noch vor ein paar Jahren mangels technischer Möglichkeiten verworfen. Mit dem Fortschritt der Computersysteme verschwanden diese Hindernisse teilweise und alte Ideen wurden neu aufgegriffen. So ist es heutzutage möglich, das menschliche Gehirn wenn auch nur teilweise durch künstliche neuronale Netze nachzustellen und Computern das selbst Lernen zu ermöglichen. Mit weiter wachsender Rechenleistung werden sich in Zukunft weitere Möglichkeiten auftun und man wird der echten künstlichen Intelligenz einen Schritt näher kommen.

ABBILDUNGSVERZEICHNIS 17 Abbildungsverzeichnis 2.1 Clustern von Münzen........................... 4 2.2 Weg suche eines Roboters........................ 6 3.1 k-nearest Neighbor im Merkmalsraum................. 7 3.2 Entscheidungsbaum............................ 8 3.3 Künstliches neuronales Netz....................... 10 3.4 Künstliches Neuron............................ 11 3.5 Aktivierungsfunktionen künstlicher neuronaler Netze......... 12

18 LITERATUR Literatur [1] Stuart Russell, Peter Norvig - Künstliche Intelligenz, Ein moderner Ansatz - Pearson 2012 [2] Gabler Wirtschaftslexikon, Das Wissen der Experten - maschinelles Lernen, URL: http://wirtschaftslexikon.gabler.de/archiv/77372/ maschinelles-lernen-v5.html, Abrufdatum: 09.12.2012 [3] Metzler Philosophie Lexikon. Begriffe und Definitionen, Metzlersche J.B. Verlag, 1989 [4] SciLogs Chronologs - Maschinelles Lernen - Josef Honerkamp, URL: http: //www.scilogs.de/chrono/blog/die-natur-der-naturwissenschaft/ ansichten/2012-06-15/maschinelles-lernen, Abrufdatum: 09.12.2012 [5] Mitchell, T. - Machine Learning - McGraw-Hill 1997 [6] Strecker, Stefan - Künstliche Neuronale Netze, Aufbau und Funktionsweise - Lehrstuhl für Allg. BWL und Wirtschaftsinformatik, Johannes Gutenberg- Universität - Mainz 1997 [7] Neuronales-Netz.de, URL: http://www.neuronales-netz.de/ NeuronalesNetz.pdf, Abrufdatum: 13.12.2012 [8] Neuronalesnetz.de, URL: http://www.neuronalesnetz.de/downloads/ neuronalesnetz_de.pdf, Abrufdatum: 13.12.2012 [9] Wikipedia, Maschinelles Lernen, Software - URL: http://de.wikipedia. org/wiki/maschinelles_lernen, Abrufdatum: 13.12.2012