Machine Learning (ML)
Meanwhile intelligent machines are indispensable in our everyday lives. In many areas, they help people, to make better decisions. By “machines” is meant computer systems and their software, not traditional machines in production halls.
But how does Machine Learning works? It simply means, computers are taught how to analyse data. Machines examine and scan data to identify patterns and to apply them to familiar rules:
Machines can:
- categorize people or things
- predict likely outcomes
- identify unknown patterns and relationships
- recognize unusal or unexpected behaviours
With “Machine Learning Algorithms” computers learn independently. Algorithms are the processes the machines use for learning. For example, when new data is delivered to the machine due to an environmental change, the performance of the algorithm improves. This causes, that the “intelligence” of the machine is increasing. In this way the machine is constantly learning.
Are machines creative or intelligent?
Since the begin of Big Data, the amount of available data as well as the abilty to process the data, increased exponentially. Also, the intelligence and the learning ability of the machines are grown proportionately. Large amounts of data can be analysed within a very short time and the system can derive resulting measures. Machine Learning offers new ways to solve problems.
Nevertheless, machines are not yet autonomous and independent in their intelligence and creativity.
A machine cannot set up and develop new hypotheses from unassigned facts or data. Further, the machine is not able to find new ways and solutions to respond to recurring appeals.
Summing up, the outcome of a machine learning algorithm depends entirely on the data, to which it is exposed. If the data changes, the results also change.
The Medical Case App as example for Machine Learning
Today Machine Learning can greatly simplify everyday life. This will be briefly explained using the example of the Medical Case App.
This app stores all health-relevant data of the users in the user profile. The data can always be adapted to the current health situation, e.g. if a pacemaker is needed or a pregnancy is pending. Data about the medication are scanned and stored via a barcode. Through numerous application possibilities the user benefit from the artificial intelligence of the app.
By choosing between four different search methods the user receives a list of results with all medicals, that fit his search. From this list items can be selected and provided with personal attributes, such as: time, appointment, routine etc.
If the health situation changes, the settings of taking drugs can quickly and easily be adjusted. Users can set their own appointments, such as reminder notes or purchase reminders. In addition, users receive notifications and alerts when a product is no longer available in the store or taking a medical has been forgotten. All health-related data are visible for the user at a glance. Especially for older people, the Medical Case App can make their life a lot easier. No longer they need to worry about their medications themselves. This is done by the app.
In an emergency the app can also save lives, because the emergency doctor has immediately all health data available.
More information about the 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.