Full Transcript

Machine Learning: High-Level Tools & Algorithms Was ist ein Entscheidungsbaum (EB)? Klassifikationsmodell was aus Daten abgeleitet wird beschreibt von welchen MM die Klassifikation abhängt; Modell wird dann verwendet um neue Datenpunkte zu klassifizieren wenn MM mit im Modell festgelegten Klassi...

Machine Learning: High-Level Tools & Algorithms Was ist ein Entscheidungsbaum (EB)? Klassifikationsmodell was aus Daten abgeleitet wird beschreibt von welchen MM die Klassifikation abhängt; Modell wird dann verwendet um neue Datenpunkte zu klassifizieren wenn MM mit im Modell festgelegten Klassifikationen abgeglichen werden Zu welchem “…-Learning” gehören Entscheidungsbäume dazu? zu supervised learning weil auf gelabelten Daten trainiert wo die korrekten Klassifikationen schon bereits bekannt sind Was sind Entscheidungsregeln? Sind im EB von hierarchischer Struktur weil sie wie „Wenn-Dann-Bedingungen“ sind; Kriterien für gutes EB-Modell: 1. Konsistenz Entscheidungen des Modells basieren auf TTD und sind logisch 2. Generalisierung EB soll in der Lage sein bei neuen, noch nicht trainierten Daten gut zu funktionieren 3. Korrektheit Entscheidungen des EB sollten die tatsächlichen Klassifikationen korrekt widerspiegeln. (zB durch Overfitting, TD sind nicht repräsentativ für Gesamtpopulation = Muster fehlen ihm, zu komplexe Struktur = Modell erlernt unerwartete Muster oder Ausnahmen die nicht tatsächl. Muster repräsentieren und eher Rauschen sind oder spez. Eigenschaften für TD) 4. Einfachheit guter EB ist leicht verständlich Was ist der ID3 Algorithmus? Wird verwendet um EB aus Daten zu lernen; ist: rekursiv, heuristisch und gierig als Algorithmus - rekursiv rückkoppelnd damit es alle DS kategorisiert - heuristisch Faustregel/Methode/Strategie für Problemlösung, damit man schnell & einfach zu einer Lösung kommt - gierig effiziente & schnelle Lösungen; nicht gleich 100% korrekteste Lösung aber eine akzeptable; bei Auswahl der MM für Aufteilung eines Knotens im EB wird diejenige benutzt die beste IG in diesem speziellen Schritt aufweist und es wird nicht auf zukünftige Struktur geschaut Wie funktioniert der ID3 Algorithmus? 1. Schritt-Anfang startet mit gesamten DS und sucht nach bestem MM um Daten zu teilen, Entropie bzw IG wird als Maß verwendet, um zu bewerten wie gut MM ist 2. Schritt-Teilen Teilt DS basierend auf ausgewähltem MM 3. Schritt-Wiederholung Alg wiederholt Schritte 1. & 2. Für jede Teilgruppe, damit es einen rückgekoppelten Aufbau gibt 4. Schritt- Stoppkriterien wenn best. Krit. Erfüllt sind, dann stoppt EB; wenn alle Datenpunkte in einer Teilgruppe die gleiche Klassifikation haben (keine weitere Unterteilung mehr notwendig) oder wenn Baumtiefe eine bestimmte Tiefe erreicht hat (vorher festgelegtes Limit); Minimale Anzahl von DP in einem Blattknoten ist erreicht (weniger komplexer Baum); IG-Schwelle unterhalb der Algo stoppt Was ist Entropie und Informationsgewinn (IG)? Entropie = Unordnung; IG = Maß bewertet wie sehr Aufteilung der Daten die Entropie in den Teilgruppen reduziert; MM mit höchstem IG wird ausgesucht, um Baum an dieser Stelle zu teilen Wie funktioniert so ein ID3 Algorithmus bei der top-down Konstruktion von Entscheidungsbäumen? 1. Wurzelknoten Prozess beginnt mit einem Wurzelknoten, der alle gegebenen Trainingsdaten bzw. Datenpunkte die das Training des EB verwendet werden Trainingsdaten sind Paare aus Eingabeattributen und zugehörigen Zielklassifikationen oder Zielwerten zur schrittweisen Entscheidungsfindung und Konstruktion von EB 2. Überprüfung ob alle Trainingsdatenpunkte im Wurzelknoten zu einem Knoten der gleichen Klasse angehören – wann ja, stoppt Alg hier 3. Bestes MM Heuristisches Maß wird verwendet, damit bestes MM ausgewählt wird für Unterscheidung zw. Klassen 4. Verzweigung Erstellung weiterer Verzweigungen für das gerade ausgewählte MM; Nachfolgeknoten für jeden möglichen Wert von dem MM 5. Aufteilung der Trainingsbeispiele …die mit dem aktuellen Knoten verbunden sind, in Teilmengen auf, basierend auf ihren Werten für das ausgewählte MM (zB "Hat Fell" = Ja& für "Hat Fell" = Nein Für "Hat Fell" = Ja: -- Hund: Zielklasse (Säugetier) -- Katze: Zielklasse (Säugetier) || Für "Hat Fell" = Nein: -- Schlange: Zielklasse (Nicht-Säugetier) 6. Rekursive Aufrufe Alg läuft jz rekursiv bis alle Bsp in einem Knoten zur gleichen Klasse gehören oder anderes Stoppkriterium auftritt (Hier enthält bei Fell/ja? „Säugetier“ bei allen Bsp und umgekehrt nur „Nicht-Säugetier“ = Alg. Endet) Was ist ein Attribut? = MM IG wird häufig verwendet; „bestes MM“ = jenes was die meisten Infos darüber liefert, wie die Daten in versch. Klassen aufgeteilt werden sollten ermöglicht klare Unterscheidung der Klassen und hilft einfachen EB zu erstellen Wie geht man bei numerischen Attributen vor wo man nicht einfach „ja/nein“ kategorisieren kann? Auch: Was sind numerische Attribute? - Numerische Attribute sind zB Alter, Einkommen oder Gewicht - man findet einen Aufteilungspunkt für das Attribut 1. Sortieren Beispiele im DS werden nach Werten des num. Attributs sortiert; zB 2. Mögliche Split-Punkte die Punkte zw. Aufeinanderfolgenden Werten können mögliche Aufteilungspunkte sein zB Alter: 20,30,40 = Splitpunkte: 25,35, 45 3. IG berechnen für jeden dieser Split-Pkte wird IG berechnet, wenn dieser Pkt. als Aufteilung genutzt werden würde und wie sehr das die Unordnung reduziert. 4. Bester Split-Pkt bester Split-Pkt mit höchstem IG wird ausgewählt und mit anderen Split-Pkt von anderen Attributen (numerisch & kategoriell) verglichen; Prozess wird rekursiv für jeden Zweig des Baums wiederholt Was ist das Ziel bei Splits nach numerischen Attributen? Man sucht den besten Punkt in der Liste von Zahlen, damit man die Daten aufteilt und so den Baum aufbauen kann; Der Punkt soll dabei helfen, besser zu verstehen wie verschiedene Werte mit den Klassifikationen zusammenhängen Was ist Overfitting bzw Überanpassung? Baum wird zu komplex und passt perfekt auf die Trainingsdaten, aber auf neuen Daten schlecht generalisiert Welche 2 Hauptstrategien gibt es um Overfitting zu vermeiden? Pre- und Post-Prunning Was ist Pre-pruning? Ist eine Technik in der Modelierung eines Entscheidungsbaums, der Baum wird während des Bauprozesses geschnitten bzw gestutzt bevor seine maximale Tiefe erreicht wird Warum? Damit soll „Overfitting“ verhindert werden Die Grundprinzipien: 1. Maximale Baumtiefe beschränken Tiefe wird während auf eine vordefinierte max. Tiefe begrenz = Baum wächst nicht weiter, sobald max. Tiefe erreicht ist 2. Min Beispielzahl / Blattknoten andere Variante = Begrenzung der Anzahl der Trainingsbeispiele, die in Blattknoten enden müssen = wenn Anz. Der Beispiele unter vordefinierte Schwelle fällt, dann wird Knoten nicht weiter aufgeteilt 3. Min. Informationsgewinn (IG)-Schwelle weiteres Kriterium = Minimierung des IG = Wenn IG durch Aufteilung der Daten unter bestimmten Schwellwert fällt, wird Baum nicht weiter gebaut Was muss man beim Pre-Prunning beachten damit man einen guten Baum erhält? - Hyperparameter sind zb: max. Baumtiefe, min Anzahl von Bsp/Blatknoten/min Reduktion der Entropie (max. IG) Auswahl der Werte beeinflusst Modellkomplexität - Overfitting muss vermieden werden, aber Hyperparameter dürfen auch nicht zu streng sein wodurch Baum zu einfach wird und wichtige Muster übersehen werden - richtige Wahl erfordert Experimente und Abstimmung man kann versch. Kombinationen ausprobieren und dann Einfluss auf Leistung auf Validierungsdatensatz überprüfen Was ist Post-Pruning? Baum wird zuerst vollständig erstellt und dann entfernt man Teile vom Baum oder führt sie zusammen; Teile welche keine signifikante Verbesserung der Vorhersagegenauigkeit bringen; zuerst wird Baum erstellt, der maximal mit Trainingsdaten konsistent ist und daher geringstmögliche Fehler auf TD aufweist Wie könnte so eine Überprüfung auf einem Validierungsdatensatz stattfinden? 1. Die Daten werden zuerst in 3 Teile aufgeteilt: Trainingsdaten (TD), Validierungsdaten (VD) und Testdaten (TTD). TD werden verwendet, um Entscheidungsbaum zu erstellen, VD wird verwendet, um Hyperparameter zu optimieren, TTD für Bewertung der endgültigen Leistung 2. Definierung des Hyperparameter-Raums (HPR - Parameter die das Pre-Prunning beeinflussen) 3. Grid Search oder Random Search alle möglichen Kombinationen von Hyperar.-Werten werden ausprobiert, oder random = effizientere Durchsuchung des HPR 4. Trainieren & Validieren ich wähle Hyperparameter aus; Baum wird trainiert und lernt wie er Daten aufteilen soll, um Entscheidungen zu treffen; jetzt wird mit Daten getestet die der Baum nicht kennt = VD für Leistungsbewertung werden verschiedene Metriken verwendet je nachdem ob Klassifikations (KP)- oder Regressionsproblem (RP): >> KP Metriken (Hund oder Katze): - Genauigkeit wie %-Angabe wie viele Bilder Computer richtig klassifiziert hat - F1-Score Mischung aus Präzision (Modell sagt 10 Hunde aber in echt nur 8 = Modell identifiziert wenig falsch positiv) und Rückruf (insg. 12 Hunde und Modell hat 8 richtig identifiziert = Modell kann tatsächl. Pos. Fälle erfasssen und identifizieren); Hoher Score = Computer umfassend und genau. --- >> RP Metriken (für num. Werte vorhersagen): - MSE – Mean Squared Error durchschn. Fehler zw. Vorhergesagten Preisen und tatsäch. Preisen der Häuser - MAE – Mean Absolute Error misst durchschn. absolut Fehler = wie weit sind Vorhersagen im Durchsch. Von tats. Werten entfernt? 5. Auswahl der besten HP Vorherige schritte wiederholen und dann Kombi die die beste Leistung auf VD bietet = beste Kombi zw. Modellkomplexität & Leistung 6. Evaluation auf TTD nach Auswahl an besten HP wird Modell auf TTD evaluiert, um zu sehen ob es gut auf neue und unbekannte Daten generalisiert Prozess heißt HP-Tuning – stellt sicher, dass Modell so gut wie möglich funktioniert Wie funktioniert Grid Search oder Random Search? Grid Search man erstellt Tabelle mit allen HP-Kombis wenn man eine klare Vorstellung hat, welche Werte für HP effektiv sein könnten Grid Search durchläuft alle möglichen Kombis systematisch und bewertet die Modellleistung für jede Kombi Random Search anstatt alle möglichen Kombinationen systematisch auszuprobieren, werden nur einige zufällige Kombinationen getestet; effizient wenn HP-Raum groß ist und nicht alle Kombis sinnvoll sind. man kommt schneller zu einer guten HP-Kombi besonders wenn es viele Kombis gibt, die nicht vielversprechend sind. Was ist ein Wurzelknoten? Das ist der oberste Knoten im Entscheidungsbaum, repräsentiert gesamten Datensatz, der in Entscheidungsbaum eingespeist wird, ist der erste Entscheidungsknoten von dem Baum seine Verzweigung beginnt, wird durch die Auswahl eines bestimmten Merkmals (Attribut) aus dem gesamten Satz aller Merkmale bestimmt, Dieses MM wird verwendet um DS in versch. Teilgruppen zu unterteilen. Was sind Knoten und Blattknoten? - Innere Knoten enthalten Testbedingungen und leiten den EB in verschiedene Zweige; = Frage oder Bedingung um DS zu teilen - Blattknoten sind Endpunkte des Baums und repräsentieren die Klassifikation der Vorhersage; Wenn EB eine Frage durchläuft und dann auf eine Entscheidung trifft, dann zeigt Blattknoten an zu welcher Klasse oder Kategorie der DP gehört.; Blattknoten = endgültige Klassifikation und hat keine weiteren Unterteilungen Pelz? / \ Ja / \ Nein / \ Blatt1: Hund Blatt2: Schlange Was sind Vor- und Nachteile beim EB-Lernen? VT: * Interpretierbarkeit leicht verständlich und können visualisiert werden, wodurch man EB erklären kann * Fähigkeit, mit verschiedenen Datentypen umzguehen können sowohl numerische als auch kategorielle Daten verarbeiten * Robustheit gegenüber Ausreißern in Daten wenn Baum nicht zu tief oder Maßnahmen wie Pruning ergriffen wurden NT:* Overfitting kann leicht passieren ohne Maßnahmen * Instabilität kleine Änderungen in Trainingsdaten können zu erheblichen Änderungen im erstellten EB führen, was erhebliche Änderungen im Baum hervorruft. * Bias gegenüber dominanten Klassen EB sind hingezogen Klassen in denen die Trainingsdaten oft vorkommen und vernachlässigen dadurch Trainingsdaten die weniger oft vertreten sind; kann zu Ungenauigkeiten in der Vorhersage weniger häufiger Klassen führen * Können nicht kontinuierlich lernen wenn neue Daten eintreffen gesamter Baum muss erstellt werden und das ist ressourcenintensiv * Lernprozess ist gierig bei jeder Entscheidung wird die beste verfügbare Option ausgewählt, ohne auf Konsequenzen zu schauen; wird „lokales Optimum“ genannt, weil Baum kombinierte Einflüsse oder Beziehungen nicht erkennt Testing and Scoring Welche Möglichkeiten hat man bei Algorithmen um Entscheidungsbäume zu erstellen? 1. ID3 (iterative Dochotomiser 3) klassischer Algorithmus für top-down Konstruktion von EB; wählt in jedem Schritt das beste MM aus, um die Daten zu teilen 2. CA.5 (Nachfolger von ID3) verbessert einige Schwächen von ID3 und kann sowohl mit numerischen als auch mit kategorialen Daten umgehen; C4.5 führt auch Pruning durch, damit zu komplexe Bäume verhindert werden 3. CART (Classification and Regresseion Tree) vielseitiger Algorithmus weil er für Klassifikations- und Regressionsaufgaben genutzt wird; basiert auf binären Entscheidungsbäumen und verwendet den Gini-Index für Aufteilung der Daten 4. Random Forest Ensemble – Methode, trainiert mehrere EB und kombiniert Vorhersagen, um Genauigkeit und Robustheit zu verbessern 5. Gradient Boosted Trees auch eine Ensemble – Methode wo EB schrittweise hinzugefügt werden, damit Fehler des vorherigen Baumes korrigiert werden = verbesserte Vorhersagegenauigkeit Was ist der Unterschied zwischen ID3 und C4.5? ** CA.5 kann direkt mit numerischen Daten umgehen zB wir wollen wissen ob jemand basierend auf Einkommen und Alter (numerische Werte), Raucher (ja/nein), Geschlecht (m/w) einen Kredit bekommt (ja/nein) ID3 müsste numerische Werte in kategoriale Gruppen umwandeln zb in Altersgruppen oder Einkommensklassen (C4.5 erstellt automatisch geeignete Schwellenwerte für Alter zB: 25,30,35 = 27.5, 32.5, 37.5 Splitpunkte dann wird dafür der IG berechnet und man schaut ob sich dadurch die Entropie reduziert hat) ** C4.5 enthält einen Pruning Mechanismus unnötige Teile im Baum die nichts zur Vorhersagegenauigkeit beitragen werden gelöscht ** Ausgabeformat ID3 produziert Bäume mit unbinären Entscheidungsknoten = erschwerte Interpretation während bei C4.5 jeder Entscheidungsknoten genau 2 Kinder hat (zB teilt bei C4.5 Einkommen in Bereiche (niedrig, medium & hoch) und gibt binäre Entscheidungsknoten aus ** Handling von fehlenden Werten bei ID3 braucht man eine Vorverarbeitung zB das Einfügen von geschätzten Werten oder das Entfernen von entsprechenden Datenpunkten // C4.5 ändert die Gewichtung bei fehlenden Daten dementsprechend dh Daten mit fehlenden Daten haben weniger Einfluss auf Entscheidung = vermindert Auswirkung auf IG ** Attributauswahlmaß C4.5 verwendet die Gain Ratio und ist die Verbesserung des IG und berücksichtigt die Anzahl der Werte eines Attributs; zB wir haben ein Attribut „Temperatur“ mit den Werten „niedrig“, „mittel“ und „hoch“. Wenn Aufteilung nach „Temp“ erfolgt, dann kann es sein, dass IG höher ist weil es einfach mehr Temp.werte gibt Gain Ratio berücksichtig das und normalisiert den IG dementsprechend Was ist CART, wofür wird es genutzt und was macht es so besonders? Es kann sowohl mit kategorialen als auch numerischen Attributen umgehen und wird für Klassifikations- und Regressionsaufgaben genutzt Anwendungsbeispiele: Kreditrisikobewertung, Spamfilter, medizinische Diagnose Was ist der Gini-Index der im Zusammenhang mit CART verwendet wird? Das ist ein Maß für die Unreinheit oder Ungleichheit in einem DS; der CART wird der Gini-Index verwendet, um den besten Split für die Aufteilung der Daten zu finden der Split mit dem geringsten (!) Gini-Index wird ausgewählt, da er zu homogeneren Gruppen führt. mit einem homogenen Split (Ziel bei dem CART Alg.) ist gemeint, dass die Beispiele in einer Gruppe ähnliche Zielklassen oder Zielwerte aufweisen eine klare Trennung zw. Gruppen erleichtert dann Vorhersage für neue und ungesehene Daten Wie funktioniert der Random Forest? Er besteht aus einer Gruppe von Entscheidungsbäumen, die unabhängig voneinander trainiert werden (wie ein Rat von mehreren Experten); Die Vorhersage (Klassifikation oder Regression) ist dann der Durchschnitt aller „Meinungen“, also Vorhersagen; die ganzen Bäume werden während des Trainings durch Bootstrapping zufällig erstellt (auch zufällige Untermengen der verfügbaren features für jeden Baum); Vorteil Kombination von zufälligen Daten reduziert die Gefahr für Overfitting // da jeder Baum auf unterschiedlichen Daten trainiert wird und nicht alle Nuancen des Trainingsdatensatzes erfassen kann dadurch kann Overfitting vermieden werden ** Kein Bedarf für Pruning Ein einzelner Entscheidungsbaum erfordert möglicherweise Pruning, um Overfitting zu verhindern. Da der Random Forest auf mehreren Bäumen basiert, ist Pruning normalerweise nicht notwendig. Was ist Bootstrapping und wie funktioniert es? Das ist eine statistische Methode mit der man stabilere Schätzungen von statistischen Größen erhalten kann aus einer vorhandenen Datenmenge werden wiederholt Stichproben gezogen Funktionsweise: man entnimmt aus dem Datensatz zufällige Stichproben und ermittelt daraus verschiedene statistische Größen wie Mittelwert oder Varianzen und legt sie danach zurück, dadurch kommen dieselben Datenpunkte mehrmals in verschiedene Stichproben vor (dieser Vorgang wird Tausende bis Zehntausende Mal wiederholt); dann schaut man sich an wie sicher oder unsicher die Schätzung ist wenn die Ergebnisse der vielen Schätzungen nebeneinander liegen, dann ist man sicher in der Schätzung und umgekehrt Wo wird Bootstrapping verwendet und wozu ist es gut? Statistik, maschinelles Lernen damit man durch wiederholte kleine Stichproben die man aus den Daten zieht, die Genauigkeit der Schätzungen besser verstehen kann Was ist ein Gradient Boosted Tree und wie funktioniert es? ** Wie wenn man versucht ein Spiel zu gewinnen und man anfangs Fehler macht und versucht aus den Fehlern beim nächsten Mal zu lernen ** iterative Methode bei der Bäume nacheinander erstellt werden ** Vorhersage wird gemacht, indem alle Ergebnisse der Bäume addiert werden ** bei jedem Baum wird versucht die Fehler des vorherigen zu minimieren ** Fehler werden Gewichtet so kann sich Algorithmus besser auf die schwerer zu klassifizierenden Beispiele konzentrieren Was kann bei Gradient Boosted Trees passieren was nicht so gut ist? Overfitting, wenn Anzahl der Bäume zu hoch oder wenn Lernrate zu groß ist deswegen sorgfältige Einstellung der Hyperparameter Wann macht welcher Algorithmus (Random Forest und Gradient Boosted Trees) Sinn? RF gut geeignet für große Datensätze mit vielen Features und wenn Modellinterpretierbarkeit nicht von größter Bedeutung ist; ist auch robust gegenüber Overfitting und Outliern (Ausreißern) GBT gut für komplexe Probleme, bei denen hohe Präzision erforderlich ist; kann anfälliger für Overfitting sein und braucht sorgfältiges Tuning der Hyperparameter Was erwarten wir uns bei der Erstellung von Klassifikationsmodellen? Welche Eigenschaften? 1. Verständlichkeit (manchmal) in einigen Fällen wenn man die Entscheidungslogik manuell überprüfen muss oder erklären muss; wenn Hauptanforderung so präzise wie möglich zu sein ist, dann ist es nicht so wichtig 2. Einfachheit weniger anfällig für Overfitting und können auf neue Daten besser generalisieren 3. Genauigkeit Hauptanforderung genaue Vorhersagen zu treffen; sowohl auf Trainingsdaten als auch auf neue noch nie gesehenen Daten Wie kann man die Genauigkeit eines Klassifikationsmodells quantifizieren? Welche Maßnahmen gibt es? Vorhersagegenauigkeit / Fehler gibt an wie gut Modell auf Daten klassifiziert = ist ein Prozentsatz der korrekten bzw. inkorrekten Vorhersagen im Verhältnis zu allen Vorhersagen Spezifischere Fehlermaße Recall, Precision, Sensitivity und Specificity, um die Leistung des Modells genauer zu bewerten. Diese Maße berücksichtigen verschiedene Aspekte der Vorhersagen, wie beispielsweise die Fähigkeit des Modells, positive Fälle zu identifizieren (Recall = Sensitivity // wichtig keine pos. Fälle zu übersehen) oder die Genauigkeit bei der Identifizierung von positiven Fällen (Precision // wichtig wenn Kosten für falsch positive Vorhersagen hoch sind); Fähigkeit des Modells neg. Fälle zu identifizieren (Spezifität) Wie evaluiert man bzw. bewertet man gelernte Klassifikationsmodelle? ** Grundlegende Metrik gibt an wie gut das Modell die Daten klassifiziert Vorhersagegenauigkeit ** Dazu verwendet man Testdaten, die man nicht beim Training verwendet hat und man simuliert die Leistung des Modells auf noch nie gesehenen Daten – Aufteilung der Daten in Test- und Trainingsdaten sollte sorgfältig und repräsentativ sein Was für Metriken und Verfahren gibt es um die Leistung und Genauigkeit des Modells zu beurteilen? 1. Vorhersagegenauigkeit 2. Spezifische Fehlermaße: 3. Confusion Matrix 4. ROC-Kurve (Receiver Operating Characteristic) 5. AUC – Area Under the Curve 6. Kreuzvalidierung 7. F1-Score Was für spezifische Fehlermaße gibt es? Recall (auch Sensitivity oder True Positive Rate genannt): Der Prozentsatz der tatsächlichen positiven Fälle, der vom Modell korrekt identifiziert wurde. Precision Der Prozentsatz der vom Modell als positiv identifizierten Fälle, die tatsächlich positiv sind. Specificity (True Negative Rate) Der Prozentsatz der tatsächlichen negativen Fälle, der vom Modell korrekt identifiziert wurde. Was ist eine Confusion Matrix? Was ist das Resubsitution Estimate? ** einfache Methode zur Schätzung der Genauigkeit eines Klassifikationsmodells ** Das Modell wird auf den Trainingsdaten getestet, damit man feststellen kann wie gut es bereits die gesehenen Beispiele vorhersagen kann keine Unterscheidung zw. Trainings- und Testdaten!! Gleiche Daten!! ** Resubstitution Estimate neigt dazu die Leistung des Modells zu überschätzen (zu optimistisch) weil das Modell bei der Anpassung an Trainingsdaten Muster, Rauschen und Ausreißer auswendig lernt Was kann man gegen das „auswendig lernen“ von bei Resubstitution Estimate als Evaluierungsverfahren machen? Zusätzlich sollte man Kreuzvalidierung oder das Testen an unabhängigen Testdaten verwenden Wieso verwendet man das Resubstitutions Estimate wenn es so ungenaue Ergebnisse liefert? 1. Es ist eine einfache Methode und liefert eine schnelle und grobe Einschätzung (vor allem wenn man keine zusätzlichen Testdaten hat und man eine grobe Vorstellung von der Modellgenauigkeit braucht) 2. Modellverhalten auf Trainingsdaten zeigt wie gut das Modell die Trainingsdaten gelernt hat (besonders wenn das Modell komplex ist und eine große Menge an Daten hat kann das RE nützlich sein) 3. sollte nicht als Hauptmaß für Leistung eines Modells betrachtet werden Hauptbewertung sollte auf unabhängigen Testdaten basieren, damit man eine realistischere Einschätzung bekommt vom Modell Was ist die Testing Accuracy oder Error on “Holdout Set”? Was ist das “Holdout-Set“? ** “Holdold-Set” ist eine Menge von Daten, die man während des Trainingsprozesses nicht verwendet hat dient als unabhängiger DS mit dem man die Leistung des Modells überprüft gibt eine realistischere Schätzung der Genauigkeit bzw. Fehlers eines Modells Wie erfolgt ein das Testen mit einem „Holdout-Set“? 1. Datenaufteilung man teilt zufällig in Trainingsdaten und Holdout-Set 70-80% werden für das Training verwendet und die restlichen 20-30% als Holdout-Set zurückgehalten 2. Training des Modells mit Trainingsdaten 3. Modellbewertung Nach Training wird das trainierte Modell verwendet, um Vorhersagen auf dem Holdout-Set zu machen – da Set noch nicht gesehen wurde vom Modell bietet das Modell realistischere Einschätzungen auf neue und ungesehene Daten zu generalisieren 4. Bewertungsmetriken man kann unterschiedliche Bewertungsmetriken wie Genauigkeit, F1-Score, Präzision, Rückruf usw. verwenden Wozu bzw wann ist ein „Holdout-Set“ gut? ** Es hilft dabei Overfitting zu erkennen und zeigt wie gut das Modell auf unbekannten Daten funktionieren könnte ist eine gängige Methode, um realistischere Schätzungen der Modelleistung zu erhalten ** gut wenn man ein riesiges Datenset hat oder wenn man auf Zeitrduck ist bzw auch wenn man ein initiales Modell für ein Data Scienes Projekt beginnt Was ist ein Repeated Holdout Testing und wie funktioniert das? ** Das ist eine Erweiterung des Holdout-Testansatzes 1. Daten teilen zufällig in Trainings- und Testset 2. Model trainieren Model wird auf Trainingsset trainiert 3. Modell testen trainierte Modell wird auf Testset getestet und Leistung wird anhand Bewertungsmetrik bewertet 4. Schritte wiederholen Vorgang wird mehrmals wiederholt (typischerweise mit einer vordefinierten Anzahl an Wiederholungen) 5. MW berechnen Leistungsmetriken aus den einzelnen Durchläufen werden durchschnittl. Oder auf andere Weise aggregiert (zB Medianwert betrachten oder min- und max-werte bei beste und schlechtestem Durchlauf) damit man eine robuste Schätzung erhält Was ist der Vorteil bei Repeated Holdout Testings? ** Man erhält mehrere Schätzungen der Genauigkeit oder des Fehlers ** Bessere und robustere Vorstellung über die Modellleistung durch Bewertungsmetriken ** man versucht durch RHT die Varianz in den geschätzten Leistungsmetriken zu reduzieren indem man die Prozesse mehrmals durchläuft Was hat die „varianzbehaftung“ mit Holdout-Tests und Repeated Holdout-Tests zu tun? Wann können unterschiedliche Ergebnisse auftreten? ** Varianzbehaftet bedeutet, dass die Leistungsmetriken sich stark unterscheiden können weil sie von der zufälligen Auswahl von Trainings- und Testdaten abhängen ** Die zufällige Auswahl der Daten führt dazu, dass das Modell auf unterschiedliche Weise trainiert und getestet wird ** es können unterschiedliche Ergebnisse auftreten wenn der DS besonders klein ist oder wenn das Modell empfindlich auf bestimmte Datenpunkte reagiert mit denen es getestet oder trainiert wird. Was ist eine K-Fold Cross-Validation und wann wendet man sie an ? ** ist eine Methode zur Bewertung der Leistung eines Modells ** wenn die Menge der verfügbaren Daten begrenzt ist ** man teilt den Datensatz in k etwa gleich gro0e Teile oder „Folds“ auf ** Modell wird k-mal trainiert und getestet, wobei in jedem Durchlauf andere Folds als Testset verwendet werden und die restliche Folds zum Training dienen 1. Datensatz aufteilen Gesamtdatensatz wird in k gleich große Folds aufgeteilt, zb k=5 = 5 Folds 2. Modelltraining und -test Modell wird k-mal trainiert und getestet; in jedem Durchlauf wird ein Testset verwendet und die restlichen k-1 Folds werden für das Trianing verwendet 3. Leistungsbewertung für jeden Durchlauf wird Leistung des Modells auf Testset bewertet das kann mit verschiedenen Metriken wie Genauigkeit, Präzision, Recall usw. erfolgen (und ist abhängig vom spez. Anwendungsfall) 4. Durchschnittliche Leistung alle Durchläufe werden zu einer Gesamteinschätzung der Modellleistung gemittelt Wofür steht das „k“ bei der k-Fold-Cross-Validation? ** „k“ steht für die Anzahl der Folds oder Teile in der der DS unterteilt wird ** = Anzahl der Teilmengen in denen der DS unterteilt wird ** Auswahl von k hängt von verschiedenen Faktoren ab Worauf hat die Auswahl von K Auswirkungen? Kleine und große Werte? ** Sie hat Auswirkung auf die Zuverlässigkeit der Modellbewertung ** kleine Werte von k können zu einer höheren Varian in der Leistungsschätzung führen, größere Werte von k verwenden mehr daten für das Training, was zu einer konsistenteren Schätzung führen kann. ** Es gibt keine Faustregel für die Wahl von k Was ist ein häufiger Wert für k bei kFCV? Häufig gewählte Werte für k sind 10, 5 oder 3 Was ist der Vorteil von k-Fold-Cross-Validation? ** durch Aufteilung des DS in k-Teile und mehrfacher Wiederholung des Trainings- und Testprozesses hat man eine robustere Schätzung der Modelleistung Modellbewertung ist weniger anfällig für Zufälligkeiten in Datenverteilung ** jeder Teil des DS ist sowohl Test als auch Trainingsdatensatz Modell wird auf vielen daten getestet = zuverlässigere Leistungsbewertung ** Reduzierte Varianz in der Leistungsschätzung Durchschnitt über mehrere Testfälle verringert die Varianz in der Schätzung der Modellleistung (wichtig wenn DS klein ist) ** Erkennung von Overfitting und Underfitting Was ist die stratifizierte Kreuzvalidierung und wann wird sie angewendet? ** Variante der k-Cross-Fold Valid. Und wird in Situationen verwendet in denen Klassenverteilung im DS ungleichmäßig ist in Bezug auf Zielklassen sie stellt sicher, dass die Klassenverteilung in jedem Fold konsistent und repräsentativ ist 1. Ungleichmäßige Klassenverteilung Klassen im DS kommen unterschiedlich vor bei einfache k-FCV kann es sein, dass einige Folds nur wenige oder gar keine Beispiele einer bestimmten Klasse enthalten da die Aufteilung in Folds zufällig ist und bei der s kFCV wird sichergestellt, dass die Teilgruppen den Gesamtdatensatz repräsentieren 2. Kleine DS bei begrenzter Datenmenge ist es wichtig, dass jeder Fold eine repräsentative SP der gesamten Klassenverteilung darstellt; S-CFV stellt sicher, dass jede Klasse in einem Fold angemessen vertreten ist 3. Seltene Ereignisse zb bei medizinischen Diagnosen ist es wichtig sicherzustellen, dass jedes Fold repräsentative Beispiele für die seltenen Ereignisse enthält Was ist das Hauptziel der stratifizierten Kreuzvalidierung? Dass die Daten in Trainings- und Testsets die gleiche oder ähnliche Klassenverteilung wie im Gesamtdatensatz aufweisen Wie sieht der Prozess der stratifizierten kFCV aus? 1. Klassenbasierte Aufteilung zuerst werden die Daten nach ihren Klassen sortiert 2. Stratifizierte Aufteilung es erfolgt die k-Fold-Aufteilung wobei man darauf achtet, dass jede der k Teilmengen eine ähnliche Verteilung der Klassen wie bei dem gesamten DS aufweist = jede Teilmenge repräsentiert SP aller Klassen 3. Wiederholung des Prozesses Trainings- und Testprozess wird k-Mal wiederholt, wobei man in jedem Durchgang eine andere Teilmenge als Testset verwendet Was bedeutet stratifiziert? ** Bezieht sich auf die Schaffung von Schichten oder Gruppen basierend auf bestimmten MM oder Eig. DS wird in verschiedene Gruppen oder Folds aufgeteilt ** Es wird darauf geachtet, dass die Verteilung bestimmter MM in jeder Gruppe (auch Teilmenge genannt) repräsentativ (ähnlich) für den Gesamtdatensatz ist, insbesondere wenn es ungleichmäßige Verteilungen von Klassen oder anderen relevanten MM gibt Was ist die Leave-One-Out-Cross-Validation (LOOCV)? ** spezielle Form der kFCV ** zB 100 Datenpunkte in einem Datensatz = k ist die Anzahl der Beobachtungen im Datensatz man trainiert 100x das Modell und testet es für jede Iteration des CVP wird nur eine einzelne Beobachtung als Testset verwendet, während der Rest für das Training verwendet wird solange wird Prozess wiederholt bis jede Beobachtung einmal als Testfall verwendet wurde jedesmal wird ein Beispiel aus dem Datensatz ausgeschlossen und das Modell wird auf den weiteren 99 Beispielen trainiert und auf das ausgeschlossene Beispiel getestet ** endgültiger performance estimate (Leistungsschätzung) ist der Durschnitt der ganzen individuellen Scores Was ist der Vorteil von LOOCV? Verringert den Varianz-Bias-Trade-off weil sie Trainingsdatensatz für jeden Testfall fast vollständig verwendet ** gut für kleine Datensets ** sehr wenige Daten werden für das Training ausgeschlossen das Model wird auf einer großen Menge an daten trainiert was zu einer zuverlässigeren Schätzung der Modellleistung führt Wozu sind LOOCV und skFCV geeignet? Sie stellen sicher, dass die Bewertung repräsentativ und aussagekräftig ist, besonders bei unterschiedlichen Klassenverteilungen oder kleinen Datensätzen Was ist der Varianz-Bias-Trade-off? ** beschreibt Dilemma zwischen Bias und Varianz von Modellen ** Bias bezieht sich auf Fehler die durch falsche Annahmen im Modell verursacht werden hoher Bias bedeutet Modell ist zu stark vereinfacht und kann bestimmte Muster in den daten nicht erfassen ** Varianz bezieht sich auf die Empfindlichkeit des Modells gegenüber den spezifischen Details der Trainingsdaten hohe Varianz = Modell passt sehr gut auf Trainingsdaten, aber auf neuen nicht gesehenen Daten ist es möglicherweise schlecht generalisiert = kleine Änderungen im DS bewirken eine große Änderung in der Prognose (Overfitting) = Model neigt dazu sich stark an daten auszugleichen = dadurch werden zufällige Abweichungen (random noise) tendenziell als wichtig eingestuft und fließen somit ins Modell ein Varianz bezieht sich auf den Wert, um den sich eine Vorhersage ändern würde, falls das gleiche Modell auf einem anderen Datensatz trainiert werden würde. Trade-off bedeutet Streben nach geringem Bias oft zu höherer Varianz führt und umgekehrt; perfektes Modell würde einen niedrigen Bias und eine niedrige Varianz haben; in Praxis oft schwierig beides gleichzeitig zu erreichen Was ist der Nachteil von LOOCV? Der Vorgang kann sehr rechenintensiv sein, besonders bei großen DS weil für jeden Durchlauf des CVP ein Modell trainiert und getestet werden muss Wann wendet man die LOOCV an? ** Wird in Situationen angewendet in denen Anzahl der verfügbaren Beobachtungen relativ gering ist und eine möglichst genaue Schätzung der Modellperformance erforderlich ist ** wird häufig verwendet, wenn die DSgröße das zulässt, um eine möglichst geringe Verzerrung (Bias) bei der Bewertung des Modells zu erreichen Welche Arten der Kreuzvalidierung gibt es? Leave-One-Out Cross-Validation (LOOCV) Jeder Datenpunkt wird nacheinander als Testset verwendet, während alle anderen Punkte für das Training verwendet werden. LOOCV ist computationally teuer, aber es nutzt die Daten maximal. k-Fold Cross-Validation Der Datensatz wird in k etwa gleich große Teile oder "Folds" unterteilt. Der Algorithmus wird k-Mal trainiert und getestet, wobei jedes Mal ein anderer Fold als Testset verwendet wird. Stratified k-Fold Cross-Validation Eine Variation von k-Fold Cross-Validation, die sicherstellt, dass die Klassenverteilung in jedem Fold ähnlich der im Gesamtdatensatz ist. Besonders nützlich, wenn die Klassen im Datensatz ungleichmäßig verteilt sind. Repeated k-Fold Cross-Validation Der k-Fold-Prozess wird mehrmals wiederholt, wobei jede Wiederholung eine neue zufällige Aufteilung der Daten in Folds darstellt. Dies hilft, die Varianz in der Schätzung der Modellleistung zu reduzieren. Monte Carlo Cross-Validation Eine probabilistische Variante, bei der zufällige Aufteilungen der Daten in Trainings- und Testsets vorgenommen werden. Diese Methode kann besonders nützlich sein, wenn die Daten begrenzt sind. Group k-Fold Cross-Validation Geeignet, wenn es Gruppenstrukturen in den Daten gibt. Es stellt sicher, dass alle Mitglieder einer Gruppe entweder im Trainings- oder im Testset landen, aber nie in beiden. Warum ist die Kreuzvalidierung zuverlässiger als eine einfache Aufteilung des Datensatzes in Trainings- und Testsets? ** Reduziertes Overfitting bei einer einmaligen Aufteilung kann es zu Overfitting kommen durch Anwendung von Kreuzvalidierung kann das Modell auf verschiedenen Teilmengen des Datensatzes trainiert und getestet werden, reduziert Wahrscheinlichkeit, dass Muster Testset auswendig lernt ** Bessere Schätzung der Modelleistung Kreutvalidierung teilt den DS in mehrere Teile auf und kann Leistung des Modells über mehrere Durchläufe hinweg durchschnittlich besser schätzen zusätzlcih bietet sie eine stabilere Bewertung der Modellleistung weil sie nicht von einer einzigen Aufteilung des DS abhängig ist ** Gesamter DS wird sowohl für Testen als auch für Lernen genutzt ** Kreuzvalidierung hilft Auswirkungen von zufälligen Variationen in den Daten zu mildern weil verschiedene Teilmengen für das Training und die Bewertung verwendet werden – das Modell wird robuster gegenüber zufälligen Schwankungen ** Erkennung ovn Instabilität und Bias Wenn Leistung des Modells in verschiedenen Kreuzvaldurchläufen stark varriiert, kann es darauf hindeuten, dass bestimmte Datenpunkte oder Aufteilungen das Modell stark beeinflussen Was ist die Accuracy in Machine Learning? ** Misst den Anteil korrekter Vorhersagen im Vergleich zu allen getroffenen Vorhersagen ** Anteil der korrekten Klassifikationen (sowohl positiv als auch neg.) zu allen Klassifikationen berechnet ** Einschätzung des Fehlers oder der Genauigkeit des Modells wir wollen verstehen, wie gut das Modell auf neuen, bisher ungesehenen Daten abschneiden wird deswegen testen wir das Modell auf Daten, die es während des Trainings nicht gesehen hat und simulieren so eine Situation als ob wir in die Zukunft schauen Wann reicht die Accuracy alleine nicht aus? ** Genauigkeit kann in manchen Fällen nicht genaue Aussagen über die Leistung eines Modells geben, besonders wenn es eine ungleiche Klassenverteilung gibt ** bspw es gibt einen Datensatz von 100 Personen und 90 sind gesund und 10 krank; Modell sagt alle 100 als gesund vor was bedeutet, dass die Accuracy des Modells 90% betragt weil alle 90 korrekt waren – Das Modell hat aber alle kranken Personen übersehen ** in solchen Fällen ergänzt man mit der Precission die würde messen wie viele der als krank identifizierten Personen tatsächlich krank sind ** Wahl der geeigneten Kennzahl hängt von der jeweiligen Anwendung ab Was hilft bei der Verbesserung der Genauigkeit von KI-Modellen? Methoden wie die Kalibrierung des Modells um mögliche Verzerrungen zu korrigieren und die Verwendung von ROC-Kurven helfen die Leistungsfähigkeit des Modells zu analysieren und zu verbessern Was ist die Precision? ** Sie konzentriert sich auf die korrekten positiven Vorhersagen im Verhältnis zu allen als positiv klassifizierten Fällen ** es misst wie viele der als positiv identifizierten Fälle tatsächlich positiv sind ** bewertet die Qualität der positiven Vorhersagen ** wenn Precision hoch ist = positive Vorhersagen sind zuverlässig und präzise ** wenn Precision niedrig ist = höhere Rate von Fehlalarmen, bei denen Fälle als falsch positiv klassifiziert werden Warum ist es wichtig unabhängige Testdaten zu haben? Testdaten dürfen nicht die gleichen sein wie die Daten die wir für das Training verwendet haben damit wir sicherstellen, dass die Bewertung des Modells auf einer realistischen Einschätzung seiner Fähigkeiten basiert und nicht nur eine Wiederholung der Trainingsdaten ist Was ist die Default Accuracy und warum verwendet man sie? ** das ist ein wichtiger Referenzpunkt, um die Qualität von Klassifikationsmodellen zu bewerten ** man schaut ob das entwickelte Klassifikationsmodell tatsächlich besser ist als eine auf Häufigkeiten basierende Vorhersage ** wenn (NN%) Genauigkeit geringfügig besser ist als die Default-Genauigkeit, dann ist das ein Hinweis, dass das Modell nicht besonders nützlich oder informativ ist ** ein gutes Klassifikationsmodell sollte eine deutlich höhere Genauigkeit haben als das was man durch einfaches Raten erreichen könnte (** Default classifier in Orange: constant = Referenzpunkt) Wie wird die Defalut Accuracy noch genannt? Baseline Nenne mir ein Beispiel für die Default Accuracy! ** Angenommen wir haben 3 Klassen A, B & C; A kommt am häufigsten vor ** Default-Genauigkeit ist dann der Prozentsatz der richtigen Vorhersagen wenn das Modell immer Klasse A vorhersagt ohne dabei auf Daten zuzugreifen wie bei komplexen Modellen **sozusagen ein „dummes“ Modell was keine Infos aus den Daten zieht Was ist der Test & Score? https://orange3.readthedocs.io/projects/orange-visual-programming/en/latest/widgets/evaluate/testandscore.html Das bezieht sich auf einen Prozess bei dem verschiedene Klassifikatoren miteinander verglichen und bewertet werden Wie sie der Prozess bei Test & Score aus? 1. Klassifikatoren vergleichen unterschiedliche Klassifikatoren werden in Bewertungsprozess einbezogen 2. Eingabe in den Bewertungsprozess ausgewählte Klassifikatoren werden zusammen mit den Daten in den Bewertungsprozess eingebracht; Daten enthalten MM und entsprechende Zielklassen oder Zielvariablen 3. Datenhandhabung Bewertungsprozess beinhaltet Verwaltung von Daten inkl. Aufteilung Trainings- und Testsets wichtig damit Modell auf unabhängigen Daten getestet wird 4. Verschiedene Probeannahmemethoden (kann Bootstrapping, k-FCV oder andere Techniken umfassen, damit man sicherstellt, dass die Modelle auf vielfältigen Daten getestet werden // Modelle werden auf Testdaten getestet, um ihre Genauigkeit oder Fehler zu bewerten Was ist ein Klassifikator und was ist sein Hauptzweck? ** Das ist ein Modell oder Algorithmus der darauf trainiert ist verschiedene Kategorien oder Klassen zu identifizieren ** Klassifikatoren werden auf Trainingsdaten trainiert, wobei MM der daten und ihre dazugehörigen Klassen bekannt sind ** Hauptziel: Muster in Daten zu erkennen und Vorhersagen darüber zu treffen in welche Klasse neue bisher ungesehene Daten gehören Nenne mir Beispiele für einen Klassifikator! 1. Entscheidungsbäume Ein Entscheidungsbaum teilt den Datensatz basierend auf verschiedenen Merkmalen in Zweige auf, um eine Klassifizierungsentscheidung zu treffen. 2. K-Nearest Neighbors (KNN) KNN klassifiziert Datenpunkte basierend auf der Mehrheit der Klassen der k nächsten Nachbarn im Merkmalsraum. 3. Support Vector Machines (SVM) SVM sucht nach einer Trennlinie oder -fläche, die die Daten in unterschiedliche Klassen aufteilt. 4. Neuronale Netzwerke Neuronale Netzwerke, insbesondere in Form von Deep Learning-Modellen, können komplexe nichtlineare Beziehungen in den Daten lernen. 5. Naive Bayes Ein probabilistischer Ansatz, der auf dem Bayes'schen Theorem basiert, um Wahrscheinlichkeiten für verschiedene Klassen zu schätzen. 6. Logistische Regression Obwohl der Name "Regression" enthalten ist, wird die logistische Regression für binäre Klassifikationsprobleme verwendet und gibt Wahrscheinlichkeiten für das Zugehörigsein zu einer Klasse an. Was sind ein Bewertungsprozesse die bei Test % Score angewendet werden? Bewertung von Modellen auf ihre Fähigkeit neue ungesehene Daten zu klassifizieren Verschiedene Probeannahmemethoden es gibt verschiedene Methoden mit denen man die Trainings- und Testdaten aufteilen kann. zB Datensatz zufällig in Test- und Trainingset aufteilen oder auch die k-Fold-Cross-Valid. Bei der Datensatz in k gleich große Teile aufgeteilt wird Testdaten vorbereiten Testdatensatz beiseite legen Klassifikatoren anwenden verschiedene Klassifikatoren werden auf Testdaten angewendet um Vorhersagen zu treffen zB Entscheidungsbaum, Neuronal Network oder SVM Messung der Leistung Leistung jedes Klassifikators wird anhand verschiedener Metriken bewertet zB Genauigkeit, Präzision, Rückruf oder F1-Score = diese Metriken geben Aufschluss darüber, wie gut Modell die Daten klassifiziert Vergleich der Ergebnisse Ergebnisse der versch. Klassifikatoren werden miteinander verglichen, damit man sieht welcher am besten abschneidet; vll weist ein bestimmter Klassifikator eine höhere Genauigkeit auf Auswahl des besten Modells basierend auf diesen Ergebnissen wählt man das beste Modell aus für die beste Leistung Welche Methode gibt es um Testdaten aufzuteilen? 1. Zufällige Aufteilung Daten werden zufällig in Trainings- und Testsets aufgeteilt. zB 80% der Daten für das Training & restlichen 20% für Test. 2. Stratifizierte Aufteilung sorgt dafür, dass die Klassenverteilung in den Trainings- und Testdaten ähnlich ist; besonders wichtig, wenn Klassen im Datensatz unterschiedlich vertreten sind. 3. K-Fold Cross-Validation Datensatz wird in k etwa gleich große Teile (Folds) unterteilt; Modell wird k-mal trainiert und getestet, wobei jedes Fold einmal als Testset verwendet wird. Die Ergebnisse werden gemittelt. 4. Leave-One-Out Cross-Validation (LOOCV) Ein extrem aufwendiger, aber genauer Ansatz, bei dem für jeden Datenpunkt einzeln als Testdaten verwendet wird und das Modell auf den verbleibenden Daten trainiert wird. Dies wird n-mal wiederholt, wobei n die Anzahl der Datenpunkte ist. 5. Holdout-Methode Datensatz wird in 2 Teile aufgeteilt, normalerweise in Trainings- und Testsets (zum Beispiel 80% für das Training und 20% für den Test). Diese Methode ist einfach, erfordert jedoch genügend Daten, um repräsentativ zu sein. Was ist der Unterschied zw. Den Methoden „zufällige Aufteilung“ und „Holdout“? Zufällige Aufteilung Daten einmalig zufällig in Trainings- und Testsets aufgeteilt; Vorgang des Zufällig-Aufteilens einmal durchgeführt wird, und die Daten dann für das Training und den Test verwendet werden; Dies ist besonders einfach und schnell, kann jedoch zu einer gewissen Variation in den Ergebnissen führen, da die Aufteilung zufällig ist. Holdout-Methode Datensatz ebenfalls in Trainings- und Testsets aufgeteilt, jedoch kann dieser Vorgang mehrmals wiederholt werden = Datensatz in mehreren Durchläufen zufällig aufgeteilt wird, und das Modell wird in jedem Durchlauf auf unterschiedlichen Teilmengen trainiert und getestet. Die Ergebnisse werden oft gemittelt, um eine robustere Schätzung der Modellleistung zu erhalten verbessert Robustheit der Modellbewertung Was ist mit „Constant“ gemeint? https://orange3.readthedocs.io/projects/orange-visual-programming/en/latest/widgets/model/constant.html Das ist ein Ansatz bei dem das Modell immer die gleiche Vorhersage trifft, unabhängig von den Eingabevariablen Wofür wird der „Constant“-Ansatz verwendet? Besonders relevant für Klassifikations- und Regressionsproblemen Was passiert mit dem „Constant“-Ansatz bei Klassifikations- und Regressionsaufgaben? 1. Klassifikation hier würde das Modell immer die Mehrheitsklasse vorhersagen würde die Klasse wählen, die in den Trainignsdaten am häufigsten vorkommt; zB wenn DS 70% der Beispiele zur Klasse A und 30% zur Klasse B gehören, würde das „Constant“-Modell immer die Klasse A vorhersagen 2. Regression hier würde das Modell immer den Durchschnittswert der abhängigen Variable vorhersagen; zB wir sagen Preis von Häusern voraus, also kann das „Constant“-Modell immer durchschnittlichen Preis aller Häuser vorhersagen Wieso verwendet man das „Constant“-Modell? Das wird oft als Baseline (!) verwendet, damit man die Leistung komplexer Modelle vergleichen kann. Wenn ein Modell nicht besser abschneidet als ein einfaches Constant-Modell, dann deutet das darauf hin, dass es nicht effektiv ist Was sind „Sampling Methoden“ in Orange? 1. Die Kreuzvalidierung teilt die Daten in eine festgelegte Anzahl von Folds auf (üblicherweise 5 oder 10). Der Algorithmus wird getestet, indem Beispiele aus einem Fold nach dem anderen zurückgehalten werden. Das Modell wird aus den anderen Folds trainiert, und Beispiele aus dem zurückgehaltenen Fold werden klassifiziert. Dies wird für alle Folds wiederholt, um eine zuverlässige Schätzung der Modelleistung zu erhalten.. 2. Die Leave-one-out-Methode ist ähnlich, hält jedoch jeweils eine Instanz zurück, induziert das Modell aus allen anderen und klassifiziert dann die zurückgehaltenen Instanzen. Diese Methode ist offensichtlich sehr stabil, zuverlässig... und sehr langsam. 3. Die zufällige Stichprobenaufteilung teilt die Daten zufällig in Trainings- und Testsets im angegebenen Verhältnis auf (z. B. 70:30); der gesamte Vorgang wird für eine festgelegte Anzahl von Wiederholungen durchgeführt. >> (( 4. Test auf Trainingsdaten verwendet den gesamten Datensatz für das Training und dann für den Test. Diese Methode liefert praktisch immer falsche Ergebnisse. 5. Test auf Testdaten Die oben genannten Methoden verwenden ausschließlich die Daten aus einer Datenquelle. Um einen anderen Datensatz mit Testbeispielen einzugeben (zum Beispiel aus einer anderen Datei oder einigen in einem anderen Widget ausgewählten Daten), wählen wir das Separate Test Data-Signal im Kommunikationskanal aus und wählen Test auf Testdaten. )) << Was ist Orange? Eine Data Mining-Software die Open Source ist wird verwendet für maschinelles Lernen und Datenanalyse und bietet eine Visual Programming Interface mit der man komplexe Datenanalysen durchführen kann, ohne Programmierkenntnisse Was sind Beispiele für „Performance Statistics“ bzw Leistungsmetriken? Nenne 5! 1. Area under ROC (AUC-ROC) Fläche unter ROC-Kurve (Receiver Operating Characteristic) ist ein Maß für die Fähigkeit eines Klassifikators, zw. 2 Klassen zu unterscheiden. ROC-Kurve zeigt Leistung eines binären Klassifikators (zB kran, nicht krank) in verschiedenen Threshold-Einstellungen für die Vorhersage AUC-ROC von 1,0 bedeutet, dass Klassifikator absolut perfekt ist und alle richtig klassifiziert // unter 0,5 bedeutet, dass Klassifikator nicht besser als zufälliges Raten ist = Richtung 1 ist besser und Richtung 0,5 nähert sich Zufallsniveau 2. Klassifikationsgenauigkeit gibt an welcher Anteil der Beispiele korrekt klassifiziert wurde Wenn Klassifikator zb 90 von 100 korrekt klassifiziert, dann ist Klassifikationsgenauigkeit 100% 3. F1-Score hier wird das Gleichgewicht zwischen Präzision und Rückruf in einem Klassifikator bewertet; P & R sind 2 verschiedene Maße für Leistung eines Modells ** P. bezieht sich darauf, wie viele der als positiv identifizierten, tatsächlich positiv sind Emails die als Spam klassifiziert werden, sind tatsächlich Spam und nicht versehentlich als solche eingestuft ** R. gibt an wie viele der tatsächlich positiven Instanzen korrekt als positiv identifiziert wurden Klassifikator erfasst die meisten tatsächlichen Spam Emails und verpasst nicht viele davon ** F1-Score kombiniert beide Aspekte in einer einzigen Zahl Maximum ist 1,0 wenn P & R perfekt ausbalanciert das bedeutet, Klassifikator ist gut darin, sowohl echte positive als auch echte negative Instanzen zu erkennen ** F1-Score wird oft in Situationen verwendet, in denen es wichtig ist, sowohl falsch pos. Als auch falsch neg. Ergebnisse zu minimieren zB wenn es teuer oder gefährlich ist solche Vorhersagen zu haben 4. Präzision (Precision) Anteil der korrekt als positiven Instanzen unter allen Instanzen die als positiv klassifiziert wurden ** zB 100 pos. // Klassifikator hat 80 korrekt // R = 80% 5. Rückruf (Recall) Anteil der korrekt als pos. Klassifizierten Instanzen unter allen tatsächlich positiven Instanzen der Daten ** zB 100 pos. // Klassifikator hat 100 korrekt // R = 70% Zusammenfassend messen diese Metriken verschiedene Aspekte der Leistung eines Klassifikators. Die AUC-ROC bewertet die gesamte Fähigkeit zur Unterscheidung, die Klassifikationsgenauigkeit misst die Gesamtkorrektklassifikation, und der F-1 Score, Präzision und Rückruf betrachten die Balance zwischen richtig-positiven und richtig-negativen Ergebnissen. Je nach den Anforderungen des konkreten Anwendungsfalls kann man eine oder mehrere dieser Metriken verwenden, um die Qualität eines Klassifikators zu beurteilen. Was ist die Confusion Matrix und was ist der Zweck? https://orange3.readthedocs.io/projects/orange-visual-programming/en/latest/widgets/evaluate/confusionmatrix.html ** Das ist ein Werkzeug, das in der Bewertung von Klassifikationsalgorithmen verwendet wird, um die Leistung des Modells zu verstehen. **sie zeigt wie gut ein Klassifikator die verschiedenen Klassen vorhersagt und welche Arten von Fehlern er macht Wie ist eine Confusion Matrix aufgebaut in Orange? ** Die Matrix hat Zeilen für die tatsächlichen Klassen und Spalten für die vorhergesagten Klassen ** jede Zelle enthält die Anzahl der Instanzen, die zu einer bestimmten Kombination von tatsächlicher und vorhergesagter Klasse angehören zB sieht man in der rechtesten Spalte wie viele Instanzen es tatsächlich gibt und unten sieht bei den spalten sieht man wie viel tatsächlich vorhergesagt wurde Welche Möglichkeiten gibt es die Daten in der Matrix anzuzeigen? 1. Number of instances (Anzahl der Instanzen) Zeigt, wie viele Instanzen korrekt und inkorrekt klassifiziert wurden; numerisch 2. Proportions of predicted (Anteile der Vorhersagen) Zeigt, wie viele der vorhergesagten Klassen tatsächlich zu jeder Klasse gehören. zB:  say, Iris-versicolor are in which true class; in the table we can read the 0% of them are actually setosae, 88.5% of those classified as versicolor are versicolors, and 7.7% are virginicae. 3. Proportions of actual (Anteile der tatsächlichen Werte) Zeigt das umgekehrte Verhältnis: Wie viele der tatsächlichen Instanzen einer Klasse wurden als diese Klasse und wie viele als andere Klassen klassifiziert. zB: of all true versicolors, 92% were classified as versicolors and 8% as virginicae. Wie sieht ein Workflow aus bei einer Confusion Matrix? 1. Test & Score erhält Daten aus einer Datei und verwendet Lernalgorithmen (Naive Bayes und Tree Algorithmus); führt dann Leistungsüberprüfung durch durch Kreuzvalidierung oder andere Trainings- und Testverfahren ** hier werden Vorhersagen für die Klassen von Dateninstanzen durch beide Algorithmen gemacht; Testergebnisse zeigen wie gut oder schlecht Algorithmen auf Daten funktionieren und das wird dann an „Confusion Matrix“ weitergeleitet 2. Confusion Matrix nimmt Testergebnisse auf und erstellt Matrix, die zeigt wie viele Instanzen auf welche Weise falsch klassifiziert wurden 3. Scatter Plot bekommt 2 Datensätze - einer direkt von Datei (enthält alle Daten) und zweiter ist von Confusion Matrix (hat nur ausgewählte Daten, zB die falsch klassifizierten Instanzen) ** Scatter Plot wird verwendet, damit man Daten grafisch darstellen kann zeigt alle Daten an und zb die falschen Daten fett markiert Was sind die 4 Hauptelemente einer Confusion Matrix in ihrer einfachen Form? Tatsächlich krank Tatsächlich gesund Test positiv True positive (TP) False Positive (FP) Test negativ False negative (FN) True negative (TN) ** True positive Rate (Recall, Sensitivity) %satz der kranken Menschen, der korrekt als krank identifiziert wird ** Tue negative Rate (Spezifität) %satz der gesunden Menschen, der korrekt als gesund identifiziert wurde K-Nearest-Neighbor Was ist kNN? Das ist ein Algorithmus des überwachten maschinellen Lernens; er lernt aus bereits gelabelten Beispielen und versucht, neue, ungesehene Beispiele zu klassifzieren Für was für Aufgaben ist kNN geeignet? Ist für Klassifikations- und Regressionsaufgaben geeignet Was ist die Grundidee des Algorithmus? Basiert auf die Idee, dass ähnliche Datenpunkte im Merkmalsraum ähnliche Klassen oder Werte haben dadurch verwendet es das Konzept der Nähe, um Klassifizierungen oder Vorhersagen über die Gruppierung eines einzelnen Datenpunktes zu treffen = ähnliche Datenpunkte sollten in der Nähe sein Wie ist die Funktionsweise von kNN? ** kNN sucht in Merkmalsraum nach den k (k=3 Nachbarn zb) nächsten Trainingsbeispielen im Merkmalsraum, basierend auf einer Distanzmetrik (zB euklidischer Abstand) 1. Datensatz und Merkmale jeder Datenpunkt hat bestimmte MM oder Eigenschaften (zB die Koordinaten in einem Raum oder andere charakteristische Eigenschaften) 2. Neuer Datenpunkt es kommt ein neuer Datenpunkt dazu ohne eine vorhergesagte Klasse 3. Suche von kNN kNN sucht den k nächsten Nachbarn (Datenpunkt) zu diesem neuen Punkt im MMraum; die Nähe wird durch den euklidischen Abstand oder eine andere Distanzmetrik gemessen 4.1 Mehrheitsentscheidung für Klassifikation Bei Klassifikationsaufgaben Klasse des neuen Punktes wird durch eine Mehrheitsentscheidung der Klassen seiner k nächsten Nachbarn bestimmt – zB Mehrheit der Nachbarn gehört Klasse A an, also wird der neue Punkt ebenfalls Klasse A 4.2 Durchschnitt für Regression Bei Regressionsaufgaben Wert des neuen Punktes wird als Durchschnitt oder gewichteter Durchschnitt der Werte seiner k nächsten Nachbarn genommen Wenn zum Beispiel die drei nächsten Nachbarn Verkaufspreise von $200,000, $220,000 und $210,000 haben, wäre der vorhergesagte Preis für das neue Haus der Durchschnitt: (200,000+220,000+210,000)/3=210,000 Was ist der euklidischer Abstand? zB man hat 2 Häuser auf einer Karte und der euklidische Abstand wäre der direkte „Luftlinien“ Abstand zw. Diesen beiden Häusern kürzeste Weg zw. diesen Häusern Worauf bezieht sich „k“ bei „kNN“ und was ist der Merkmalsraum? Auf die Anzahl der betrachteten Nachbarn und der MMraum ist der Raum in dem die MM der Datenpunkte betrachtet werden Was sind die Vor- und Nachteile bei kNN? Vorteile ** Er ist einfach zu verstehen und flexibel in der Anwendung = wenn es neue Datengibt oder welche gelöscht werden, dann passt sich kNN einfach an, indem es die vorhandenen Trainingsdaten verwendet und man muss das Modell nicht nochmal trainieren Nachteile ** kann aber rechenintensiv sein, besonders bei großen Daten Wieso ist die Wahl von k wichtig? ** Ein kleines k (zB k=1 oder 3) kann anfällig für Rauschen oder zufälligen Schwankungen in den Daten sein + Modell könnte zu sehr auf einzelne Ausreißer oder unrepräsentative Datenpunkte reagieren ** wenn k groß ist (k= 10 oder k=20) dann ist das Modell robuster gegenüber Ausreißern oder ungewöhnlichen Datenpunkten + die Entscheidung wird geglättet, da der Einfluss der einzelnen Nachbarn weniger stark ist Was ist Lazy Learning bei kNN? ** kNN ist ein sogenannter Lazy Learning Algorithmus der während des Trainings keine Modellbildung ** Keine Modellbildung während des Trainings kNN erstellt keine Modelle oder Regeln wie bei Decision Trees oder neuronalen Netzwerken, sondern speichert einfach die Trainingsdaten und legt sie ab und merkt sich die Trainingsdaten inkl MM und Klassen ** Dynamische Berechnung während der Vorhersage Wenn während der Vorhersagephase eine Vorhersage für einen neuen Datenpunkt erforderlich ist, sucht kNN dynamisch die k nächsten Nachbarn dieses Punkts im Trainingsdatensatz ** Entscheidungen basierend auf den Nachbarn Entscheidungen (egal ob Klassifikation oder Regression) wird basierend auf den Klassen oder Werten der k nächsten Nachbarn getroffen ** Rechenintensiver Vorhersageprozess Weil die Berechnungen erst währen der Vorhersage durchgeführt werden und Algorithmus die Ähnlichkeiten zu allen Trainingsdaten überprüfen muss, kann kNN bei großen Datensätzen langsam sein ** Anpassung an Änderungen im Trainingsdatensatz passt sich an Änderungen im Trainingsdatensatz an und Modell muss bei Änderungen nicht neu trainiert werden Warum ist es wichtig Daten vorzubereiten? Balanced Data: Warum ist das wichtig? Ein ausgewogener Datensatz hat eine ähnliche Anzahl von Instanzen für jede Klasse. Dies ist wichtig, da Modelle auf unbalancierten Datensätzen dazu neigen, sich auf die dominante Klasse zu "konzentrieren" und Schwierigkeiten haben können, Minderheitsklassen korrekt zu erkennen. Mögliche Lösung: Unterschiedliche Kosten für Fehlklassifikationen können eingeführt werden, um die Auswirkungen von Fehlern in der Minderheitsklasse zu betonen. Zum Beispiel kann der Fehler in der Minderheitsklasse höher gewichtet werden. Skalierte Daten: Warum ist das wichtig? Skalierte Daten stellen sicher, dass alle Merkmale in einem ähnlichen Bereich und mit ähnlicher Skalierung vorliegen. Dies ist besonders wichtig für Modelle, die auf Distanzberechnungen oder Gewichtungen basieren, wie zum Beispiel k-Nearest Neighbors (kNN) oder Support Vector Machines (SVM). Mögliche Lösungen: ** Normalisierung: Skalierung der Daten, sodass der kleinste Wert 0,0 und der größte Wert 1,0 ist. ** Standardisierung: Für jedes Merkmal werden der Durchschnitt subtrahiert und durch die Standardabweichung geteilt. Die Daten sollten also nicht nur ausgewogen sein, sondern auch in einer Form vorliegen, die dem Modell ermöglicht, Muster korrekt zu erkennen, ohne von ungleichen Skalen beeinflusst zu werden. Dies ist besonders wichtig, wenn verschiedene Merkmale unterschiedliche Einheiten oder Messbereiche haben. Was ist der 1-Nearest Neighbor? Das ist eine spezielle Form des kNN bei dem K auf den Wert 1 gesetzt wird ** Die Entscheidungen des 1-NN-Algorithmus basieren also allein auf dem nähesten Nachbarn und dessen Klasse Was sind die Eigenschaften bei 1-NN? ** Empfindlichkeit gegenüber Rauschen, da nur der nächste Nachbar betrachtet wird ** Gute Anpassung der Daten – es kann sich flexibel an die Form der Daten anpassen, da es keine festen Modelle erstellt Wann verwendet man kNN und wann 1-NN? ** Mit kNN kann man glatte Entscheidungsgrenzen erzeugen, was besonderes wichtig ist wenn die Klassen in den Daten keine scharfen Trennungen aufweisen ** durch kNN wird die Entscheidung robuster gegenüber lokalen Schwankungen in den Daten ** für große Datensätze bei denen einzelne Ausreißer weniger Einfluss haben, kann kNN besser geeignet sein ** 1NN ist einfacher zu verstehen und zu interpretieren, da jede Vorhersage auf einem einzigen Nachbarn basiert ** In kleinen DS wo die Daten stärker von Einzelwerten abhängt, kann 1NN besser funktionieren ** 1NN kann zu schärferen Entscheidungsgrenzen führen und genauer auf lokale Strukturen reagieren – kann aber zu erhöhter Empfindlichkeit gegenüber Ausreißern führen Was sind die Vorteile und Nachteile von kNN? Vorteile ** schnelles Training – Trainingsdaten werden einfach gespeichert und während Training werden keine Modelle erstellt ** kann „online“ Lernen, dh Datenpunkte können flexibel aufgenommen werden und Modell muss nicht neu trainiert werden ** kNN kann direkt auf Mehrklassenprobleme angewendet werden, ohne dass zusätzliche Anpassungen erforderlich sind ** kNN ist nicht darauf beschränkt gerade Linien zu verwenden und kann deswegen Entscheidungsgrenzen gut approximieren (zB wir haben Punkte in einem DS die einem Kreis oder Quadrat folgen) ** kann für die Vorhersage von diskreten, numerischen und strukturierten Zielen verwendet werden diskret = verschiedene Klassen (Hund, Katze etc); numerische = Regression kann auch verwendet werden zB Hauspreise vorhersagen; strukturiert = erfasst Strukturen im MMraum wie zb Vorhersage von Zeitreihen oder Mustern Nachteile ** langsame Klassifikation/-Vorhersage besonders wenn DS groß weil für jeden neuen Datenpunkt die Nähe zu allen Trainingsdaten berechnet werden muss ** anfällig für „Curse of Dimensionality“ = hochdimensionalen Räumen Größere Abstände zw. Datenpunkten führen dazu, dass die !Nähe“ im nicht mehr die tatsächliche Ähnlichkeit zw. den Datenpunkten wiederspiegelt. Dieser zunehmende Abstand kann dazu führen, dass kNN weniger effektiv wird, da die "Nähe" im hochdimensionalen Raum nicht mehr die Ähnlichkeit der Datenpunkte genau widerspiegelt. ** kNN erstellt keine expliziten Modelle darum ist es schwer die resultierenden Vorhersagen zu interpretieren weil es keine klaren Regeln oder Parameter gibt die erklären wie Entscheidungen getroffen werden zb linieare Regression hat explizite Gleichungen oder Gewichtungen für die Merkmale es gibt keine einfachen mathematischen Formeln oder Regeln die erkälren, warum genau dieser Punkt zu Klasse A zugeordnet wurde; es hängt von der Verteilung der Nachbarn und deren MMwerten ab, was die Interpretation erschwert K-Mean Clustering Was ist k-Means Clustering? Das ist ein Algorithmus des Unüberwachten Lernens Algorithmus sucht ohne vorherige Kenntnisse über Gruppenstruktur oder Klassenzuordnung der Daten Was ist das Hauptziel bei k-Means Clustering? Datenpunkte werden in Gruppen oder Cluster organisiert, sodass ähnliche Datenpunkte in denselben Cluster fallen Was muss der Benutzer vorab eingeben? Die Anzahl der gewünschten Cluster und der Algorithmus wird versuchen die Daten in festgelegte Anzahl von Gruppen zu unterteilen Wie geht der Algorithmus bei k-Mean Cluster vor? 1. Zufälliger Startpunkt für jedes Zentrum des Clusters die werden dann als Zentrioiden bezeichnet und repräsentieren die „Mitte“ jedes Clusters 2. Zuordnung von Beobachtungen zum nächsten Mittelwert jeder DP wird demjenigen Cluster zugeordnet, dem Zentroid am nächsten liegt und das erfolgt aufgrund der Distanz, oft gemessen durch euklidischen Abstand 3. Zentroid wird neuer Mittelwert - nachdem alle DP dem Cluster zugeordnet wurden, wird Durchschnitt aller Punkte in jedem Cluster berechnet und die Durchschnittspunkte werden zu den neuen Zentroiden 4. Wiederholung die Schritte der Zuordnung und Neuberechnung der Zentroiden werden iterativ wiederholt, bis sich die Zentroiden nicht mehr wesentlich ändern oder bis ein vorher festgelegtes Iterationslimit erreicht ist Wieso ist kNN ein überwachter Lernalgorithmus und k-Mean Clustering ein unüberwachter Algorithmus? ** Beim überwachten Alg. Erfolgt das Training mit Daten die sowohl Eingangsmerkmale als auch die entsprechenden Zielklassen enthalten, bei der Suche eines neuen Datenpunktes im MMraum ist der MMraum bereits bekannt **bei k-Means Clustering werden ungelabelte Daten verwendet und der Algorithmus gruppiert die Datenpunkte basierend auf Ähnlichkeiten oder Nähe zueinander, ohne dass die tatsächlichen Klassen der Datenpunkte bekannt sind Support Vector Machines Was ist die Support Vector Machine? ** Das ist eine Methode des maschinellen Lernens wo die Klassifizierung der Datenpunkte in verschiedenen Kategorien erfolgt. ** dabei wird nach einem linearen Seperator (einer Entscheidungsgrenze) in einem hochdimensionalen Raum gesucht ** in vielen Fällen sind die Daten im ursprünglichen Raum nicht linear seperierbar Wann werden SVM verwendet? ** Wenn die Entscheidungsgrenzen zw. den Klassen im Datensatz komplex und nicht linear sind Sie können in hochdimensionale Räume abbilden und somit auch nicht-lineare Muster erfassen ** wenn die Daten eine hohe Dimensionalität aufweisen und die lineare Separation schwierig ist, dann kann eine SVM durch die Kernel-Funktionen die Daten in einem Raum transformieren und sind danach linear leichter trennbar Was ist die Grundidee von SVM? ** Mappe die Daten in einen (sehr) hochdimensionalen Merkmalsraum. Dies geschieht, indem neue Merkmale aus den vorhandenen Datenpunkten mithilfe einer sogenannten Kernel-Funktion berechnet werden. ** Finde einen (tatsächlich den optimalen) linearen Separator zwischen den Klassen in diesem hochdimensionalen Raum. Dieser Separator wird als "maximum margin hyperplane" bezeichnet. Worauf bezieht sich der Begriff „maximum margin hyperplane“? Der Begriff "maximum margin hyperplane" bezieht sich auf die Idee, eine Trennlinie zu finden, die den maximalen Abstand zu den nächstgelegenen Datenpunkten jeder Klasse hat. Was sind Vor- und Nachteile bei einer SVM? Vorteile ** sie sind sehr effektiv in Situationen mit vielen MM oder Dimensionen, einschließlich der Situationen mit hoher Dimensionalität ** sie haben eine gute Fähigkeit zur Verallgemeinerung = sie können auf bisher ungesehene Datenpunkte reagieren ** sie sind robust gegenüber Überanpassung ** sie sind robust und können gut mit verschiedenen Arten von Daten umgehen ** sie können komplizierte Strukturen erkennen wodurch sie auch nicht-lineare Beziehungen erkennen können Fähigkeit zur Approximation beliebig komplexer Konzepte: SVMs haben eine niedrige "Bias", was bedeutet, dass sie in der Lage sind, sehr komplexe Muster und Strukturen in den Daten zu erfassen. sie haben kein „Bias“ und sind unvoreingenommen über die Struktur der Daten und können so verschiedene Arten von Mustern ohne vorherige Festlegung erfassen ** Die Verwendung der Kernel-Funktion ermöglicht eine flexible Anpassung verschiedener Datenstrukturen, indem die Daten in verschiedene Räume transformiert werden ** durch die Verwendung von Kernel-Tricks können SVMS auch nicht-lineare Muster in den Daten erfassen Nachteile ** SVMS sind bei großen Datensätzen rechenintensiv und haben hohe Speicheranforderungen, besonders wenn DS viele MM oder Beobachtungen enthält ** bei sehr großen DS kann die Berechnung der Kernel-Matrix zeitaufwändig sein ** In ihrer ursprünglichen Form sind sie für 2 Klassen-Probleme anwendbar; das Grundlegende Konzept ist es eine Trennlinie durch die beiden Klassen zu finden ** resultierende Modelle der SVMs sind schwer zu interpretieren und bieten wenig Einblick in die Beziehungen zw. den ursprünglichen MM und Klassifikationen ** man braucht auch gute Kenntnisse über zugrunde liegende Konzepte bei Wahl und Anpassung von Kernel-Funktionen (** wenn Daten nicht klar strukturiert sind oder bei starkem Rauschen können SVMs weniger effektiv sein ) Was sind Kernel-Funktionen? ** Das sind mathematische Funktionen die von SVM verwendet werden, um Datenpunkten in einen höherdimensionalen Raum zu transformieren ** Transformation ermöglicht es, dass sie in einem Raum linear separierbar sind (auch wenn sie nicht im ursprünglichen Raum waren) durch Modifikation der Daten ** Verwendung von Kernel-Funktionen ist entscheidend für die Flexibilität und Effektivität von SVMs Was ist die Funktion einer Kernel-Funktion? ** sie werden verwendet, damit die Daten in einen Raum höherer Dimension zu projizieren, damit sie eine klare Separation machen können ** sie berechnet die Ähnlichkeit (ähnlich wie ein Skalarprodukt) zw. jedem Paar von Datenpunkten im ursprünglichem Raum ** Kernel basiert auf der Idee der Ähnlichkeit – manche Berechnungsmethoden gehen über Skalarprodukte hinaus, aber die Ähnlichkeit wird dennoch so modelliert, dass sie Eigenschaften von Ähnlichkeit und Parallelität zw. den Datenpunkten wiederspiegelt Welche Typen von Kernel-Funktionen gibt es? 1. Lineare Kernel einfache Lineare Transformation der Daten 2. Polynomiale Kernel transformiert Daten in höhere Potenzen zB quadratische oder kubische Funktionen 3. Radiale Basisfunktion (RBF) oder Gausscher Kernel transformiert Daten in Raum unendlicher Dimensionen, wodurch komplexe nicht-lineare Muster erfasst werden können Auswahl der richtigen Kernel-Formel und ihrer Parameter ist wichtig und erfordert oft Experimente Was ist ein Skalarprodukt? ** Man hat zB 2 Pfeile (Vektoren) in einem Raum und das Skalarprodukt zw diesen beiden Pfeilen ist eine Zahl die angibt wie ähnlich oder parallel diese Pfeile zueinander sind ** Pfeile gleiche Richtung = Skalarprodukt groß & pos// entgegengesetzte Richtung = groß und neg // senkrecht zueinander = klein oder null, also nicht besonders ähnlich oder parallel ** Skalarprodukt ist ein Werkzeug für Kernel-Funktion um Muster und Beziehungen zw Daten zu erkennen Was könnte ein Beispiel für Rauschen im Zusammenhang mit SVM sein? Messfehler (zB falsch positive/negative), Ungenauigkeiten in der Datenerfassung, Störsignale in medizinischen Bildern aufgrund Artefakten (falsch positiv), Unerwünschte Einflüsse in Textdaten (falsch pos: sprachliche Meehrdeutigkeiten in Textanalyse führen zu einer positiven Stimmung, unvorhersehbare externe Faktoren Wozu werden SVMs verwendet? Klassifikations oder Regressionsproblemen? ** In erster Linie für Klassifikationsprobleme wo man Datenpunkte in verschiedene Kategorien einordnen muss um so eine Trennung zwischen den Klassen zu finden ** es gibt eine Art von SVM die für Regressionsaufgaben verwendet wird und heißt SVR diese erstellt kontinuierliche Vorhersagen für numerische Werte sie verteilt möglichst gleichmäßig die Datenpunkte um eine bestimmte Vorhersagelinie zu erreichen dh Vorhersage wird so getroffen, dass Punkte innerhalb eines bestimmten Bereichs um die Vorhersagelinie liegen Auf was für Probleme sind die SVM anwendbar? Binär? Mehrklassen= ** In ihrer ursprünglichen Form sind sie für 2 Klassen-Probleme anwendbar; das Grundlegende Konzept ist es eine Trennlinie durch die beiden Klassen zu finden ** Es gibt Erweiterungen von SVM die die „One-vs-All“ Strategie verwenden, bei der für jede Klasse ein SVM-Modell erstellt wird, das diese Klasse ovm Rest unterscheidet; Dann kombiniert man diese Modelle um eine Vorhersage für mehrere Klassen zu treffen Was kann beim Lernen von Klassifikatoren mit komplexen Entscheidungsgrenzen passieren? ** Es gibt viele Parameter, die angepasst werden müssen, um die Daten gut zu modellieren. Dies kann zu Überanpassung führen, bei der der Algorithmus zu stark auf die Trainingsdaten passt und auf neuen Daten schlecht generalisiert. ** Im Gegensatz dazu sind lineare Klassifikatoren, die einfache gerade Linien oder Ebenen verwenden, weniger anfällig für Überanpassung und können gut mit Rauschen umgehen. SVMs bieten jedoch die Flexibilität, auch nicht-lineare Entscheidungsgrenzen zu modellieren, indem sie die Daten in einen höherdimensionalen Raum abbilden. Dies ermöglicht es ihnen, auch mit komplexeren Strukturen umzugehen, ohne notwendigerweise viele Parameter anzupassen. Multi-Layer Perceptrons („Neural Networks“) Was ist ein „Multi-Layer Perceptrion (MLP)? Das ist eine Art künstliches neuronales Netzwerk Was ist der Aufbau von MLP? ** Es besteht aus Neuronen, die in Schichten organisiert sind: Eingangsschicht, mindestens eine versteckte Schicht und eine Ausgangsschicht ** jedes Neuron in einer Schicht ist mit jedem Neuron in der nächsten Schicht verbunden ** verdeckte Schichten führen gewichtete Berechnungen durch und helfen komplexe Muster in den Daten zu erkennen Zb MM oder Kombinationen von MM ** jede Verbindung zw. Neuronen in aufeinanderfolgenden Schichten hat eine Gewichtung diese werden während des Trainings angepasst, um die Ausgabe des Netzwerks zu verbessern ** Aktivierungsfunktion nach der gewichteten Summe der Eingangsdaten wendet jedes Neuron eine Aktivierungsfunktion an die bestimmt ob das Neuron „aktiviert“ wird und welchen Wert es an die nächste Schicht weitergibt Häufig verwendete Aktivierungsfunktionen sind Sigmoidfunktion oder ReLU (Rectified Linear Unit) ** Netzwerk wird mit Trainingsdaten trainiert und Fehler zw. vorhergesagten Ergebnissen und tatsächlichen Ergebnissen werden zurückpropagiert durch das Netzwerk; danach werden die Gewichtungen der Verbindungen angepasst damit der Fehler minimiert wird; Prozess wird so lange durchlaufen bis das Netzwerk gut auf neue Daten reagiert Wie ist das Netzwerk von MLP organisiert? Netzwerk ist als Feed-Forward-Netzwerk organisiert Daten durch das Netzwerk von der Eingangsschicht über die versteckten Schichten bis zu Ausgangsschicht fließen ohne Rückkopplungsschleifen Was ist ein „Hidden Layer“? ** MLPs haben mind eine versteckte Schicht zw. Eingangs- und Ausgangsschicht ** Neuronen in der versteckten Schicht führen komplexe Berechnungen durch, um Muster in den Daten zu erfassen zB bestimmte MM oder Kombinationen von MM zu extrahieren Was ist das Training mit Backpropagation? ** Lernalgorithmus verwendet das Backpropagation-Verfahren, um das Netzwerk auf Grundlage ovn Fehlern zu trainieren ** Während des Trainings werden Daten durch das Netzwerk geleitet, und die Ausgabe wird mit den tatsächlichen Ergebnissen verglichen ** Fehler werden zurückpropagiert durch das Netzwerk, und die Gewichtungen der Verbindungen werden entsprechend angepasst, um den Fehler zu minimieren ** dieser Prozess wird iterativ wiederholt, bis das Netzwerk die gewünschte Genauigkeit erreicht Was sind die Vor- und Nachteile von MLP? Vorteile ** Inkrementelles Lernen (Online) MLP kann kontinuierlich lernen und seine Modelle aktualisieren, wenn neue daten verfügbar sind – super weil Modell sich auf ändernde Umstände reagieren muss ** sie haben eine niedrige „Bias“ = sie sind in der Lage sehr komplexe Muster und Strukturen in den Daten zu erfassen ** MLP kann direkt auf Klassifikationsprobleme mit mehr als 2 Klassen angewendet werden, ohne dass zusätzliche Anpassungen erforderlich sind Nachteile ** Langsames Training Training von MLP ist zeitaufwendig und erfordert oft viele Durchläufe durch den gesamten Trainingsdatensatz damit die optimalen Gewichtungen gelernt werden das kann besonders bei großen Datensätzen oder komplexen Netzwerken der Fall sein ** das produzierte MLP Modell ist oft schwer zu interpretieren; anders als bei einfachen linearen Modellen sind die gelernten Gewichtungen und Strukturen der versteckten Schichten nicht leicht verständlich Machine Learning: Developing for AI Was sind Schritte zur Klassifikation mit maschinellem Lernen? 1.Module importieren Importiere benötigte Module wie Pandas für Datenmanipulation, NumPy für numerische Berechnungen und Teile von Scikit Learn für maschinelles Lernen. // wie Tools in einer Werkzeugkiste 2. Datensatz laden 3. Daten vorbereiten Trennung der Datenpunkte von den Zielklassen, das Aufteilen der Daten in Trainings- und Testdaten unter Berücksichtigung einer stratifizierten Aufteilung, um die Verteilung der Klassen beizubehalten 4. Klassifikator Erstellung Klassifikator wird ausgewählt und erstellt, der das Modell repräsentiert – kann Entscheidungsbaum, k-Nearest Neighbor, SVM NN oder anderer Klassifikationsalgorithmus sein – zusätzlich kann man Konfigurationsparameter festlegen, damit das Verhalten des Modells angepasst ist // welches Computerprogramm möchten wir verwenden? Dieses Programm ist unser „Modell“ 5. Klassifikator wird trainiert hier wird Klassifikator mit Trainingsdaten trainiert, Beziehung zw. Eingabevariablen und Zielklassen werden gelernt // wie Hund Tricks beibringen 6. Klassifikator wird bewertet damit die Leistung des trainierten Modells bewertet wird und sichergestellt ist, dass es nicht überangepasst ist, wird Klassifikator mit Testdaten ausgewertet Zusammengefasst ist der Prozess des maschinellen Lernens ein strukturierter Ansatz zur Entwicklung von Modellen, die aus Daten lernen und Vorhersagen treffen können. Es beinhaltet das Importieren von Modulen, das Laden und Aufbereiten von Daten, das Erstellen und Trainieren eines Klassifikators sowie die Evaluation der Modellleistung. Was ist ein Seaborn Pair Plot? Gibt’s in Seaborn, einer Python-Bibliothek für statistische Datenvisualisierung und ermöglicht gleichzeitige Darstellung von Beziehungen zw paarweisen Kombinationen von mehreren Variablen in einem DS Studie: Deep learning in medical imaging and radiation therapy Wo passt DL hierarchisch rein? Erläutere die 3 Stufen. ** Deep Learning ist ein Teilgebiet des ML und das ist ein Teilgebiet von AI ** AI = Überbegriff und beschreibt den groben Ansatz, mit Maschinen intelligentes menschliches Verhalten zu imitieren, um dadurch Probleme zu lösen // zB Spam-Filter der nach bestimmten Begriffen & Absender filtert – aber was wenn sich da etwas ändert? Da geht es weiter mit ML. ** ML = ist die Technologie die eingesetzt wird, um AI zu erreichen Daten werden als Input eingespeist und dann an das Programm weitergegeben, Datenanalyse erfolgt und dann werden Vorhersagen bzw Entscheidungen getroffen das besondere an ML ist, dass solche Programme ohne menschlichen Eingriff dazu lernen ** DL = Weiterentwicklung des ML bei der die Technologie Gebrauch von neuronalen Netzwerken / Artificial Neural Networks macht (nn/ANN) Funktionsweise ist inspiriert vom menschlichen Gehirn neue Informationen bzw. MM werden analysiert und kategorisiert Erkläre DL. DL besteht aus massiven, mehrschichtigen Netzwerken künstlicher Neuronen, die automatisch nützliche MM erkennen können, die für Aufgaben wie Erkennung und Klassifikation erforderlich sind, basierend auf großen Mengen von nicht beschrifteten oder beschrifteten Daten Deep Learning versucht, komplexe Muster und Darstellungen in Daten zu lernen, indem es mehrere Schichten von Neuronen verwendet, die in einer hierarchischen Struktur angeordnet sind. Im Gegensatz zu traditionellen maschinellen Lernansätzen, bei denen menschliche Experten Merkmale extrahieren müssen, kann Deep Learning automatisch relevante Merkmale aus den Daten lernen; besonders in Bereichen wie Bilderkennung, Sprachverarbeitung und natürlicher Sprachverarbeitung große Fortschritte ermöglicht. Wie ist die Vorgehensweise beim Imaging (Bildverarbeitung) bei handgefertigten Merkmalen? Hier werden die handgefertigten MM aus den Bilddaten extrahiert und anschließend die Dimensionalität reduziert indem man die Eingabe in das summiert was als relevanteste Information gilt, damit man eine Klasse von Eingabedaten von einer anderen unterscheiden kann Nenne mir ein Beispiel zur Dimensionsreduzierung bei der Bildverarbeitung. ** zB man nimmt Pixel als Eingabe für die Bildverarbeitung, also sind das unsere Daten ** die Bilddaten werden in einen hochdimensionalen Vektor umgewandelt zB aus 500x500 Pixeln in einer ROI wird ein Vektor mit 250k Elementen jedes Element repräsentiert die Intensität eines Pixels Pixelwerte: In einem digitalen Bild besteht jedes Pixel aus einem numerischen Wert, der seine Helligkeit repräsentiert. Dieser Wert kann je nach Farbmodus des Bildes variieren, z. B. Graustufen oder Farbe. Umrechnung in einen Vektor: Wenn du eine Region von 500x500 Pixeln hast, kannst du diese in einen Vektor umwandeln, indem du die Pixelwerte der Reihe nach anordnest. Du hättest dann einen Vektor mit 250.000 Elementen. Intensität eines Pixels: Jedes Element dieses Vektors repräsentiert die Helligkeit eines Pixels an einer bestimmten Position in der Bildregion. Je höher der numerische Wert, desto intensiver ist die Helligkeit dieses Pixels. ** diese vielen Variationen im Erscheinungsbild des Tumors würden das Finden der Hyperebene, die die hochdimensionalen Vektoren von bösartigen und gutartigen Tumoren trennt, eine sehr große Anzahl von Beispiel erfordern, wenn die ursprünglichen Pixelwerte verwendet werden ** als Lösung werden spezielle MM in dem Bild extrahiert und beispielsweise die Form des Tumors beschrieben diese niederdimensionale Darstellung lässt sich mit weniger Beispielen leichter separieren, wenn die MM relevant sind so hat man Vektoren mit nur einigen Duzend oder Hunderten Elementen Welche 2 Hauptprobleme hat man bei der herkömmlichen Herangehensweise an maschinellem Lernen bei handgefertigten Merkmalen? 1. Schwierigkeiten bei der MMgestaltung Entwerfen nützlicher MM ist sehr komplex und erfordert Anstrengungen mehrerer Experten & Forscher über Jahre oder Jahrzehnte, damit sie optimiert werden; Herausforderung MM zu finden die die relevanten Informationen in den Daten gut repräsentieren 2. Domänenspezifische MM erstellte MM sind oft spezifisch für bestimmte Domäne oder Problem Was ist der Hauptunterschied zwischen DL und herkömmlichen ML Techniken? DL-Ansatz eliminiert die Notwendigkeit handgefertigter MM, da das System automatisch nützliche MM direkt aus den Rohdaten erlenen kann anstatt die MM manuell zu definieren, können tiefgreifende neuronale Netzwerke mehrere Schichten von Neuronen enthalten, die miteinander verbunden sind während Trainingsprozesse passen diese Netzwerke ihre Gewichtungen an, um automatisch Muster und MM in den daten zu erkennen Was ist „Transfer Learning“? ** ein Modell, das auf großen Datensätzen für eine ähnliche Aufgabe trainiert wurde, wird als Grundlage verwendet ** heute ist es möglich SVMs und Random Forests auch mit den Ausgaben von vortrainierten CNNs zu füttern, anstatt auf handgefertigte MM angewiesen zu sein = Transfer Learning ** gelernte MM können auf unterschiedlichen Datensätzen angewendet werden was besonders nützlich ist, wenn es für eine bestimmte Aufgabe nur begrenzte relevante Daten gibt Nenne mir ein Beispiel für Transfer Lernen Zb ich trainiere ein DL-Modell auf einen riesigen Datensatz auf verschiedene Kategorien (zB katzen, schnecken, giraffen etc.) bei der Feinabstimmung kann ich das Modell auf Hund ezuschneiden indem ich das Modell mit meinem begränzten Datensatz von Bildern über Hunde trainiere Warum ist DL in einigen Anwendungen erfolgreich, besonders wenn es darum geht komplexe Muster in großen Datenmengen zu erkennen? Tiefe neuronale Netzwerke haben die Fähigkeit automatisch MM zu lernen wodurch sie weniger stark von manuell erstellten MMpräsentationen abhängig sind Worauf beruht die Leistungsfähigkeit von DL-Methoden? Welche 2 Faktoren? ** depth und compositionality ** Tief wie viele Schichten (Layer) ein neuronales Netzwerk hat ** Kompakte Funktion wenn eine geringe Anzahl von Rechenelementen zur Repräsentation verwendet = Modell kann relevante Informationen mit relativ wenigen internen Darstellungselementen oder Neuronen erfassen dh auch weniger Trainingsbeispiele werden benötigt und das führt zu einer besseren Verallgeminerung auf nicht gesehene Beispiele ** Kompositionalität bezieht sich darauf, wie aufeinanderfolgende Schichten des Netzwerks die Repräsentationen aus früheren Schichten nutzen können, um komplexere Repräsentationen zu komponieren. = Vorteil tiefer Architekturen Wie gut erweisen sich tiefe neuronale Netzwerke in der Bilderkennung? Sie erfassen einfache Informationen wie das Vorhandensein oder Fehlen von Kanten an verschiedenen Orten und Orientierungen in der ersten Schicht. in den aufeinanderfolgenden Schichten des Netzwerks setzen die Kanten zu zusammengesetzten Kanten zusammen, sodass immer komplexere Formen wie Objektteile entstehen - wichtig in der Bildverarbeitung wo benachbarte Pixel und Objektteile miteinander verbunden oder abhängig sind Was sind CNN? ** Das sind leistungsfähige DL-Architekturen, die speziell für die Verarbeitung von Bildern entwickelt wurden! ** CNNs ermöglichen die automatische Extraktion und Lern Hierarchien von Merkmalen, beginnend mit einfachen Mustern und schrittweise zu komplexeren Strukturen fortschreitend Wie funktionieren CNNs? Lokale Korrelation und Faltung ** benachbarte Pixel sind verbunden oder voneinander abhängig (zB in Bereichen mit lokaler Glattheit oder Bereichen mit Strukturen wie Kanten von Objekten) ** anstatt ein vollständig verbundenes Netzwerk zu haben wo jedes Pixel von einem unterschiedlichen Gewicht verarbeitet wird verwendet CNN dieselben Gewichte an verschiedenen Positionen im Bild um wiederkehrende Muster zu extrahieren ** Trainierbare Gewichtssätze – die auch als Kernel oder Filter bezeichnet werden – werden auf das Bild angewendet, indem eine Faltung verwendet wird, gefolgt von einer Nichtlinearität wie Sigmoid- oder Tanh-Funktion Convolutional Layers ** jedes Convolutional Layer besteht aus mehreren Filtern, die auf das Bild angewendet werden, um verschiedene Muster auf jeder Ebene zu extrahieren ** durch all diese Schichten können komplizierte Hierarchien von MM gelernt werden, beginnend mit einfachen Mustern in den ersten Schichten bis hin zu komplexen Strukturen in den tieferen Schichten Pooling Layers ** nach jedem Convolutional Layer erfolgt ein Pooling Layer, zB Max Poling bei dem der Ausgabewert das Maximum innerhalb eines Fensters ist das dient dazu die Dimensionalität zu reduzieren und das Netzwerk gegenüber kleinen Verschiebungen in der Position von Mustern im Eingangsbild unempfindlich zu machen (Translations Invariance) Wie sieht die Struktur eines CNN Netzwerks aus? diese Convolutional- und Pooling Schichten können gestapelt werden, damit ein meehrschichtiges Netzwerk entsteht was oft in eine oder mehrere vollständig verbundene Schichten übergeht, gefolgt von einer Softmax-Schicht für die Klassifikation Was ist die Softmax-Schicht? ** Softmax-Schicht hilft also dabei, die Ausgaben des neuronalen Netzwerks so zu interpretieren, dass du eine klare Vorstellung davon bekommst, welche Klasse das Netzwerk für wahrscheinlicher hält. ** für jede mögliche Klasse die Softmax-Schicht angibt, wie wahrscheinlich es ist, dass das Eingabemuster zu dieser Klasse gehört. Was sind Kernel bzw Filter bei CNN? Sie werden auch „Gewichtssätze“ genannt und sind kleine Matrizen von Zahlen, die während des Trainings des CNNs gelernt werden; jeder Kernel ist darauf ausgelegt bestimmte MM im Bild zu erfassen – zB könnte ein Kernel darauf trainiert werden, Kanten zu erkennen // Ein Kernel ist eine kleine, gewichtete Matrix. Er wird über das Eingangsbild (zum Beispiel ein Bild) bewegt, und an jeder Position wird ein lokales Punktprodukt zwischen den Werten im Kernel und den entsprechenden Werten im Eingangsbild berechnet. ** Punktprodukt oder Faltung Kernel wird auf dem Bild angewendet, indem es eine Faltung oder Punktprodukt durchführt ? Kernel wird über Bild bewegt und für jede Position wird das Punktprodukt der Welte im Kernel und den entsprechenden Pixelwerten im Bild berechnet ** Nichtlinearität Das Ergebnis der Faltung wird durch eine nichtlineare Aktivierungsfunktion geleitet, um nichtlineare MM zu erfassen (Sigmoid- oder Tanh-Funktionen zb) ** Ziel: wichtige MM im Bild zu betonen und unwichtige Infos zu unterdrücken ** z Bis tein Kernel darauf trainiert, senkrechte Kanten zu erkennen Was sind Vorteile bei CNNs? ** im Vgl. zu vollständig verbundenen Netzwerken enthalten CNNs viel weniger trainierbare Parameter, was zu kürzeren Trainingszeiten und weniger Trainingsdaten führt ** Architektur von CNNs ist speziell auf die Verarbeitung von lokalen Strukturen in Bildern ausgerichtet, weswegen sie eine natürliche Wahl für Bildanwendungen sind und oft in verschiedenen Bildverarbeitungsaufgaben erfolgreich eingesetzt wird Was sind Convolutional Layers? ** Sie sind eine grundlegende Komponente von CNNs und besonders in der Bildverarbeitung eingesetzt Was ist eine Faltung (Convolution)? Bezieht sich auf den Ein Kernel ist eine kleine, gewichtete Matrix. Er wird über das Eingangsbild (zum Beispiel ein Bild) bewegt, und an jeder Position wird ein lokales Punktprodukt zwischen den Werten im Kernel und den entsprechenden Werten im Eingangsbild berechnet. Was ist die Aktivierungsfunktion bei Convolutional Layers bei CNN? Nach der Faltung wird auf das Ergebnis oft eine nichtlineare Aktivierungsfunktion angewendet, wie z.B. die Rectified Linear Unit (ReLU). Diese Schicht bringt nichtlinearität in das Modell ein und ermöglicht es dem Netzwerk, auch komplexe Muster zu lernen. Was ist das Pooling bei Convolutional Layers bei CNN? Nach der Convolution kann oft eine Pooling-Schicht folgen. Das Pooling reduziert die Dimensionalität der Aktivierungskarten, indem es beispielsweise den maximalen Wert in einem Fenster auswählt. Dies verbessert die Rechenleistung. Was ist RNN und wozu ist es geeignet? Nenne ein Bsp. eine Art von Netzwerk, das besonders gut für die Analyse sequenzieller Daten geeignet ist, wie zum Beispiel Texte oder Sprache. Der Schlüssel zu RNNs liegt in ihrer Fähigkeit, einen internen Gedächtniszustand zu haben, der Informationen über vorherige Datenpunkte speichern kann. es hat eine Art Gedächtnis, das es befähigt, sich an vorherige Sätze zu erinnern und den aktuellen Satz im Zusammenhang mit den vorherigen zu interpretieren. Wobei hatten herkömmliche RNNs Schwierigkeiten? bei der langfristigen Speicherung von Informationen über viele Zeitschritte hinweg, was als "Vanishing Gradient Problem" bekannt ist. Um dieses Problem zu überwinden, wurden sogenannte Long Short-Term Memory (LSTM)-Netzwerke entwickelt. LSTMs sind eine verbesserte Form von RNNs mit einer speziellen Struktur, die es ihnen ermöglicht, Informationen über längere Zeitspannen zu behalten. Was ist die Grundidee der LSTMs? Kontext über mehrere Schritte hinweg zu bewahren, was sie besonders effektiv für eine Vielzahl von Aufgaben macht; zB Spracherkennung bis zur maschinellen Übersetzung. Was sind GANs und woraus bestehen sie? vielversprechende Klasse von DL-Architekturen, die aus zwei Netzwerken bestehen: einem Generator und einem Diskriminator. ** Generator produziert neue Dateninstanzen, die versuchen, die in der Schulung verwendeten Daten nachzuahmen, während der Diskriminator versucht festzustellen, mit welcher Wahrscheinlichkeit die generierten Kandidaten zu den Schulungsdaten gehören. Wie wird GAN trainiert? Die beiden Netzwerke werden gemeinsam mit Backpropagation trainiert. Der generative Netzwerk wird besser darin, realistischere Beispiele zu generieren, während der Diskriminator besser darin wird, künstlich generierte Beispiele zu erkennen. Wo haben GANs Potential in der Medizin? in medizinischen Bildanwendungen gezeigt, wie beispielsweise bei der Bildrekonstruktion für die komprimierte Erfassung in der Magnetresonanztomographie (MRI). Das bedeutet, dass GANs dazu verwendet werden können, hochwertige Bilder aus stark komprimierten oder unvollständigen Bildinformationen zu rekonstruieren. Bei welchen Themen war DL noch ein Durchbruch im Imaging? traditionellen Themen des maschinellen Lernens wie Segmentierung, Läsionserkennung und Klassifikation beschleunigt, sondern auch in anderen Bereichen wie Bildrekonstruktion und Artefaktreduktion, die zuvor nicht als datengetriebene Untersuchungsthemen betrachtet wurden. Was für Ressourcen und Plattformen braucht man bei DL? ** Um ein tiefes neuronales Netzwerk zu trainieren, werden viele Parameter (manchmal 100tausende oder Mia) benötigt, die während des Trainingsprozesses geschätzt werden müssen. Der Prozess besteht darin, die Gewichtungen dieser Parameter zu optimieren, um das Netzwerk auf eine spezifische Aufgabe vorzubereiten. Um dies zu tun, wird ein Verfahren namens Backpropagation verwendet, bei dem der Fehler zwischen den vorhergesagten Ergebnissen des Netzwerks und den tatsächlichen Ergebnissen zurückpropagiert wird, um die Gewichtungen schrittweise zu aktualisieren. ** Stochastischer Gradientenabstieg (SGD) wird verwendet, um die Gewichtungen zu aktualisieren. Dabei werden die Trainingsdaten in Minibatches aufgeteilt, und nach jeder Iteration des Trainingsprozesses werden die Gewichtungen basierend auf den Fehlern in diesem Minibatch angepasst. Dieser Prozess wird über viele Iterationen wiederholt. ** Hardware man braucht GPUs (Graphic Processing Units) die packen die vielen Paramenter, im Notfall gibt’s auch HPC-Cluster (High-Performance-Computing) – heutzutage macht man das auf einem normalen PC mit starken gaming GPUs ** Software es gibt auch mehrere cloud-based Lösungen wie zb AWS, Nvidia GPU cloud wo man als Benutzer seine Modelle remote trainieren kann; Es gibt auch TPUS (Tensor Processing Units) die schneller als CPU oder GPU Lösungen sind und kürztlich von Google Cloud für alle zugänglich ist Es gibt Opensource Bibs für DL-Bibliotheken mit der man Netzwerke konfigurieren kann und verschiedene Trainignsstrategien erkunden kann – beliebteste Bibs sind: TensorFlow, Caffe, Torch – sind Frameworks und bieten Programmierschnittstellen (APIs) in verschiedenen Programmiersprachen (beliebteste ist Python) Wozu wird DL in der Radiologie genutzt? 1. Image segmentation in verschiedenen Modalitäten Organe erkennen 2. Lesion segmentation ähnlich wie organ segmentierung aber schwieriger weil es hier verschiedene Formen und Größen gibt – Oft angewendet bei Hirntumoren (vll weil es eine große öffentliche Datenbank gibt) 3. Organ Detektion anatomische Strukturen erkennen in 2D und 3D Daten zB für Radiotherapie Planung 4. Läsions charakterisierung Charakterisierung von Lungenknoten und die Untersuchung von Veränderungen in Lungenknoten im Laufe der Zeit verwendet, um das Wachstum der Lungenknoten zu verfolgen und falsch positive Diagnosen von Lungenkrebs zu vermeiden. 5. Charakterisierung durch computer-aided diagnostics (CADx) systems; Radiomics- omics of images is an expansion of CADx to togher tasks such as prognosis and cancer subtyping = Interpretation of medical image f.ex. features like size, shape, texture, kinetics etc. 6. Gewebe Charakterisierung wir fokusieren uns auf gesundes Gewebe was nicht tumurös ist, damit man Risiken einschätzt (zb Mammo) 7. Diagnose CADx – zB Brusttumor 8. Prognose und Staging bei Krebs vor alllem nach Biopsie kann man Prognose und potentielle Behandlungsmöglichkeiten erfassen 9. Quantifikation automatisches Calcium Scoring bei Herz-CTs 10. Verarbeitung und Rekonstruktion Rauschunterdrückung, Rekonstruktion, (zB cardiac MR Data), Artefaktunterdrückung ( CT bei Bewegungsartefakten zb Atmung); Image registration ( gleichzeitige Orientierung in 2D und 3D Daten); Synthetische Modalitäten voneinander erstellen (zB CT aus MRT erstellen zB damit man keine Strahlung mehr hat) 11. Radiotherapie automatische Bestrahlungsplanung 12. Anschlagen auf eine Behandlung zB bei Brustkrebs wie gut man auf die Chemo anschlägt – man sieht sich dabei auch Bilddaten an Welche 2 Hauptansätze gibt es in der medizinischen Bildverarbeitung um Informationen aus Bildern zu extrahieren? In der medizinischen Bildverarbeitung gibt es zwei Hauptansätze, um Informationen aus Bildern zu extrahieren: Klassifikationsbasierte Methoden und Regressionsbasierte Methoden. Klassifikationsbasierte Methoden: Diese Methoden konzentrieren sich darauf, Kategorien oder Klassen von Körperteilen oder Organen auf Bild- oder Patchebene zu diskriminieren. Zum Beispiel könnte eine klassifikationsbasierte Methode darauf abzielen, auf einem Bild zu erkennen, ob ein bestimmtes Organ wie die Leber vorhanden ist oder nicht. Die Ausgabe ist diskret und repräsentiert die Klassenzugehörigkeit des analysierten Bereichs. Regressionsbasierte Methoden: Im Gegensatz dazu zielen regressionsbasierte Methoden darauf ab, detailliertere Positionsinformationen wiederherzustellen. Statt nur zu sagen, ob ein Organ vorhanden ist oder nicht, versuchen regressionsbasierte Ansätze, präzise numerische Werte zu liefern, wie beispielsweise die Koordinaten von Landmarken oder die genaue Position von Strukturen. Diese Methoden sind darauf ausgerichtet, kontinuierliche Werte zu schätzen und liefern somit eine feinere Lokalisierung von anatomischen Merkmalen. Zusammenfassend konzentrieren sich Klassifikationsmethoden auf die Kategorisierung von Regionen oder Patches in Bildern, während Regressionsmethoden darauf abzielen, genaue numerische Werte oder Koordinaten für bestimmte Merkmale zu berechnen. Formularbeginn Welche Entwicklung gibt es kürzlich bei CNN? In der medizinischen Bildverarbeitung haben sich in letzter Zeit 3D Convolutional Neural Networks (CNNs) als erfolgreich erwiesen und werden zunehmend für volumetrische Daten eingesetzt. Hier sind die wichtigsten Punkte: 3D CNNs statt 2D CNNs für volumetrische Daten: Statt 2D Convolutional Kernels werden 3D Convolutional Kernels verwendet, um dreidimensionale Informationen in volumetrischen Daten zu verarbeiten. Training von 3D CNNs auf 3D-Patches: Aufgrund der begrenzten Anzahl von verfügbaren Fällen werden 3D CNNs häufig auf 3D-Patches trainiert, die aus jedem Fall extrahiert werden. Jeder Fall kann dazu verwendet werden, Hunderte oder Tausende von 3D-Patches zu extrahieren. Datenaugmentation für ausreichende Beispiele: Durch die Anwendung verschiedener Datenaugmentationsmethoden ist es möglich, eine ausreichende Anzahl von Beispielen zu generieren, um 3D CNNs zu trainieren. Umstellung auf vollständig faltende Netzwerke (Fully Convolutional Networks): Nach dem Training auf Patches kann das gesamte Netzwerk in ein vollständig faltendes Netzwerk umgewandelt werden, sodass das gesamte Netzwerk als eine Faltungskernel wirkt, der effizient auf eine Eingabe beliebiger Größe angewendet werden kann. Effiziente Verarbeitung ganzer Volumina: Da die Faltungsvorgänge sehr gut optimiert sind, ermöglicht dies eine schnelle Verarbeitung des gesamten Volumens, wenn ein 3D CNN auf volumetrischen Daten angewendet wird. Zusammengefasst ermöglichen 3D CNNs die effektive Verarbeitung von volumetrischen medizinischen Daten, indem sie 3D-Informationen berücksichtigen und durch Training auf Patches und anschließende Umstellung auf vollständig faltende Netzwerke ausreichende Daten für das Training generieren. Was ist ein 3D-Patch? beziehen sich auf dreidimensionale Ausschnitte oder Teilvolumina, die aus einem Gesamtvolumen extrahiert werden. In der medizinischen Bildverarbeitung können diese Patches aus volumetrischen Daten wie CT-Scans, MRT-Scans oder anderen dreidimensionalen Bildern genommen werden. Was sagt die Studie über

Use Quizgecko on...
Browser
Browser