# Notizen Lektion 1 >Thema: Einführung Practical Machine Learning 1 >Datum: 22.04.2026 >Dozent: Jürgen Vogel ## Beispiele von ML Applications > [!NOTE] Definition > Tokenization -> Datenpunkte aus Datenmenge extrahieren - Sales and customer support - Binärklassifikation - Process automation - Fehlererkennung -> Klassifikationsproblem - Maintenance (Industrieanlagen) - Wann Wartung nötig? -> Optimierungsproblem - Autonomous driving - Möglichst keine Fussgänger überfahren -> Klassifikationsproblem - Farming - Vollautomatisches Pflücken von Unkraut - Erkennen von Unkraut -> Klassifikationsproblem - Robotics - Translation - Sprache übersetzen in andere Sprache -> Generative KI - Google Translate - Deepl ## Bsp. E-Mail Classification > [!NOTE] Definition > Training Data -> (Feature Engineering) -> Vectorized Data -> (Training) -> ML Algorithm - Bsp. automatische Vorsortierung von e-Mail Anfragen von Anfragen beim Kanton - Umweltdepartement - Energiedepartement - Wirtschaftsdepartement - Training Data - Diverse Ausgangsdaten / Trainingsdaten - Müssen vorbereitet werden, das nennt man **Feature Engineering** - Macht aus Training Data Vectorized Data die vom Modell verwendet werden können - Schlüsselworterkennung (bspw. Photovoltaik, Energie, Finanzen) - 0/1-Feature -> Binäres Feature "Ist Schlüsselwort genannt oder nicht?" - Sobald die Trainsingsdaten in Features umgewandelt wurden - Müssen sie in eine Datenstruktur abgebildet werden - ML Algorithmen sind Problemunabhängig (Bild klassifikation oder Email) - Algorithmus hat Feature Erkennung basierend auf Zahlenwerte - Input Vektor wird auf Output gemapped - Mit bestimmter mathematischer Funktion - Daher kann nicht von KI gesprochen werden - Eingangsvektor -> Zahlenwerten - Ausgangswerte -> Ebenfalls Zahlenwerte - Müssen wieder Umgewandelt werden in Features - ML Model - Resultiert aus Training mit ML Algorithmus basierend auf vektorisierten Daten - Stellt den Zusammenhang zwischen Referenzdaten und Departement her - Input Layer -> Hidden Layer -> Output Layer - Ist im Grunde genommen eine **Parameter Optimiertung** - Lierfert eine Klassifikation als Resultat - Wie werden Daten überprüft? - ML Engineer muss überprüfen ob das Modell fehler generiert oder nicht - Test Data, wo man weiss was das Ergebnis ist - Daraus wird eine Error Rate bestimmt - Wichtige Fragestellung: Was eine akzeptable Fehlerquote? - Iterative Verbesserung ## Machine Learning - Learning - Die Welt wird beobachtet - Wissen wird dabei abgeleitet - Kann faktenbasiertes Wissen sein (auf dem Bild ist eine Person) - Kann regelbasiertes Wissen sein (Bild zeigt Person, wenn Objekt mit Features XYZ vorhanden) - Machine Learning - Informal - Ist ein Algorithmus welcher Learning automatisiert umsetzt - Formal - an Algorithm learns from experience E to solve some tasks T with performance P if P improves with E - Artificial Intelligence (AI) - Hat mit machine Learning relativ wenig zu tun - Systeme die sich wie ein Mensch verhalten - Wie testet man ob ein System intelligent ist? - Turing Test - Systeme die wie ein Mensch denken - Nachbildung Kognitiver Denkprozesse -> Hirnstrukturen nachbilden - Nachbildung Logischer Denkprozesse -> Fakten und Regeln verknüpfen - Problemlösung -> Lösungen aktiv suchen - Reasoning -> Wissen aus bereits gemachten Erfahrungen ableiten - Sense and Manipulate -> Mit der Umwelt interagieren und daraus lernen ## Machine Learning Models > [!NOTE] Definition > an Algorithm learns from experience E to solve some tasks T with performance P if P improves with E - Model - represents the solution to the tasks T - is learnt by the ML algorithm - is adapted by the ML algorithm based on E - can be evaluated with respect to P - can be stored - mas be human-readable or not (white box model vs black box) - white box -> man kann sich die Parameter anschauen (reinschauen) - man kann das Modell debuggen und Fehler nachvollziehen - black box -> Neuronale Netze sind immer solche - können nicht verstanden oder nachvollzogen werden - warum wurde Person auf Bild nicht erkannt? -> Schwierig nachzuvollziehen - Für Projekt: Anfangen immer mit einfachem Modell -> um Task und Problematik zu verstehen - Dann auf anderen Algorithmus umschwenken - Features - are the relevant part of the data E for creating the model - may have to be designed explicitly depending on the ML algorithm - Dazu gibt es für gewisse Modelle Standardfunktionen ## Traditional Programming vs Machine Learning - Oft ist es wichig zu entscheiden welche Probleme mit welchem Ansatz gelöst werden müssen - Was sind vor und nachteile von ML? - Viele Probleme lassen sich auch klassisch gut lösen - Was sind die unterschiede? | Traditional Programming | Machine Learning | | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | | transform input data into output data via a series of fixed instructions (conditions, loops, etc) | maps input data to output data via an adaptive model | | white box problem solving | black box problem solving | | deterministic results | continous result improving | | easy to test through classical unit testing | unknown environments or situation are not problematic | | avoid errors introduced by random noise | avoid misconceptions about the real world | ## Statistics vs Machine Learning | Statistics | Machine Learning | | ---------------------------------------------- | ----------------------------------------------------- | | analyzing and interpreting data | algorithms that improve through training (experience) | | relationshios between vars and math equiations | statistical and mathematical methods | | | sacrifices correctness for computability | | estimation | learning | | hypothesis testing | classification | | datapoint | instance/example | | independent variable | feature | | dependent variable | class / label | ## Different Machine Learning Approaches (1) What experience E can be exploited for learning? 1. Supervised Learning - the ML algorithm infers the model from sample data E for which the task T has been solved with optimal performance P - **Algorithmus wird anhand von Beispielen trainiert** - Problem: Trainingsdaten -> wo bekommt man die her? - Ist sehr aufwändig und erfordert auch eine hohe Qualität - Man braucht Daten die gelabled sind zum Trainieren 2. Unsupervised Learning - The ML algorithm infers the model from data E based on some adaptation to distinctive features of E - the algorithm does not have access to P - Keine Referenzlösungen sondern "etwas anderes" -> Features - Bspw. in Mails wird nach Schlüsselworten gesucht, und in Features umgesetzt - Andere Schlüsselworte generiern andere Featurevektoren, die dann verglichen werden können - Wie kann ich dem Algorithmus helfen Datenpunkte auseinanderzuhalten auf Basis von einem feature Vektor - Man braucht Daten die gelabled sind (Referenzdaten) nur zum Testen - Im Gegensatz zum Supervised Learning braucht man also weniger Daten -> Günstiger und effizienter 3. Reinforcement Learning - CAS AI -> da spielt das eine grosse Rolle (Robotik) - Man startet mit einem initialen Modell (neuronales Netz) mit default Werten, die Parameter sind zufällig. - Dann stellt man das Modell sofort produktiv - Man braucht eine Art zu entscheiden ob der Output gut oder schlecht ist - Damit hat man einen realen Trainingsdatensatz und kann damit das Modell verbessern - Rinse and repeat - Trainingsdatensatz wächst kontinuierlich und dadurch wird das Modell besser - Modell wird "bestraft" oder "belohnt" bei positivem oder negativem Verhalten - Bspw.: Bewegungsabläufe eines Roborters trainieren - Welcher Motor dreht sich um wieviel Grad mit welcher stärke - Ergebnis: Roboter bewegt sich in Richtung XY mit Geschwindigkeit Z - Lässt sich gut beobachten -> Roboter fällt auf die Nase bspw. schlecht - Bspw.: Schachcomputer Programm - Lässt sich mit RL einfach und effizient umsetzen, da die Regeln des Spiels bekannt sind und bewertet werden können - Bspw.: Suchmaschine - Query -> Optimale Eergebnisliste - Feedback: Wie geht der Benutzer mit der generierten Ergebnisliste um? Worauf wird geklickt? ## Different Machine Learning Approaches (2) > [!NOTE] Definition > What type of Task T is solved? 1. Clustering - Input data should be divided into distinctive groups - Man hat eine Datenmenge und man vermutet, dass die sich aufteilen lässt in Teilmengen - Ich will Kategorien herausfinden - Bspw.: Kundensegmentierung - Kundengruppen in onlineshop erkennen - Regionale Gruppen, Altersgruppen, Einkommensklassen, Hobby, etc. - model often based on similarity: members in one group are similar - **Unsupervised Learning** ist hier sehr prominent 2. Classification - input data should be assigned a certain class/category/label - Ich will eine vorgegebene Anzahl von Kategorien zuweisen - bspw.: an email is classified as spam or as not-spam - **Supervised Learning** ist hier sehr prominent 3. Regression - estimates the relationship between input data (independent variables) and the output we are interested in (dependent variable) - model is a regression function, often for continous variables - Mit einer Regression lassen sich auch Klassifikationsprobleme lösen, aber nicht umgekehrt - bspw: prediciton of birth date ## Generative AI (GenAI): Large Language Model (LLM) - Modell Speichert grosse Mengen an vorhanden Daten (Internet) - Lernt Sprache - Was löst das LLM? - Klassifikationsproblem -> Es ist eigentlich ein Classifier - Wie funktioniert ein LLM? - Output ist lediglich eine Wortsequenz - Input -> Prompt -> wird umgewandelt zum Feature Vektor und dem Modell übergeben - Output -> Klassifikation oder Vorhersage welches Wort am besten zum Prompt passt - Man nennt das auch Word Prediction - Es wird immer nur ein Wort predicted, der Rest findet iterativ statt, Wort für Wort - Prompt und Erstes Wort als Input geben - Dann das nächste Wort, und so weiter - Iterative Klassifikation ## Machine Learning Workflow (CRISP-DM) - Wir arbeiten iterativ und es wird eine Reihe von Arbeitsschritten durchlaufen - der erste Wurf ist meist nicht gut genug - Der Ablauf lässt isch wie folgt definieren: 1. Welches Problem will ich lösen -> Business Understanding 2. Daten verstehn und labeln -> Data Understanding 3. Daten in Feature Vektor umwandeln -> Data preparation 4. Aus Daten ein Modell ableiten -> Modeling 5. Metrik Feststellen und Testen -> Evaluation 6. Praktisches Einsetzen -> Deployment ## Business understanding - Problem definieren "Welches Problem will ich überhaupt lösen?" - Für Projektarbeit: Klar abgegrenztes, einfach lösbares Problem definieren - predict the remaining lifetime of a machine - classify email as spam or not - detect a human face in an image - Antibeispiel: "We have a ton of XYZ data -> can you make something useful out of it?" - data science: iteratively addressing the information needed - machine learning not necessarily means automation - Es muss nicht alles automatisiert werden, auch Unterstützung ist sinnvol - Statt vollautomatischem Mailbeantworten vielleicht eher eine Vorsortierung oder ein Templating der Antworten - bspw.: Supermarkt - Leute kaufen oft Bier und Chips zusammen - Was kann mit dieser Information gemacht werden? - Entweder Produkte nebeneinander Stellen damit der Durchlauf höher wird - Oder möglichst weit auseinander, damit die Zeit im Shop maximiert wird -> grösserer Einkauf ## Example: To Wait or Not to Wait > [!NOTE] Fragestellung > Will people wait in line for eating in a restaurant? 1. Collecting data - Internal or external sources? - Intern: Unternehmensdaten anzapfen - Extern: Referenzdatensatz aus der Verhaltensforschung - Fragestellgun: Sind die Daten bereits gelabeled? - Wenn ein Problem mit SL gelöst werden soll -> Ist es realistisch die Daten im Rahmen des Projekts zu Labeln? Aufwändig! Wenn nein, mach was anderes. - Es werden schnell 4 oder 5 stellige Mengen an Daten benötigt - [Kaggel](https://www.kaggle.com/datasets)-> Data Science challenges sind bspw. eine gute Quelle - Forschungscommunity -> Referenzdatensätze - Google Scholar -> in den referenzen stehen meist die Datensätze 2. Understanding Data - Which aspects of available data can be utilized as features? - Was wurde in Referenzprojekten verwendet? - feature types: boolean, nominal (categorial), or numeric - often helpful to look at basic statistics to develop a "feeling" - histograms and frequency distributions or graphs - Verteilungsfunktion - Welche features kommen in welchen Klassen vor? - Viel Zeit reservieren für Semesterarbeit - Wie häufig sind meine Klassen in den Daten vertreten? - many classification problems are unbalanced! - 99% der emails sind nicht spam und 1% spam - Das Modell wird oft auf die Klasse optimiert, auf die Klasse die am Meisten vorkommt - classes are not evenly distributed but a class may be very rare or very frequent - e.g: detecting rare diseases: only x cases in a million - may not even occur in a dataset at hand 3. Preparing (cleaning) Data - data integration: data from different sources may use different schema (syntax) or semantics - data transformation: e.g. turn numeric feature (age) into nominal (age-category) - data may be missing: e.g some features have not been recorded for some instances -> Daten können fehlen oder fehlerhaft sein! - Messfehler, Duplikate - Bewusste Irreführung bei Umfragen - Features können fehlen da sie noch nicht gemessen wurde - Veraltete Daten die vielleicht sogar obsolet sind - feature generation: processing low-level data into higher-level features - feature selection: selecting the best features from a (too) large set - Brauche ich wirklich alle Features in einem Datenset? 4. Modeling 1. Selecting an appropriate ML algorithm - black box or white box - Im Restaurants-Beispiel entscheiden wir uns für einen Entscheidungsbaum - Das ist ein Supervised Classifier 2. Building the Model - via training (automatically) - via configuration (manually) 3. Decision Tree (DT) - Supervised Classification Algorithm - binary classification: two classes true/false - tree leaves represent class labels - all other nodes represent a devision based on a certain feature - path between parent to child nodes represents next relevant decision - path from root to leaf node represents conjunctive devisions - Der Aufbau des Baumes wird durch den Algorithmus spezifiziert - Es handelt sich um ein white box Verfahren - DT Construction - Challenge: many alternative and equivalent DT exits - Correct but inefficient DT: All samples are leaf nodes with path utilizing all present features (bruteforce) - Bei numerischen Variablen wird es schwierig einen Schwellwert zu setzen - Wartezeiten sind individuell und schwierig zu klassifizieren - Fehler potenzieren sich pro Entscheidung - Strategie: Pfade möglichst kurz halten, entscheidungen möglichst schnell treffen, daher ist ein Bruteforce apporach mit allen entscheidungen schlecht - Wichtig: Entscheidungspfade müssen kurz sein (optimaler Baum) - Optimaler Algorithmus: - for the next node, choose feature that splits the sample data into the most homogeneous subsets. - Attribute die die Samples möglichst stark aufteilen (klassifizieren) zuerst! - Patrons -> (None,Some,Full) -> liefert die beste Trennung - Type -> (French, Italian, Thai, Burger) -> Informationsgewinn gleich Null - Für jeden Teilschritt muss das optimale Attribute herausgesucht werden - formally: the feature that minimizes the remaining entropy (optimale codierung) - Different DT Algorithms around this Idea: ID3, C4.5, C5 5. Evaluating the Model - Is the model good enough? - what is the metric for good enough? - fester Wertebereich -> zwischen 0 und 1 - durchschnittlicher Fehler bspw. - kann auch der worst case sein - So setzen, dass worst case noch akzeptabel - processing time and scalability - offers a human-understandable explanation (white box) - in real-world scenarios it's impossible to have error-free models - missing or noisy data - model tries to generalize but there may be executions 6. Productizing a Model - Some aspects to consider - Human and Computational resources - Training des Models kann viel kosten - Feature Generierung kann auch teuer sein - Ist das Model update fähig? - some models may be incrementally updated - ML Ops considerations - runtime environment - interface - versioning (Model und Daten) - Application development - model provides useful features of a larger application - human factors: trust, bias, accountability, security ## Summary: Machine Learning Challenges For ML to work, we need the following: - Konkrete Aufgabenstellung, bei welcher man eine wohldefinierte Überprüfungsfunktion hat - Man benötigt Daten in der notwendigen Quantität und Qualität - data may be garbled or missing - dataset may be too small for the task at hand - dataset may not be representative or biased - Man braucht gute Features - Welche in welcher Kombination? - Decisive patterns - patterns may be inexact or spurious - most patterns are not interesting - Auswahl des passenden ML Algorithmus - which one in which configuration - Kombinationen von Parametern wichtig - Ist es eine zukunftsfähige Lösung? Was wenn sich die Datenmenge verzehnfacht? - Akzeptable Fehlerquote definieren - kein Modell ist frei von Fehlern!