4. Data Mining and Machine Learning Flashcards
Data Mining
- Prozess, der statistische und mathematische Techniken sowie AI und Machine Learning verwendet, um Informationen und folglich Wissen (Knowledge) von großen Datenbanken zu identifizieren und extrahieren
- Data Mining Tools finden Muster in Daten und können Regeln/Modelle daraus schlussfolgern
Data Mining Anwendungen
Data Mining: Charakterisiken und Ziele
- Daten sind oft innerhalb sehr großer Datenbanken verborgen
- “Miner” ist häufig der Endnutzer, der mithilfe von Tools schnell Antworten erhält, auch ohne (oder mit nur wenig) Programmierkenntnissen
- Data Mining Tools sind leicht mit Spreadsheets und anderer Software zu verknüpfen, die gesammelten Daten können schnell analysiert und verarbeitet werden
- Manchmal wird Parallel Processing verwendet, aufgrund von großen Datenmengen oder großem Suchaufwand
Data Mining Paradigmen
Artifical Intelligence / Künstliche Intelligenz
- Automatisierung von Aufgaben durch automatische Schlussfolgerung und Entscheidung
- Endziel der AI: Maschinenintelligenz = Menschliche Intelligenz
- Diese allgemeine, unspezifische Intelligenz ist schwer zu erreichen, da die menschliche Lebenswelt sehr komplex ist
- Daher: Umgebungen und dazugehörige Probleme beschränken
-> Gegenwärtig ist AI meistens zweckmäßig auf bestimmte Aufgaben ausgerichtet
Intelligent Agents
- Durch den Einsatz von Sensoren können Intelligent Agents ihre Umgebung wahrnehmen, um ihren internen Status zu updaten
- Durch Einsatz von Aktuatoren können sie ihre Umwelt beeinflussen
- Condition -> Action (if -> then)
- Beispiel Alexa: Nimmt Befehl zur Bestellung eines Produkts wahr -> Fordert Informationen über die gewünschte Bestellmenge an
Machine Learning
- Erforschung von computerbasierte Algorithmen, die lernen können, die Bewältigung von Aufgaben zu verbessern auf Basis ihre eigenen vorherigen Erfahrungen
- Forschungsfeld: Wie kann man Verfahren entwickeln, die sich durch Erfahrung automatisch verbessern
- Die statistische Herangehensweise von Machine Learning ist gut geeignet, um Probleme in diesen eingeschränkten Feldern zu lösen
- Kann in überwachtes und unüberwachtes Lernen unterteilt werden
Unsupervised / Supervised Learning
Unsupervised Learning:
• Clustering-Aufgaben (Datenpunkte innerhalb großer Datensätze nach ähnlichen Eigenschaften gruppieren)
Supervised Learning:
- Algorithmen, die sich mit Klassifikationsproblemen beschäftigen
- Sind ausgerichtet auf “labelled data” mit bestimmten Eigenschaften und treffen darauf basierend statistische Schlussfolgerungen (z. B. Entscheidungsbaum)
Klassifikation
- Überwachte Induktion (vom Einzelfall aufs Allgemeine schließen), um Daten aus Datenbanken zu analysieren und automatisiert ein Modell zu generieren, das zukünftiges Verhalten vorhersagen kann (Deduktion)
- Die Klassen sind bekannt, Klassifikation stellt Muster in den Daten fest, um Beobachtungen einer der Klassen zuzuweisen
- Im Gegensatz dazu: Unsupervised Learning identifiziert Assoziationen / Zusammenhänge (Gruppierung)
Klassifizierung: Herangehensweise
Neurale Netzwerke, Entscheidungsbäume, Instanzbasiert etc.
Verschiedene Ansätze unterscheiden sich hinsichtlich:
- Suchstrategie
- Effizienz bezüglich Genauigkeit der Klassifikation
- Effizienz bezüglich Ressourcen (CPU etc)
- Benötigte Eingabedaten
- Interpretierbarkeit der Ergebnisse, generierte Regeln/Modelle
Klassifizierung mit Entscheidungsbäumen
Entscheidungsbäume klassifizieren Instanzen:
- Basierend auf ihren Attributen
- eine Abzweigung für jeden Wert -> Sortierung erfolgt abwärts
- z.B. Ist Age > 30? Wenn ja, handelt es sich um einen Studenten? Wenn ja, …
Entscheidungsbaum Algorithmus
Allgemeiner Algorithmus, um den Entscheidungsbaum zu erstellen:
- Startknoten erstellen und Attribut auswählen, an dem geteilt wird
- Für jeden Wert, an dem aufgeteilt wird, Abzweigungen am Startknoten hinzufügen
- Folgende Schritte wiederholen:
a) Daten Klassifizieren, indem der Aufteilungswert angewendet wird
b) Wenn der Endpunkt erreicht ist, “leaf node” erstellen und benennen. Ansonsten weitere Abzweigungen erstellen
Datenanforderungen für Entscheidungsbäume
- Jedes Beispiel (Beispielinstanz) muss von den selben Attributen beschrieben werden, Attribute müssen eine feste Anzahl an Werten haben
- Vordefinierte Klassen: Die Attribute der Beispiele müssen bereits definiert sein
- Diskrete Klassen: Klassen müssen genau beschrieben sein (nicht vage)
- Hinreichend viele Beispiele: Genug Test Cases werden benötigt, um gültige Muster von Zufällen zu unterscheiden