11 KiB
Notizen Lektion 2
Thema: Einführung Practical Machine Learning 2 Datum: 22.04.2026 Dozent: Jürgen Vogel
recap
[!NOTE] Definition algorithm that learns from experience E to solve some tasks T with performance P and P improves with E
- Model
- represents the solution to the tasks T
- is learnt and adapted based on E
- can be evaluated with respect to P
- Features
- are the relevant part of the data E for creating the model
- may have to be designed explicitly depending on the ML algorithm
- Categorization with respect to
- experience E: supervised vs. unsupervised vs. reinforcement leanring
- tasks T: clustering vs. classification vs. regresseion
- human-readable model: white box vs. black box
- Project
- agile/iterative development (CRISP-DM)
- Key Challenges
- definition of T that is both solvable and generates value
- large amounts of high quality data E
- feature engineering
- dealing with 95% models
Evaluation
How good is the machine learning system?
-
returned result is good if it solves the problem at hand
- may be qualitative or quantitative
- may be subjective (user need, context, and preferences)
- may change over time
- also depends on factors such as credibility, specificity, exhaustivitiy, recency, clarity, interpretability... of the result
-
Beispiel Suchmaschine: Eine Reihe von Keywords werden in eine Suchmaschine eingegeben
- Wann ist die Antwort der Suchmaschine "gut"?
- Schwirig zu beantworten, da es sich von Nutzer zu Nutzer unterscheided
- Casual User: Frage aus generellem Context -> generellere Antwort okay
- "Wo ist in Laufdistanz ein Restaurant, das offen ist"
- Man will nicht das bestmögliche Setting finden und alle Restaurants finde
- Schnelles Ergebnis und gut genug
- "Wo ist in Laufdistanz ein Restaurant, das offen ist"
- Expert User: Recherchiert sehr detailierte Informationen
- Umfangreiche Analyse machen
- Was gibts alles für wiss. Literatur zum Thema?
- Was sind die besten Verfahren?
- Informationsbedürfnis sehr hoch
- Wann ist die Antwort der Suchmaschine "gut"?
-
thus, the ML system needs to be assessed in "real-life" situations
- often with user involvement
- similar methods as with user requirements research
- usability tests, interviews, field studies, log analysis
- but this takes time and is costly
Metrics SR/ER
-
Wichtig:
- Success Rate
- Error Rate
-
Success
- Result is correct -> ein einzelnes Sample ist richtig klassifiziert worden
- success rate -> durschnitt über grössere Menge samples
- nennt man auch accuracy
-
Error
- Result is incorrect -> ein einzelnes Sample ist falsch
- error rate -> durschnitt über grössere Menge samples
-
Beides ist eine 1/0 Betrachtung -> Entweder falsch oder richtig
-
Bsp: Wie viele Personen sind auf Bild
- Modell sagt 3 Personen
- Auf Bild sind 5 Personen
- Wie bewertet man das?
- falsch? -> 100% error
- ein bisschen richtig? 3/5 erkannt 2/5 fehler
-
Generalisieren wir die Erfolgsrate erhält man
- our ML system takes some test data D as input and produces some results
- D -> {r'1, ... r'n}
- e.g. if r'i are from a list of predefined labels , we call this classification
- the test data also includes the expected result "gold standard"
- D -> {r1, ..., rn}
- for the test setting, we define some comparison functions
- c(r, r') = 1 if r = r', 0 else # vergleichsfunktion
- then we can calculate the success rate SR as
- SR = (1/n)*sum(i=1, n, c(ri, r'i))
- our ML system takes some test data D as input and produces some results
Precision and Recall for Binary Classification
- Bsp. Suchmaschine -> Man will evaluieren ob das Modell gut funktioniert
- Für eine Suchanfrage wurde ein Test Set zusammengestellt
- Manuell bewertet (Gold Standard):
- Man weiss für jeden Eintrag: Website passt oder passt nicht
Bewertung:
| positive gold | negative gold | |
|---|---|---|
| positive classified | true positive (TP) | false positive (FP) |
| negative classified | false negatives (FN) | true negative (TN) |
-
True Positives: Classifier bewertet positiv, Goldstandard sagt positiv
-
True Negatives: Classifier sagt negativ und das stimmt auch
-
False Negatives: Classifier sagt nicht negativ, Goldstandard sagt aber positiv
- das ist ein Fehler
- Bsp. Suchmaschine: Die Suchmaschine liefert ein Suchresultat nicht zurück obwohl es relevant wäre
-
False Positives: Classifier sagt positive, das stimmt aber nicht
- das ist ein weiterer Fehler
- Bsp. Suchmaschine: Die Suchmaschine liefert ein nichtrelevantes Suchresultat zurück
-
Daraus abgeleitete Metriken:
- Precision
- Menge der TP in Bezug auf die insgesamt positiven Samples (gemäss Gold Standard)
- Wenn mein Algorithmus keinen Fehler macht dann hat man 100% precision
- P = TP / (Class p Classified)
- Bsp.: Wieviele der angezeigten Webseiten, sind gemäss Gold Standard wirklich relevant?
- Recall
- Wie hoch ist der Anteil der False Negatives gemäss Gold Standard
- R = TP / (Class p Gold)
- Bsp. Welche Seiten die der Mensch (Gold Standard) als relevant klassifiziert hat, werden tatsächlich angezeigt?
- Perfekt wenn all relevanten Seiten angezeigt wurden
- Schlecht wenn keine relevanten Seiten gefunden wurden
- Precision
-
Erweiterte Metrik: Confusion Matrix
-
Precision vs Recall
- There is often a trafe-off between Precision and Recall
- improving the algorithm towards one weakens the other
- Will ich das Modell in richtung Precision verbessern, wird der Recall schlechter und umgekehrt
- Entweder das eine oder andere kann optimiert werden
- Bspw. Suchmaschine: Einfach alles anzeigen, dann gibts keine False Negatives weil das Gesuchte immer gefunden wird
- Die Precision wird dabei aber sehr sehr schlecht, weil ganz viele False Positives dabei sind
- 100% Recall 0% Precision
- Oft muss ein Kompromiss getroffen werden zwischen Precision und Recall
- Die Entscheidung was optimiert werden soll, muss vom Entwicklungsteam getroffen werden
- Precision-oriented users
- Web Surfers
- Recall-oriented users
- Professional searches, legal, etc
-
Dafür gibt es aber folgendes Hilfsmittel: F-measure
- Das gewichtete, harmonische Mittel zwischen Precision und Recall
- Formel: Skript Seite 7
- F = 1/( alpha* 1/P + [1-alpha] * 1/R) = (beta^2 + 1)PR / (beta^2P+R) = beta^2 = 1 - alpha / alpha
- Ist parametrisierbar
- Beta < emphasize precision
- Beta > emphasize recall
- Das gewichtete, harmonische Mittel zwischen Precision und Recall
Other metrics
- the generalization of our binary classifier result matrix (classification result vs. gold standard) is called a confusion matrix
- many different metrics can be derived from this
- https.//en.wikipedia.org/wiki/Confusion_matrix
- other widely used metrics include ROC, K-S, gail/lift, ...
- many different metrics can be derived from this
- for specific ML problems and algorithms many additional metrics exists
Automated Evaluation Workflow
- How can we automatie evaluation
- define a controlled test set (benchmarks)
- collection of data (labeled)
- one or more tasks to be solved by the ML system
- expected results
- created by (typically) human domain experts
- execute ML system for test set
- compare computed results against expected results
- define a controlled test set (benchmarks)
Evaluation Goals
- Compare a solution with ...
- different configuration options
- bspw. feingranulare parametrisierung in einem decision tree (gini parameter bspw)
- alternative solutions
- a basic solution ("baseline")
- abschätzung nach unten
- the industry and/or academic leader ("state-of-the-art")
- abschätzung nach oben
- human performance ("gold standard")
- auch eine abschätzung nach oben, welche man machen sollte
- Mensch macht auch 1-2% Fehler
- itself over time
- different configuration options
Using Data for Training and Testing
- ML Methods usually require fine-tuning for good quality
- Trainingsdaten dürfen nicht gleichzeitig zum Testen verwendet werden, es muss aufgeteilt werden
- Wie splitte ich in Trainingsdaten und Testdaten?
- Modell wird besser wenn mehr trainingsdaten gegeben werden
- aber man will auch möglichst viele Daten fürs Testen, damit Metrik verbessert wird
- Konflikt
- Einfache Methode: 80% Training 20% Testing
-
Verteilung wichtig! Einfach die vorderen 80% fürs Training nehmen und die hinteren 20% als Test ist nicht gut
- Daten sind oft sortiert
- Beide Datenmengen müssen repräsentativ sein!
-
Quick fix: Random Number generator verwenden (rand-split in scikit-learn)
- wenn die gesamtdatenmenge gross genug ist, geht das relativ gut auf
- im Mittel hat man eine gute Verteilung
- Problematisch wird das wenn das Klassifikationsproblem stark unbalanciert ist
- Websuche: Datenmenge 100k Webseiten, davon sind 20 relevant -> winzige relevante Menge (p class) und eine grosse (n class)
-
Besser als Random-Split: K-Fold Cross Validation
-
K-Fold Cross Validation
-
Wie geht man möglichst effizient mit den gelabelten (gold standard) Daten um?
- Es geht nicht gleichzeitig aber nacheinander
- erst trainieren, dann testen
- Es geht nicht gleichzeitig aber nacheinander
-
How to split gold standard data into test and trainin set such that
- we have enough training data
- our test results are not biased
-
k-fold cross validation
- split data into k folds (Aufteilung in k Teile)
- use (k-1) for training, 1 for testing
- repeat k times
-
Siehe Grafik Skript Seite 14
-
Aufteilung auf 3 Folds
- Jedes Sample wurde jeweils einmal zum training und zum testen verwendet
- Man hat ein Problem, wenn sich die Metriken (Fehlerquoten) beim Testen von Fold zu Fold sich stark unterscheiden
- Weiteres Problem: Modell sehr sensibel auf Trainingsdaten
- Zu wenig Trainingsdaten vorhanden
- Unterschiede von Fold zu Fold sehr gross -> Könnte heissen, dass das Modell nicht stabil ist
- Kommen von Fold zu Fold aber gleich gute Resultate zurück (Varianz und Standardabweichung gleich)
- Gutes Zeichen für das Modell
-
In der Praxis arbeitet man nicht mit 3 sonder mit 10 Folds
- 10 fold cross validation
- 90/10
- Wird statistisch besser
- Setzt voraus, das man genug grosse Datenmengen hat
- 10 fold cross validation
Dataset Challenges
- Potential Problems: is the dataset...
- correct?
- large enough?
- representative?
- cause overfitting? -> Zu viele eintönige Daten, und das Modell lernt eine Niche
- for many application domains, large datasets are available
- not all free but still cost saving
- allows to compare approaches in a larger community
- where to search
- wikipedia
- kaggle
- research groups at universities
- conference series
- research articles
- data collecting companies and public administrations