Maschinen das Lernen lehren
Intelligente Maschinen sind aus unserem Alltag mittlerweile kaum mehr wegzudenken. In vielen Bereichen unterstützen sie Menschen, bessere Entscheidungen zu treffen. Mit Maschinen sind nicht klassische Maschinen in Produktionshallen gemeint, sondern Computer und Rechensysteme bzw. deren Software.
Aber wie funktioniert „Machine Learning“ (ML), also das Lernen von Maschinen? Einfach gesagt wird Computern beigebracht, wie Daten analysiert werden sollen. Maschinen untersuchen und durchforsten Daten, um Muster zu erkennen und um diese auf bereits bekannte Regeln anzuwenden:
Maschinen können
- Menschen oder Dinge kategorisieren
- wahrscheinliche Ergebnisse oder Aktionen basierend auf identifizierten Mustern vorhersagen
- unbekannte Muster und Zusammenhänge identifizieren
- oder auch anomale oder unerwartete Verhaltensweisen erkennen.
Mit „Machine Learning Algorithmen” lernen Computer selbständig. Als Algorithmen bezeichnet man die Prozesse, die die Maschinen zum Lernen verwenden.
Wenn neue Daten beispielsweise auf Grund einer Umgebungsänderung an die Maschine geliefert werden, verbessert sich die Leistungsfähigkeit des Algorithmus. Dies führt dazu, dass die “Intelligenz” der Maschine zunimmt. Die Maschine lernt auf diese Weise stetig dazu.
Sind Maschinen kreativ oder intelligent?
Seit dem Aufkommen von Big Data, haben sowohl die verfügbare Datenmenge als auch die Fähigkeiten, sie zu verarbeiten, exponentiell zugenommen. Auch die Intelligenz und die Lernfähigkeit der Maschinen ist proportional gewachsen. Große Datenmengen können innerhalb kürzester Zeit analysiert werden und das System kann daraus resultierende Maßnahmen ableiten. Maschinelles Lernen bietet zuvor nicht identifizierte Möglichkeiten, Probleme zu lösen.
Trotzdem sind Maschinen noch nicht autonom und unabhängig in ihrer Intelligenz und in ihrer Kreativität.
Eine Maschine kann keine neuen Hypothesen aus noch nicht belegten Fakten oder Daten aufstellen und entwickeln. Die Maschine kann auch keine neuen Wege und Lösungen finden, um auf wiederkehrende Reize zu reagieren.
Zusammenfassend kann man festhalten: Die Ausgabe eines maschinellen Lernalgorithmus hängt vollständig von den Daten ab, denen er ausgesetzt ist. Werden die Daten geändert, so ändert sich auch das Ergebnis.
„Machine Learning“ am Beispiel der Medical Case App
Maschinelles Lernen kann das tägliche Leben heutzutage enorm vereinfachen. Dies wird am Beispiel der Medical Case App kurz erläutert.Die App speichert alle gesundheitsrelevanten Daten der Anwender im Benutzerprofil. Die Daten können stets an die aktuelle Gesundheitssituation angepasst werden, z.B. wenn ein Herzschrittmacher benötigt wird oder eine Schwangerschaft bevorsteht. Daten zu den Medikamenten werden über einen Barcode gescannt und gespeichert. Durch zahlreiche Anwendungsmöglichkeiten profitiert der Benutzer von der künstlichen Intelligenz der App.
Er erhält z.B. anhand vier unterschiedlicher Suchmethoden eine Ergebnisliste mit allen Medikamenten, die auf seine Suchanfrage passen. Aus der Liste können Medikament ausgewählt und mit persönlichen Eigenschaften versehen werden, wie z.B. Zeit, Termin, Routine etc.
Wenn sich der Gesundheitszustand ändert, können die Einstellungen der Medikamenteneinnahme schnell und einfach angepasst werden. Es lassen sich eigene Termine wie Einnahmeerinnerungen oder Kauferinnerungen festlegen. Zudem erhalten die Benutzer Benachrichtigungen und Warnungen, wenn ein Medikament nicht mehr im Lager verfügbar ist oder eine Medikamenteneinnahme vergessen wurde. Alle gesundheitsrelevanten Daten sind für den Benutzer auf einen Blick sichtbar. Gerade für ältere Menschen kann die Medical Case App das Leben sehr erleichtern. Sie müssen sich nicht mehr selbst um ihre Medikamenteneinnahmen kümmern. Dies erledigt nun die App für sie.
Im Notfall kann die App auch Leben retten, da alle Gesundheitsdaten vom Notarzt sofort abrufbar sind.
Weitere Informationen zur Medical Case App
Typen von Maschinellem Lernen
Es gibt unterschiedliche Typen des maschinellen Lernens. Das überwachte und das unüberwachte Lernen kommen am häufigsten zum Einsatz. Beide Lerntechniken haben ein breites Anwendungsspektrum.
Im Folgenden werden alle vier Typen des maschinellen Lernens kurz dargestellt:
Überwachtes Lernen
Beim überwachten Lernen sind die Ergebnisse bekannt. Die Maschine wird beispielhaft über die Ausgabe der bekannten Ergebnisse unterrichtet. Der Algorithmus verwendet diese Eingabe, um eine Korrelationen und Logik zu bestimmen, um so Antworten vorherzusagen zu können.
Die bekannten Ergebnisse des Lernprozesses werden mit den neuen Ergebnissen verglichen bzw. „überwacht“. Dies kann man sich beispielsweise folgendermaßen vorstellen:
Schülern wird Antwortschlüssel gegeben, mit der Bitte, “ihre Arbeit zu zeigen”. Beim überwachten Lernen werden Beispiel-Fragen und Antworten bereitgestellt. Die Maschine gibt an, wie man von A nach B kommt. Sobald das logische Muster identifiziert ist, kann es angewendet werden, um ähnliche Probleme zu lösen.
Der Algorithmus lernt eine Funktion aus gegebenen Paaren von Ein- und Ausgaben. Dabei stellt während des Lernens ein „Lehrer“ den korrekten Funktionswert zu einer Eingabe bereit.
Ziel beim überwachten Lernen ist, dass dem Netz nach mehreren Rechengängen mit unterschiedlichen Ein- und Ausgaben die Fähigkeit antrainiert wird, Assoziationen herzustellen.
Praktische Anwendungen
- Kundensegmentierung im CRM
- Bildsprache und Texterkennung (Medical Case App)
- Betrugserkennung (onexTwo)
- Handschrifterkennung
Unüberwachtes Lernen
Beim unüberwachten Lernen untersucht das System Daten, um Muster zu identifizieren. Es gibt keinen Antwort-Schlüssel, das Ergebnis ist unklar. Durch die Analyse der verfügbaren Daten ermittelt der Algorithmus Korrelationen und Beziehungen.
Diese Art des Lernens ist vergleichbar, wie wir Menschen die Welt auf natürliche Weise beobachten: Auf Grund von uneingeschränkter Beobachtung und Intuition leiten wir Schlussfolgerungen ab. Wenn unsere Erfahrungen wachsen, oder im Falle der Maschine – wenn die Menge an Daten, der sie ausgesetzt ist, wächst – ändern sich unsere Intuitionen und Beobachtungen und / oder werden verfeinert.
Halb-überwachtes Lernen
Halb-überwachtes Lernen stellt eine Mischung der beiden oben erwähnten Lerntypen dar. Es werden ähnliche Probleme wie beim überwachten Lernen angegangen. Hier werden einige der Eingabedaten mit der gewünschten und schon bekannten Ausgabe markiert. Der Rest der Daten ist unmarkiert.
Ziel ist es, auch die nicht markierten Daten zu labeln. Dazu werden die Daten in Cluster geteilt. Innerhalb eines Clusters kann den nicht markierten Daten ein Label zugeordnet werden, das auch schon die markierten Daten aufweisen.
Halb-überwachtes Lernen wird in Fällen verwendet, in denen zu viele Daten oder zu viele Datenvariationen vorhanden sind.
Bestärkendes Lernen
Beim bestärkenden Lernen erlernt der Algorithmus eine Strategie, damit er in einer definierten Umgebung ein vorgegebenes Ziel erreicht. Der Algorithmus wechselt anhand festgelegter Aktionen von einem Zustand in den anderen, bis er das Ziel erreicht hat.
Aufgabenstellungen des „Machine Learning“
Maschinelles Lernen eignet sich besonders bei folgenden Aufgabenstellungen:
- Anzuwendende Assoziationen oder Regeln mögen zwar intuitiv wahrgenommen werden, aber nicht einfach durch einfache logische Regeln kodifiziert oder beschrieben werden.
- Potenzielle Outputs oder Aktionen werden definiert, aber welche Maßnahmen zu ergreifen sind, hängt von verschiedenen Bedingungen ab, die nicht vorhergesagt oder eindeutig identifiziert werden können, bevor ein Ereignis eintritt.
- Genauigkeit ist wichtiger als Interpretation oder Interpretierbarkeit.
- Riesige Datensätze mit einer Vielzahl von Attributen in jedem Datensatz oder stark korrelierte Daten mit sehr ähnlichen oder verwandten Werten sind für traditionelle Analysetechniken problematisch.
Anwendungsgebiete des „Machine Learning“
Personalisiertes Marketing
Unternehmen können ihre Kunden, die ihre Produkte kaufen oder ihre Dienstleistungen nutzen, heute besser verstehen als je zuvor. „Maschinen“ analysieren anhand von Verbraucherdaten die Vorlieben und Interessen der Kunden, um Muster und bevorzugte Kanäle für den Verbrauch zu erkennen.
Sowohl historische Daten als auch Echtzeit-Daten verschaffen Einblicke in die Vorlieben und Eigenschaften von Kunden.
Anhand der Daten kann eine Maschine die Aktivitäten von Kunden über unterschiedliche Kanäle (digital, Papier, etc.) optimieren. Die Maschine wird jedoch keinen neuen Interaktionskanal erschaffen, der noch nicht existiert.
Als Beispiel für personalisiertes Marketing wird erneut auf die Medical Case App verwiesen. Unternehmen erhalten eine Vielzahl an Informationen von Ihren Kunden und Kundinnen. Sie bekommen Einblicke in den Krankheitsverlauf der Benutzer und wie sich deren Gesundheitszustand im Verlauf der Zeit verändert. Zudem erfahren sie, welche medizinischen Produkte und in welcher Häufigkeit der Patient diese ein nimmt. Die Daten können Unternehmen nutzen, um den Anwendern spezifische, dem Gesundheitszustand angemessene Angebote, zu unterbreiten. Sie können Ihr Service- und Support-Team entlasten und die künstliche Intelligenz nutzen, um Fragen und Anliegen der Nutzer zu beantworten.
Weitere Informationen zur Medical Case App
Identifizieren von Personen und Dingen in Bildern
Ein spezieller maschineller Lernalgorithmus kann das Gesicht einer bekannten “Person” in einer überfüllten Flughafenszene erkennen und identifizieren. So kann zum Beispiel verhindert werden, dass die betreffende Person, einen Flug antritt.
Auch Social-Media-Plattformen nutzen maschinelles Lernen. So können Personen und allgemeine Objekte wie beispielsweise Orientierungspunkte markiert und in hochgeladenen Fotos identifiziert werden.
Warum ist dies eine Aufgabengebiet für Maschinelles Lernen?
Bilddaten sind äußerst umfangreich. Die Anzahl der Pixel in jedem Bild macht den Datensatz breiter als tief. Pixel, die nahe aneinander liegen haben ähnliche Werte, wodurch die Daten stark korreliert sind. Bilder desselben Themas haben mehrere subtile (und nicht so subtile) Variationen.
Natürlich können Menschen Personen, die Ihnen bekannt sind – und solche, die es nicht sind – auf Bilder leicht erkennen und identifizieren, auch dann, wenn die Personen unterschiedliche Gesichtsausrücke haben, verschiedene Posen einnehmen oder unterschiedliche Kleidung tragen. Menschen können auch “ähnliche” Gegenstände sowohl konzeptionell (d. H. Tierisch, mineralisch oder pflanzlich) als auch konkret (d. H. Hund, Katze, Fisch) identifizieren. Jedoch können Menschen dieses Wissen nicht in einfache Schritte übersetzen und Regeln definieren, wie die Übereinstimmung festgestellt wurde.
Gentechnik
Maschinelles Lernen kann helfen herauszufinden, welche Gene an welchen Krankheiten beteiligt sind.
Mit Maschinellem Lernen können Behandlungen speziell auf den Patienten zugeschnitten werden, die auf Grund seiner Gene, demographischen und psychographischen Eigenschaften für ihn am effektivsten und erfolgsversprechenden sind.
Warum ist dies eine Aufgabengebiet für Maschinelles Lernen?
Jeder Mensch hat mehr als 20.000 Gene. Daher ist die Anzahl der Gene (Datenpunkte) in einem einzelnen Datensatz immer größer als die Anzahl der Personen (Datensätze) in einem Datensatz.
Einige Faktoren tragen zur Komplexität des Sachverhalts bei. Die Variationsmöglichkeiten von jedem dieser von mehr als 20.000 Gene. Die Tatsache, dass Verwandten ähnliche Gene haben.
Diese wenigen miteinander verwandten Personen können an bestimmten Krankheit leiden. wodurch der Datenpool extrem flach wird.
Werden die Gene allein betrachtet, können diese nicht allein über die Gesundheit oder Krankheit eines Menschen prognostizieren. Auch andere Faktoren, wie biochemische oder ökologische Faktoren, müssen berücksichtigt werden, so dass ganzheitliche Daten aus verschiedenen Quellen benötigt werden.
Kategorien des „Machine Learning“
Deep Learning
Deep Learning ist das am weitesten verbreitete maschinelle Lernverfahren und wird von den großen IT-Unternehmen wie Microsoft Facebook, Apple oder Google eingesetzt. Die Sprachverarbeitung und das Erkennen von Objekten in Bilder sind derzeit das wichtigsten Einsatzgebiet für Deep Learning. Beispielsweise beruht die Spracherkennung von iPhone „Siri“ auf der Technologie des Deep Learning.
Auch die Medical Case App beruht auf Sprach- und Bilderkennung.
Deep Learning ist die erfolgreichste Implementierung eines künstlichen neuronalen Netzes. Dem Neuronalen Netzwerk werden Trainingsdaten zur Verfügung gestellt, wie z.B. eine Reihe von Bildern, die z.B. mit „Hund“ und eine Reihe von Bildern, die mit „nicht Hund“ markiert sind. Das Netzwerk verwendet die Trainingsdaten, um Informationen abzuleiten, um so eigenständig neue Daten nach „Hund“ und „nicht Hund“ identifizieren zu können.
Cognitive Computing
Durch die Verwendung von Technologien der Künstlichen Intelligenz werden mit Cognitive Computing menschliche Denkprozesse simuliert. Die Systeme ahmen menschliches Verhalten nach und interagieren in ihrem Umfeld in Echtzeit. Sie sind nicht auf Problemlösungen programmiert, sondern lernen selbständig durch gesammelte Daten und eigenen Erfahrungen.
Die Systeme können mit Menschen in Ihrer „Muttersprache“ interagieren, ohne dass ein Benutzer einen Code schreiben der verstehen muss. Dabei verwenden die Systeme zahlreiche Techniken, wie natürliche Sprachverarbeitung oder bestimmte Lernalgorithmen.
Das Ziel des Cognitive Computing ist, dass intelligente Computersysteme selbstständig und ohne menschliche Hilfe, Probleme lösen und Lösungsvorgänge automatisieren können.
Es gibt zahlreiche Einsatzbereiche des Cognitive Computing. Beispielsweise wird es für die vorausstehende Wartung (Predictive Maintenance) oder auch für Produktempfehlungen im E-Commerce Umfeld verwendet.
Cognitive Computing kommt in verschiedenen Bereichen zum Einsatz. Beispielsweise wird es im E-Commerce-Umfeld für Produktempfehlungen, in der Medizin, der Robotik oder der virtuellen Realität verwendet.
Natural Language Processing (NLP)
Natural Language Processing beschreibt Techniken und Methoden zur maschinellen Verarbeitung der natürlichen Sprache. Es ist die Fähigkeit, die Sprache in eine Form zu übersetzen, die eine Maschine oder der Algorithmus verstehen kann. Dabei werden Methoden und Ergebnisse aus den Sprachwissenschaften mit moderner Informatik und künstlicher Intelligenz kombiniert.
Ziel ist es eine weitreichende Kommunikation zwischen Mensch und Computer per Sprache zu ermöglichen. Auf Grund der großen Unterschiede in Dialekten, Redewendungen, Umgangssprachen und der raschen Entwicklung neuer Kommunikationsformen ist dies sehr umfangreich und komplex.
In der Zukunft wird Natural Language Processing eine sehr wichtige Rolle für die Schnittstelle zwischen Mensch und Computer spielen. Natural Language Processing wird heutzutage genutzt, um Texte aus eingescannten Dokumenten zu extrahieren, Sprache sowohl geschrieben als auch gesprochen in Echtzeit zu übersetzen oder sprachgesteuerte Assistenten auf mobilen Endgeräten wie Smartphones einzusetzen.
Anwendungsgebiete:
- Stanfords Core NLP Suite ist ein GPL-lizensiertes Tool zur Verarbeitung von Englisch, Chinesisch und Spanisch. Es enthält folgende Funktionen: Tokenisierung (Aufteilen von Text in Wörter), Wortmarkierung, Grammatikanalyse (Identifizierung von Substantiven und Verbalphrasen), etc.
- Natural Language Toolkit (NLTK) kann bei der Verwendung der Programmiersprache Python genutzt werden. Diese wird den NLP Anforderungen voll und ganz gerecht. Ähnlich wie bei den Stanford-Suites enthält NLTK Funktionen zum Tokenisieren, Analysieren und Identifizieren von Daten sowie viele weitere Features.
- Apache Lucene und Solr sind technisch nicht auf das Lösen von NLP-Problemen ausgerichtet, dennoch enthalten sie eine große Anzahl an Werkzeugen zur maschinellen Verarbeitung der Sprache. Zudem bieten sie eine kostenlose Suchmaschine.
- Apache OpenNLP: Unter Verwendung eines anderen zugrunde liegenden Ansatzes als die Stanford-Bibliothek ist das OpenNLP-Projekt ein Apache-lizenziertes Tool, welches Aufgaben wie Tokenisierung, Identifizieren der Wortart, Satzanalyse und das Erkennung von Datensätzen übernehmen kann.
- GATE und Apache UIMA: Wenn sich Verarbeitungskapazitäten weiterentwickeln, können komplexe NLP-Workflows erstellt werden, in die mehrere verschiedene Verarbeitungsschritte integrieren werden. In diesem Fall sollte mit einem Framework wie GATE oder UIMA gearbeitet werden, das einen Großteil der sich wiederholenden Arbeit beim Erstellen einer komplexen NLP-Anwendung standardisiert und abstrahiert.