SlideShare ist ein Scribd-Unternehmen logo
1 von 23
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner Gebrauch
 Überraschend mehr Möglichkeiten
© OPITZ CONSULTING 2017
OOP München 06.02.2018
Milen Großmann, Associate Developer
Fallstricke im
Maschinellen Lernen
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner Gebrauch Seite 2Fallstricke im Maschinellen Lernen
Inhalte
1
2
3
Vorstellung
Grundlagen
Fallstricke
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner Gebrauch Seite 3Fallstricke im Maschinellen Lernen
Vorstellung
 Milen Großmann
 Opitz Consulting
1
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 4
Vorstellung Milen Großmann
 Studium der Regenerativen Energien in München
 Erfahrung im Maschinellen Lernen:
 Event Detection in elektrischen Energienetzen
 Analyse von Energiedaten mittels nonparametrischer Algorithmen
 OC-interne Projekte zu den Themen Stream Analytics & Blockchain
 BigData-Softwareentwickler bei Opitz Consulting seit 10/2017
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 5
Vorstellung Opitz Consulting
 Gegründet von Bernhard Opitz, Peter Dix und Rolf Scheuch in 1990
 Ca. 500 Mitarbeiter
 Partnerschaften u. a. mit Oracle, Microsoft, AWS, Atlassian, SAP
 Tätigkeitsfelder:
 Softwareentwicklung
 Digitalisierung
 Managed Services
 Cloud & Infrastruktur
 Datenbankadministration
 BigData
 …
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner Gebrauch Seite 6
Grundlagen
 Was ist Maschinelles Lernen?
 Arten des Maschinellen Lernens
 Wie bewertet man Modelle?
2
Fallstricke im Maschinellen Lernen
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 7
Was ist Maschinelles Lernen?
 = Lehre von Algorithmen, die die
Fähigkeit haben, selbstständig aus
Daten zu lernen ohne explizit dazu
programmiert worden zu sein
 Anwendungsfälle:
 Intrusion Detection in
Computersystemen
 Fraud Detection im Finanzwesen
 Gesichtserkennung
 Predictive Maintenance
 Chatbots, Spam Filter
 “Früher”:
 “Heute”:
Programmierer Programm Ergebnis
Daten Algorithmus Ergebnis
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 8
Was ist Maschinelles Lernen?
Arten Potentielle Gefahren
 Finanzielle Einbußen
 Imageschäden
 Sicherheitslücken
 Systemausfälle oder
Systemfehlverhalten
Supervised Unsupervised
Reinforcement
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 9
Wie bewertet man ML-Modelle?
 Erzeugung Testdatensatz für finale Bewertung
 Unterteilung des Datensatzes in Trainings- und Evaluationsdaten
 Trainieren des Algorithmus mit versch. Einteilungen
 Final: Test mit Testdatensatz
TestTraining Eval
Can’t touch this!
TestTraining Eval Training
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner Gebrauch Seite 10
Fallstricke
 Missachtung von Klassengewichtungen
 Overfitting
 Underfitting
 Data Snooping
 Misinterpretation von Daten
3
Fallstricke im Maschinellen Lernen
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 11
Missachtung von Klassengewichtungen
 Beispiel:
 Umfrage unter 1000 Personen
 Einteilung in 500 Männer & 500 Frauen  Fehler!
 51.3% Männer, 48.7% Frauen  korrekte Einteilung: 513 Männer & 487 Frauen
 Abhilfe: Stratified Sampling
 = Einteilung von Datensätzen in homogene Untergruppen (Strata)
 Repräsentative Menge an Samples wird aus Daten gezogen
 Strata sollten nicht zu zahlreich sein
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 12
Missachtung von Klassengewichtungen
 Zu viele Untergruppen
 Nicht genügend
Datensätze pro
Gruppe  inhomogen
Voreingenommenheit
1. # Plotte Einkommenskategorien in 1000$
2. housing["median_income"].hist()
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 13
Missachtung von Klassengewichtungen
1. # Teile durch 1.5 um Anzahl der Einkommenskategorien zu beschränken
2. housing["income_cat"] = np.ceil(housing["median_income"] / 1.5)
3. # Fasse alle Einkommenskategorien >5 als EK 5 zusammen
4. housing["income_cat"].where(housing["income_cat"] < 5, 5.0, inplace=True)
5. # Plot
6. housing["income_cat"].hist()
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 14
Missachtung von Klassengewichtungen
1. def income_cat_proportions(data):
2. return data["income_cat"].value_counts() / len(data)
3. train_set, test_set = train_test_split(housing, test_size=0.2,
random_state=42)
4. compare_props = pd.DataFrame({
5. "Overall": income_cat_proportions(housing),
6. "Stratified": income_cat_proportions(strat_test_set),
7. "Random": income_cat_proportions(test_set),
8. }).sort_index()
9. compare_props["Rand. %error"] = 100 * compare_props["Random"] /
compare_props["Overall"] - 100
10. compare_props["Strat. %error"] = 100 * compare_props["Stratified"] /
compare_props["Overall"] – 100
11. print(compare_props)
 Deutlich geringere
Abweichung mit
Stratified Sampling
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 15
Overfitting
 Modellkomplexität zu hoch
 Modell lernt Rauschen statt Datenmuster
 Schlechte Verallgemeinerung auf unbekannte
Daten
 Analogien:
 Klischees
 Kenntnis von Prüfungsfragen vor der Prüfung
 Häufiger Hinweis: zu hohe Modellgenauigkeit
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 16
Overfitting
 Mögliche Gegenmaßnahmen:
 Regularisierung
 mehr Daten (kaufen, messen, generieren)
 Rauschen reduzieren
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 17
Underfitting
 Modellkomplexität zu gering
 Schlechte Modellperformance bei Testdaten
und neuen Daten
 Mögliche Gegenmaßnahmen:
 Wahl eines komplexeren Modells
 Verwendung von Features höherer Qualität (feature
engineering)
 Modelleinschränkungen reduzieren
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen
Data Snooping
“Menschliches Overfitting”
Seite 18
 Betrachten von Testdaten
“Zurechtbiegen” der Realität
Falsche Modelle
 Auch durch Hyperparametertuning und Modellevaluation durch Validation
mit gleichen Datensätzen
 Abhilfe: Generierung eines Testdatensatzes als erster Schritt, und
TestTraining Eval
Can’t touch this!
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 19
“Know your Data”!
 Sensordaten?
 Energieverbrauch,
Schaltfrequenz?
Unsinn!
1. from sklearn.datasets import fetch_mldata
2. data = fetch_mldata(‘big surprise’)
3. X, y = data[‘data’], data[‘target’]
4. print(X.shape)
5. # Output: (70000, 784)
6. plt.figure(figsize=(12, 6))
7. plt.plot(X[36000])
8. plt.show()
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 20
“Know your Data”!
1. from sklearn.datasets import fetch_mldata
2. mnist = fetch_mldata('MNIST original')
3. X, y = mnist["data"], mnist["target"]
4. print(28*28) # output: 784
5. some_digit = X[36000]
6. some_digit_image = some_digit.reshape(28, 28)
7. plt.imshow(some_digit_image, cmap = matplotlib.cm.binary,
8. interpolation="nearest")
9. plt.axis("off")
10. save_fig("some_digit_plot")
11. plt.show()
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 21
“Know your Data”!
1. def plot_digit(data):
2. image = data.reshape(28, 28)
3. plt.imshow(image, cmap = matplotlib.cm.binary,
4. interpolation="nearest")
5. plt.axis("off")
6. def plot_digits(instances, images_per_row=10, **options):
7. size = 28
8. images_per_row = min(len(instances), images_per_row)
9. images = [instance.reshape(size,size) for instance in instances]
10. n_rows = (len(instances) - 1) // images_per_row + 1
11. row_images = []
12. n_empty = n_rows * images_per_row - len(instances)
13. images.append(np.zeros((size, size * n_empty)))
14. for row in range(n_rows):
15. rimages = images[row * images_per_row : (row + 1) * images_per_row]
16. row_images.append(np.concatenate(rimages, axis=1))
17. image = np.concatenate(row_images, axis=0)
18. plt.imshow(image, cmap = matplotlib.cm.binary, **options)
19. plt.axis("off")
20. plt.figure(figsize=(9,9))
21. example_images = np.r_[X[:12000:600], X[13000:30600:600], X[30600:60000:590]]
22. plot_digits(example_images, images_per_row=10)
23. save_fig("more_digits_plot")
24. plt.show()
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner GebrauchFallstricke im Maschinellen Lernen Seite 22
“Know your Data”!
 Seien Sie sich bewusst wo Ihre Daten
herkommen und was sie aussagen!
 Wissen Sie um die Qualität der Daten!
 Algorithmenwahl ohne Annahmen ist sinnlos
(“No Free Lunch Theorem”)
 Je mehr Daten, desto unwichtiger der
Algorithmus
Quelle: “The Unreasonable
Effectiveness of Data” Peter
Norvig et al. (2009)
© OPITZ CONSULTING 2017
Informationsklassifikation:
Interner Gebrauch
 Überraschend mehr Möglichkeiten
@OC_WIRE
OPITZCONSULTING
opitzconsulting
opitz-consulting-bcb8-1009116
WWW.OPITZ-CONSULTING.COM
Fallstricke im Maschinellen Lernen
Vielen Dank für Ihre Aufmerksamkeit!
Milen Großmann
Associate Developer
Landwehr 2
22087 Hamburg
milen.grossmann@opitz-consulting.com
+49 40 741122-1357
Seite 23

Weitere ähnliche Inhalte

Ähnlich wie Fallstricke im Maschinellen Lernen

Learning Analytics am Beispiel des Mathetrainers
Learning Analytics am Beispiel des MathetrainersLearning Analytics am Beispiel des Mathetrainers
Learning Analytics am Beispiel des MathetrainersMartin Ebner
 
Data Science: Gold schürfen im modernen Marketing
Data Science: Gold schürfen im modernen MarketingData Science: Gold schürfen im modernen Marketing
Data Science: Gold schürfen im modernen MarketingSOMEXCLOUD
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-qualitySebastian Dietrich
 
Data Science - (K)eine Teenagerliebe
Data Science - (K)eine TeenagerliebeData Science - (K)eine Teenagerliebe
Data Science - (K)eine TeenagerliebeThilo Stadelmann
 
Smart Data Analytics Instandhaltung Workshop 2018
Smart Data Analytics Instandhaltung Workshop 2018Smart Data Analytics Instandhaltung Workshop 2018
Smart Data Analytics Instandhaltung Workshop 2018IAS MEXIS GmbH
 
Dr. Martin Berninger (d-fine)
Dr. Martin Berninger (d-fine)Dr. Martin Berninger (d-fine)
Dr. Martin Berninger (d-fine)Praxistage
 
Data Science & Big Data, made in Switzerland
Data Science & Big Data, made in SwitzerlandData Science & Big Data, made in Switzerland
Data Science & Big Data, made in SwitzerlandThilo Stadelmann
 
Differenzial Analyse in der Praxis (Florian Walther)
Differenzial Analyse in der Praxis (Florian Walther)Differenzial Analyse in der Praxis (Florian Walther)
Differenzial Analyse in der Praxis (Florian Walther)GEEKcon
 
Messbarkeit von Social Collaboration - Ansätze im Überblick
Messbarkeit von Social Collaboration - Ansätze im ÜberblickMessbarkeit von Social Collaboration - Ansätze im Überblick
Messbarkeit von Social Collaboration - Ansätze im ÜberblickUniversity St. Gallen
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschAndreas Koop
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarschenpit GmbH & Co. KG
 
Der Wert von Daten in Zeiten von "Big Data"
Der Wert von Daten in Zeiten von "Big Data"Der Wert von Daten in Zeiten von "Big Data"
Der Wert von Daten in Zeiten von "Big Data"Thilo Stadelmann
 
Microprofile.io - Cloud Native mit Java EE
Microprofile.io - Cloud Native mit Java EEMicroprofile.io - Cloud Native mit Java EE
Microprofile.io - Cloud Native mit Java EEMichael Hofmann
 
Mobile Business 2013: Chancen und Herausforderungen
Mobile Business 2013: Chancen und HerausforderungenMobile Business 2013: Chancen und Herausforderungen
Mobile Business 2013: Chancen und HerausforderungenUniversity St. Gallen
 
Daten ohne Grenzen – Big Data
Daten ohne Grenzen – Big DataDaten ohne Grenzen – Big Data
Daten ohne Grenzen – Big DataAWS Germany
 
Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.Datentreiber
 
CRO Prozesse mit Data Mining Optimieren
CRO Prozesse mit Data Mining OptimierenCRO Prozesse mit Data Mining Optimieren
CRO Prozesse mit Data Mining OptimierenLaurent Müllender
 

Ähnlich wie Fallstricke im Maschinellen Lernen (20)

Learning Analytics am Beispiel des Mathetrainers
Learning Analytics am Beispiel des MathetrainersLearning Analytics am Beispiel des Mathetrainers
Learning Analytics am Beispiel des Mathetrainers
 
Data Science: Gold schürfen im modernen Marketing
Data Science: Gold schürfen im modernen MarketingData Science: Gold schürfen im modernen Marketing
Data Science: Gold schürfen im modernen Marketing
 
Microprofile.io
Microprofile.io Microprofile.io
Microprofile.io
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-quality
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
Data Science - (K)eine Teenagerliebe
Data Science - (K)eine TeenagerliebeData Science - (K)eine Teenagerliebe
Data Science - (K)eine Teenagerliebe
 
Smart Data Analytics Instandhaltung Workshop 2018
Smart Data Analytics Instandhaltung Workshop 2018Smart Data Analytics Instandhaltung Workshop 2018
Smart Data Analytics Instandhaltung Workshop 2018
 
Dr. Martin Berninger (d-fine)
Dr. Martin Berninger (d-fine)Dr. Martin Berninger (d-fine)
Dr. Martin Berninger (d-fine)
 
Data Science & Big Data, made in Switzerland
Data Science & Big Data, made in SwitzerlandData Science & Big Data, made in Switzerland
Data Science & Big Data, made in Switzerland
 
Differenzial Analyse in der Praxis (Florian Walther)
Differenzial Analyse in der Praxis (Florian Walther)Differenzial Analyse in der Praxis (Florian Walther)
Differenzial Analyse in der Praxis (Florian Walther)
 
Messbarkeit von Social Collaboration - Ansätze im Überblick
Messbarkeit von Social Collaboration - Ansätze im ÜberblickMessbarkeit von Social Collaboration - Ansätze im Überblick
Messbarkeit von Social Collaboration - Ansätze im Überblick
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Der Wert von Daten in Zeiten von "Big Data"
Der Wert von Daten in Zeiten von "Big Data"Der Wert von Daten in Zeiten von "Big Data"
Der Wert von Daten in Zeiten von "Big Data"
 
Microprofile.io - Cloud Native mit Java EE
Microprofile.io - Cloud Native mit Java EEMicroprofile.io - Cloud Native mit Java EE
Microprofile.io - Cloud Native mit Java EE
 
Mobile Business 2013: Chancen und Herausforderungen
Mobile Business 2013: Chancen und HerausforderungenMobile Business 2013: Chancen und Herausforderungen
Mobile Business 2013: Chancen und Herausforderungen
 
Daten ohne Grenzen – Big Data
Daten ohne Grenzen – Big DataDaten ohne Grenzen – Big Data
Daten ohne Grenzen – Big Data
 
Beispiele aus der Szenario-Praxis - Selbstständigkeit
Beispiele aus der Szenario-Praxis - SelbstständigkeitBeispiele aus der Szenario-Praxis - Selbstständigkeit
Beispiele aus der Szenario-Praxis - Selbstständigkeit
 
Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.
 
CRO Prozesse mit Data Mining Optimieren
CRO Prozesse mit Data Mining OptimierenCRO Prozesse mit Data Mining Optimieren
CRO Prozesse mit Data Mining Optimieren
 

Mehr von OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Fallstricke im Maschinellen Lernen

  • 1. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner Gebrauch  Überraschend mehr Möglichkeiten © OPITZ CONSULTING 2017 OOP München 06.02.2018 Milen Großmann, Associate Developer Fallstricke im Maschinellen Lernen
  • 2. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner Gebrauch Seite 2Fallstricke im Maschinellen Lernen Inhalte 1 2 3 Vorstellung Grundlagen Fallstricke
  • 3. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner Gebrauch Seite 3Fallstricke im Maschinellen Lernen Vorstellung  Milen Großmann  Opitz Consulting 1
  • 4. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 4 Vorstellung Milen Großmann  Studium der Regenerativen Energien in München  Erfahrung im Maschinellen Lernen:  Event Detection in elektrischen Energienetzen  Analyse von Energiedaten mittels nonparametrischer Algorithmen  OC-interne Projekte zu den Themen Stream Analytics & Blockchain  BigData-Softwareentwickler bei Opitz Consulting seit 10/2017
  • 5. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 5 Vorstellung Opitz Consulting  Gegründet von Bernhard Opitz, Peter Dix und Rolf Scheuch in 1990  Ca. 500 Mitarbeiter  Partnerschaften u. a. mit Oracle, Microsoft, AWS, Atlassian, SAP  Tätigkeitsfelder:  Softwareentwicklung  Digitalisierung  Managed Services  Cloud & Infrastruktur  Datenbankadministration  BigData  …
  • 6. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner Gebrauch Seite 6 Grundlagen  Was ist Maschinelles Lernen?  Arten des Maschinellen Lernens  Wie bewertet man Modelle? 2 Fallstricke im Maschinellen Lernen
  • 7. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 7 Was ist Maschinelles Lernen?  = Lehre von Algorithmen, die die Fähigkeit haben, selbstständig aus Daten zu lernen ohne explizit dazu programmiert worden zu sein  Anwendungsfälle:  Intrusion Detection in Computersystemen  Fraud Detection im Finanzwesen  Gesichtserkennung  Predictive Maintenance  Chatbots, Spam Filter  “Früher”:  “Heute”: Programmierer Programm Ergebnis Daten Algorithmus Ergebnis
  • 8. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 8 Was ist Maschinelles Lernen? Arten Potentielle Gefahren  Finanzielle Einbußen  Imageschäden  Sicherheitslücken  Systemausfälle oder Systemfehlverhalten Supervised Unsupervised Reinforcement
  • 9. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 9 Wie bewertet man ML-Modelle?  Erzeugung Testdatensatz für finale Bewertung  Unterteilung des Datensatzes in Trainings- und Evaluationsdaten  Trainieren des Algorithmus mit versch. Einteilungen  Final: Test mit Testdatensatz TestTraining Eval Can’t touch this! TestTraining Eval Training
  • 10. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner Gebrauch Seite 10 Fallstricke  Missachtung von Klassengewichtungen  Overfitting  Underfitting  Data Snooping  Misinterpretation von Daten 3 Fallstricke im Maschinellen Lernen
  • 11. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 11 Missachtung von Klassengewichtungen  Beispiel:  Umfrage unter 1000 Personen  Einteilung in 500 Männer & 500 Frauen  Fehler!  51.3% Männer, 48.7% Frauen  korrekte Einteilung: 513 Männer & 487 Frauen  Abhilfe: Stratified Sampling  = Einteilung von Datensätzen in homogene Untergruppen (Strata)  Repräsentative Menge an Samples wird aus Daten gezogen  Strata sollten nicht zu zahlreich sein
  • 12. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 12 Missachtung von Klassengewichtungen  Zu viele Untergruppen  Nicht genügend Datensätze pro Gruppe  inhomogen Voreingenommenheit 1. # Plotte Einkommenskategorien in 1000$ 2. housing["median_income"].hist()
  • 13. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 13 Missachtung von Klassengewichtungen 1. # Teile durch 1.5 um Anzahl der Einkommenskategorien zu beschränken 2. housing["income_cat"] = np.ceil(housing["median_income"] / 1.5) 3. # Fasse alle Einkommenskategorien >5 als EK 5 zusammen 4. housing["income_cat"].where(housing["income_cat"] < 5, 5.0, inplace=True) 5. # Plot 6. housing["income_cat"].hist()
  • 14. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 14 Missachtung von Klassengewichtungen 1. def income_cat_proportions(data): 2. return data["income_cat"].value_counts() / len(data) 3. train_set, test_set = train_test_split(housing, test_size=0.2, random_state=42) 4. compare_props = pd.DataFrame({ 5. "Overall": income_cat_proportions(housing), 6. "Stratified": income_cat_proportions(strat_test_set), 7. "Random": income_cat_proportions(test_set), 8. }).sort_index() 9. compare_props["Rand. %error"] = 100 * compare_props["Random"] / compare_props["Overall"] - 100 10. compare_props["Strat. %error"] = 100 * compare_props["Stratified"] / compare_props["Overall"] – 100 11. print(compare_props)  Deutlich geringere Abweichung mit Stratified Sampling
  • 15. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 15 Overfitting  Modellkomplexität zu hoch  Modell lernt Rauschen statt Datenmuster  Schlechte Verallgemeinerung auf unbekannte Daten  Analogien:  Klischees  Kenntnis von Prüfungsfragen vor der Prüfung  Häufiger Hinweis: zu hohe Modellgenauigkeit
  • 16. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 16 Overfitting  Mögliche Gegenmaßnahmen:  Regularisierung  mehr Daten (kaufen, messen, generieren)  Rauschen reduzieren
  • 17. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 17 Underfitting  Modellkomplexität zu gering  Schlechte Modellperformance bei Testdaten und neuen Daten  Mögliche Gegenmaßnahmen:  Wahl eines komplexeren Modells  Verwendung von Features höherer Qualität (feature engineering)  Modelleinschränkungen reduzieren
  • 18. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Data Snooping “Menschliches Overfitting” Seite 18  Betrachten von Testdaten “Zurechtbiegen” der Realität Falsche Modelle  Auch durch Hyperparametertuning und Modellevaluation durch Validation mit gleichen Datensätzen  Abhilfe: Generierung eines Testdatensatzes als erster Schritt, und TestTraining Eval Can’t touch this!
  • 19. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 19 “Know your Data”!  Sensordaten?  Energieverbrauch, Schaltfrequenz? Unsinn! 1. from sklearn.datasets import fetch_mldata 2. data = fetch_mldata(‘big surprise’) 3. X, y = data[‘data’], data[‘target’] 4. print(X.shape) 5. # Output: (70000, 784) 6. plt.figure(figsize=(12, 6)) 7. plt.plot(X[36000]) 8. plt.show()
  • 20. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 20 “Know your Data”! 1. from sklearn.datasets import fetch_mldata 2. mnist = fetch_mldata('MNIST original') 3. X, y = mnist["data"], mnist["target"] 4. print(28*28) # output: 784 5. some_digit = X[36000] 6. some_digit_image = some_digit.reshape(28, 28) 7. plt.imshow(some_digit_image, cmap = matplotlib.cm.binary, 8. interpolation="nearest") 9. plt.axis("off") 10. save_fig("some_digit_plot") 11. plt.show()
  • 21. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 21 “Know your Data”! 1. def plot_digit(data): 2. image = data.reshape(28, 28) 3. plt.imshow(image, cmap = matplotlib.cm.binary, 4. interpolation="nearest") 5. plt.axis("off") 6. def plot_digits(instances, images_per_row=10, **options): 7. size = 28 8. images_per_row = min(len(instances), images_per_row) 9. images = [instance.reshape(size,size) for instance in instances] 10. n_rows = (len(instances) - 1) // images_per_row + 1 11. row_images = [] 12. n_empty = n_rows * images_per_row - len(instances) 13. images.append(np.zeros((size, size * n_empty))) 14. for row in range(n_rows): 15. rimages = images[row * images_per_row : (row + 1) * images_per_row] 16. row_images.append(np.concatenate(rimages, axis=1)) 17. image = np.concatenate(row_images, axis=0) 18. plt.imshow(image, cmap = matplotlib.cm.binary, **options) 19. plt.axis("off") 20. plt.figure(figsize=(9,9)) 21. example_images = np.r_[X[:12000:600], X[13000:30600:600], X[30600:60000:590]] 22. plot_digits(example_images, images_per_row=10) 23. save_fig("more_digits_plot") 24. plt.show()
  • 22. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner GebrauchFallstricke im Maschinellen Lernen Seite 22 “Know your Data”!  Seien Sie sich bewusst wo Ihre Daten herkommen und was sie aussagen!  Wissen Sie um die Qualität der Daten!  Algorithmenwahl ohne Annahmen ist sinnlos (“No Free Lunch Theorem”)  Je mehr Daten, desto unwichtiger der Algorithmus Quelle: “The Unreasonable Effectiveness of Data” Peter Norvig et al. (2009)
  • 23. © OPITZ CONSULTING 2017 Informationsklassifikation: Interner Gebrauch  Überraschend mehr Möglichkeiten @OC_WIRE OPITZCONSULTING opitzconsulting opitz-consulting-bcb8-1009116 WWW.OPITZ-CONSULTING.COM Fallstricke im Maschinellen Lernen Vielen Dank für Ihre Aufmerksamkeit! Milen Großmann Associate Developer Landwehr 2 22087 Hamburg milen.grossmann@opitz-consulting.com +49 40 741122-1357 Seite 23

Hinweis der Redaktion

  1. Will keinen Überblick über Algorithmen geben (-> siehe Web) sondern Erfahrungen im Umgang mit ML weitergeben  Überblick über Algorithmen gibt Martin Münn morgen  Ziel: Entscheider wissen was ihre Leute brauchen um effektiv arbeiten zu können, Entwickler die neu in diesem Feld sind wissen worauf sie achten müssen Verwende Englische Begriffe, da deutsche Übersetzungen blöd klingen und Großteil der Literatur und Veröffentlichungen auf Englisch
  2. Energiedisaggregation
  3. - Niederlassungen in allen großen Industriestandorten Deutschlands: Hamburg, Berlin, Stuttgart, Nürnberg, Essen, München, nahe Köln, Bad Homburg Wir stellen ein!
  4. Wikipedia: ML ist die künstliche Generierung von Wissen aus Erfahrung ML notwendig allein schon aufgrund der heute vorhandenen Datenmenge
  5. Finanzielle Einbußen z. B. durch falsche Investmentstrategie, ausfallende Maschinen Imageschäden: Paradebeispiel große SW-Entwicklungsfirma -> Chatbot leugnete irgendwann den Holocaust Imageschäden: Pardebeispiel Linus Torvalds’ Spam Disaster beim Maildienst eines großen Suchmaschinenherstellers Weitere Infos zu Basics des Maschinellen Lernens morgen
  6. Viele Algorithmen performen schlecht bei inhomogenen Gruppen
  7. Regularisierung begrenzt Freiheitsgrade des Modells durch zusätzliche Terme in Evaluationsmetrik -> Parameteranpassung nur innerhalb gewissem Bereich Daten generieren z. B. wie großer Video-Streamingdienst: 3 Serien/Filme wählen die einem gefallen -> Korrelation mit Nutzern die ähnlich gewählt haben und deren Daten
  8. In vergangenem Projekt von Kollegen: Dr. in Mathe hatte einfach Neuronales Netz verwendet “weil er’s kann” -> schlechte Performance -> konnte von Kollegen deutlich verbessert warden durch Modellvereinfachung Algorithmenwahl…..sinnlos -> No Free Lunch Theorem