Files
cas-pml/ML/notizen/L2_Notizen.md
T

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
    • 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
  • 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))

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
  • 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

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, ...
  • for specific ML problems and algorithms many additional metrics exists

Automated Evaluation Workflow

  • How can we automatie evaluation
    1. 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
    2. execute ML system for test set
    3. compare computed results against expected results

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

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
  • 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

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