date-created: 2024-05-07 02:12:54 date-modified: 2024-07-02 12:55:39 topic: introduction_machine_learning

Regression |

anchored to 116.00_anchor_machine_learning


Motivation | Overview

Ist ein wiederkehrendes Thema, was wir in allen Facetten des machines learnings finden können. Sogar bei 116.14_deep_learning tritt es wieder auf, weil die Idee der Regression oft angewandt wird, um eine Optimierung stattfinden zu lassen –> etwa, wenn wir beim Gradientenabstieg!

Grundkonzept

[!Definition] Grundidee | Supervised Regression

Betrachten wir folgende Grafik:

Unter Betrachtung dieser: Welche Rolle spielt die Regression, was sit die Ausgabe? Was macht der Loss? #card

Wir befinden uns im Kontext des supervised learnings, was heißt, dass wir ein Netz trainieren, welches weiterhin immer die gewünschten Ausgaben erhält und sich daran dann verbessern kann.

Wir müssen hier bestimmte Dinge beachten:

  • passende Datensatze auswählen ( so aufteilen, dass wir Test und Validierungs-Daten haben)
  • ein Modell - und die Struktur dessen - welches uns die entsprechende Funktion “bestimmen” soll, die Eingaben auf die gewünschten Ausgaben mapped
  • einen Optimizer –> welcher die Gewichte des verwendeten Modells nimmt und dafür verwendet es zu verbessern
  • eine Loss-Funktion, die bei jeder Prediction betrachtet / evaluiert, wie weit die Prediction von dem gewünschten Wert ist

In diesem Zusammenspiel werden wir die Regression erleben, als Aspekt, der uns das Modell bestimmen kann.

Das heißt wir betrachten eine Menge von Datenpunkten. Wir möchten in dieser Betrachtung jetzt durch Inputs und Outputs, einen Loss entscheiden können, welcher uns dabei hilft, einen Optimizer umsetzen zu können.

–> Mit der Loss-Funktion können wir Distanzen zum Raum messen – und somit vergleichen wo es ist und wo es sein sollte.

Der Optimizer ist dafür da den Loss zu betrachten und daran dann das Model zu optimieren bzw mehr Informationen erhalten und verarbeiten zu könen. –> Es wird also durch den Parameter des Loss aktualisiert und verbessert.

Datensätze und Eingabe / Ausgabe

[!Beweis] Grundlegende Definition

Wir betrachten primär zwei Räume:

  1. Der Eingaberaum ( welcher den Datensatz und seine Eigenschaften / Parameter beschreibt)
  2. Der Ausgaberaum (welcher die Ausgabedimension, also die Werte, die wir aus den Daten “ziehen” wollen, enthält)

Wie modellieren wir jetzt einen Datensatz und einzelne Einträge? #card

Ferner betrachten wir also einen konkreten Datensatz und entsprechende Ausgaben:

Ein Einzelner Datenpunkt wird beschrieben mit:

grafisch etwa:

der obere Index T gibt an, welcher Datenpunkt es ist – also der erste / zweite / dritte etcetc.

Lineare Regression

Wir möchten zuerst die Idee einer Linearen Regression betrachten und definieren:

[!Definition] Lineare Regression

Gegeben eines Datensatzes, gehen wir davon aus, dass es eine unbekannte Funktion gibt: die uns Datenpunkte aus dem einen Raum in den anderen (etwa die Prediction) abbilden kann.

wie können wir sie durch lineare Regression bestimmen?Was benötigt es innerhalb der Funktion? #card

Vorab betrachten wir jetzt nur eindimensionale Regression! Also !

Wir wollen folgendes Modell definieren, was uns unsere Predictions passend beschreiben und auswerten kann:

Folgende Eigenschaften können wir hier erkennen

  • Wir haben also eine einfache lineare Funktion, die für jeden Eingabewert unter Betrachtung eines Gewichtes ( wie stark dieser Wert verwendet wird) eine Summe bildet, die dann ergibt.
  • es ist ein parametrisches Modell -> es enthält Parameter/Bias und weiterhin auch Gewichte und Regressionskoeffizienten
  • beschreibt dabei den Gewichtsvektor!
  • Der Bias ist meist mit gegeben –> das kommt aber darauf an, bei welchem Wert in der Matrix wir eine 0 setzen, sodass er ohne Veränderung übernommen wird.

Das Modell ist in seinen Parametern linear!, also:

-> Wir meinen hiermit, dass eine Reihe von 1 am Anfang der Matrix gesetzt wird –> Da hier der obig angesprochene Bias oder ähnliches einfach übernommen wird.

Man könnte diese Reihe von Einsen auch in eine andere setzen.

Loss | Optimizer

[!Req] Definition

Wir haben jetzt das Modell als Form einer lineare Regression beschrieben.

Jedoch müssen wir jetzt noch die Parameter/Gewichte bestimmen und optimieren.

Wie können wir das umsetzen? Was meint das kleinste-quadrate-Problem (least-square-Problem). Wo kann man es anwenden? #card

Wie aus unserer obigen Abbildung entstanden, möchten wir die Gewichte unter Betrachtung einer Fehlerfunktion (Loss-Funktion) nach und nach verbessern.

Wir beschreiben folgend eine Loss-Funktion:

Also wir summieren die Fehler für jeden einzelnen Datenpunkt auf. (Bedenke, dass ein Indikator für den -ten Eintrag ist!)

Wir sehen hier auch noch, dass man dann das Problem folgend lösen kann:

Least-Square-Problem:

Wir wollen ein Optimum also so bestimmen, indem wir die besten Gewichte finden, die den kleinsten Loss aufweisen!

–> Wir wählen also so, sodass die Summe der quadratischen Fehler zwischen dem Modell und der Daten minimal ist!

Dabei kann man jetzt analytisch oder mit dem Gradientenabstieg bestimmen.

Modellerweiterung | höhere Dimensionen

Lifting inputs to feature space

Wir können gerade in Räumen gerade nur lineare Geraden / Ebenen finden, die mögliche Datenpunkte passend abdecken bzw. treffen und beschreiben können.

Wir wollen jetzt schauen, ob wir auch nichtlinear Funktionen modellieren können?

[!Definition] Basisfunktionsmodell

Wir möchten jetzt nichtlineare Funktionen modellieren, solche die also u.U. mehrere Dimensionen abdecken können. wie folgend zu sehen:

Wie können wir das umsetzen, was beschreibt das Basisfunktionsmodell? #card

Wir wollen unsere Eingabewerte jetzt also in einen Merkmalsraum übertragen –> also verschieben / verändern.

Dafür definieren wir die Basisfunktion

Wobei hier dann also: es ist also eine Abbildung mit

(primär verändern wir also die Dimension unserer Eingabewerte und könnten so etwa Polynome zum modellieren verwenden)

[!Tip] Konstruktion einer passenden Regression mit Basisfunktionen Wir betrachten und setzen diverser Basisfunktionen voraus - etwa quadratisch, linear, kubisch etc. Ferner können wir jetzt in dieser Betrachtung ein Basisfunktionenmodell erzeugen, indem wir einfach eine lineare Kombination von diversen Basisfunktionen erstellen. Das heißt also, dass wir einfach viele Grundlegende Funktionen zusammenpacken, um so eine mögliche ANnäherung erhalten zu können.

Basisfunktionen sind schon gegeben und wir möchten die Parameter finden, sodass sie möglich nah dem Space von Daten, die wir erhalten haben, angepasst bzw nahe wird. Regression halt.

Gründe warum man Funktionen als Summe von skalierten Funktionen modellieren kann, wird etwa in folgendem Video gut erklärt: link link

Beispiel | Basisfunktionsmodell

Man kann so etwa die normale Struktur, dass der Mekrmalsraum gleich des Eingangsraumes ist, modellieren mit: wobei war!

Man kann aber auch eine Polynom-Regression damit modellieren. Dann wäre folgend:

man kann Quadratische Funktionen in etwa folgend darstellen: –> Wir sehen hier, dass wir jede Eingabe aus entsprechend verwertet, um einen neuen Vektor zu bilden.


Bekannte Basisfunktionen

Folgend betrachten wir einige bekannte / oft genutzt Basisfunktionen, die man hier oft / gut anwenden kann.

[!Tip] Gaussfunktion

Wir kennen die Gaussfunktion schon aus Normalverteilung also Stochastik

Wie ist sie beschrieben? #card

Wir beschreiben sie mit:

(Wir nehmen sie hier nicht als PDF, wie bei Stochastik!) sondern es ist eine deterministische Basisfunktion!

(Variation dafür, mit einer breiteren Verteilung, wäre etwa die radikale Basisfunktion (RBF))

Wir wissen, dass nur einen lokalen Effekt auf nahe , denn wir haben ja einen starken Abstieg außerhalb dieser Mitte ( die Gausfunktion fällt ja sehr sehr schnell ab!)

Sie ist eher lokal angedacht und nutzbar, weil sie nur sehr lokal Änderungen hat und sich da ausbreite.

Im Gegensatz könnte eine kleine Änderung einer quadratischen Funktion sehr viel im gesamten Raum bewirken.

Eine zweite wichtige Basisfunktion beschreibt hier etwa die Sigmoids Funktion:

[!Req] Sigmoid-Funktion

wie wird die Sigmoid beschrieben? Was macht sie im Wertebereich aus? #card

Wir beschreiben die Sigmoid folgend:

Wichtig: Sie verläuft zwischen 1 und 0 und ist dabei nur in diesem Übergang , sonst nimmt sie links nur 0 und rechts nur 1 ein:

Neben dieser gibt es dann noch viele weitere Funktionen die wir hier nicht weiter betrachten.


Multidimensionales Modell |

Wir möchten jetzt unser lineares Modell, die Idee und Struktur der Loss-Funktion für höhere Dimensionen beschreiben!

Warum? Weil wir oft hoch-dimensionale Eingaben haben, die wir dann entsprechend verarbeiten müssen / wollen.

[!Req] Definition

Für

(Bedenke, dass die Ausgabe-, die Eingabe-, die Merkmaldimension und die Menge von Daten ist! )

Wir möchten ferner nochmal die obige betrachtete Funktion (für eine 1-Dimensionale Ausgabe, also ) folgend umschreiben ( als Matrizenmultiplikation): Was wir folgend als Matrix schreiben können:

Wie können wir jetzt eine Multidimensionale Ausgaben angeben? Spezifisch, wie sieht dann Y und w aus? #card

Sofern wir jetzt haben, haben wir folgende Shapes: und ferner als Matriz also:

Das wollen wir noch anhand der folgenden Methode herleiten!:

Least-Squares Method

[!Beweis] Beschreibung: Problem of least-squares

Wir wollen uns nochmal die Idee der Least-Squares Problematik vor Augen führen.

Gegeben einer Loss-Funktion und Gewichten, die das lineare Modell dieser beeinflussen: wie finden wir folgend die besten Gewichte :

  • Finden des , dass die Summe der quadratischen Fehler minimieren kann!

Wir möchten jetzt eine Minimierung durchführen:

[!Feedback] Definition | Minimierung der Fehlerfunktion

Wir wissen, dass , sodass also für alle Datenpunkte gilt: und somit dann

Wie können wir dann die Loss-Funktion entsprechend umschreiben? Erinnerung, wie sie aussieht: #card

Wir können unter obiger Prämisse die Loss-Funktion folgend umschreiben:

Damit haben wir eine Grundlage, die wir folgend durch eine Minimierung (Hier also durch Gradienten!) umsetzen möchten.

[!Satz] Minimierung der Fehlerfunktion

Wir haben die Fehlerfunktion soeben als Matrix-Operation umgeschrieben. Ferner möchten wir aber weiterhin das Minima dieser finden.

Unser Zwischenergebnis war also:

Was können wir machen, um sie entsprechend abzuleiten? und somit das Minima berechnen zu können? #card

Damit lässt sich dann also das Minimum berechnen und man kann somit ein LGS aufstellen!

[!Tip] Folgende Terme sind äquivalent! #card

hierbei ändert sich halt der Ausgangswert -> ist ein Zeilenvektor oder vielleicht eine multi-Zeilen Vektor.

Der Spaltenvektor: von ist also äquivalent zu einer Dimension, weswegen wir hier also aus einer Dimension “quasi nur auf mehrere Dimensionen erweitern”

Also Abstrakt:

BSP: wir sehen hier, dass wir quasi eine Basiswechselmatrix eingeführt haben und betrachten.

Matrix nimmt die Fehler, die wir beobachtet haben und mapped sie auf einen anderen Raum.

Beispiel zum Verständnis

Betrachten wir nochmal alle Werte und wie wir sie definieren

die Funktion mapped auf jeden Eingabepunkt auf verschiedene Bereiche im Feature-space. –> Dabei mapped es für jeden entsprechenden Punkt im Feature-Raum

das einfachste für eine funktion wäre etwa: –> Die Eingabedaten sind dann einfach die Features der Dimension

sind die Basisfunktionen eine Eingangsdim mit zwei Datenpunkten Datenkpunkte: –> wir haben zwei Datenpunkte und einen Vektor.

ist im Einfachsten Fall: Einfach die Datenpunkte mit einem Parameter multipliziert. Und das sollte die Ausgangsdaten ergeben. Wir haben also relativ einfach translatiert. Jede Zeile ist einer der feature vektoren


Orthogonale Projektionen

[!Req] orthogonale Projektion

Wir wissen, dass wir soeben ein linerares Modell mit beschreiben / beschrieben haben.

Ferner haben wir nun auch eine Lösung dessen mit beschrieben.

Wenn wir jetzt in unser Modell einfügen, so erhalten wir dann folgend:

Was können wir dann ferner mit beschreiben? Was gilt für diesen Ausdruck? Was gilt für ? #card

Mit beschreiben wir hier eine orthogonale Projektion!

Wobei sie eine orthogonale Projektion auf den Wertebereich - Spaltenraum / Bild - von abbildet.

Grafisch etwa:

-Eine Projektion ist symmetrisch und auch idempotent (also ) Mit bilden wir Vektoren auf den Nullraum - Kern! - von ab –> Sodass dann ist

Ferner gilt für beliebige !


Regularisierung | Ridge-Regression

[!Beweis] Gründe für Regularisierung:

Betrachten wir die verschiedenen Funktionen, die sich auf die Eingabe-Werte mappen (wollen) –> eine Regression umsetzen.

(M meint die Merkmalsdimension!)

Was können wir hier erkennen? Wie kann man es durch Regularisierung beheben? Wie wird sie umgesetzt? #card

wenn wir zuuu viele Basisfunktionen haben. dann sehen wir, dass mit steigendem die Funktion viel zu stark an die Datenpunkte angepasst wird und somit kommt es zu Overfitting.

Wir haben also perfektes matching zu den Daten, aber können nur sehr schlecht adaptieren und somit nicht zwingend gut auf neue Datenpunkte reagieren.

Mittels Regularisierung können wir dagegen vorgehen: Wir beschreiben sie folgend mit einem neuen Wert :

Mit diesem Regularisierer können wir die Komplexität unserer Basisfunktionen bzw der Zielfunktion beeinflussen, wie folgend ersichtlich ist:

Wir passen hier also primär die Loss-Funktion an!

Overfitting vermeiden

Wir möchten uns drei Punkte / Möglichkeiten anschauen, wie man Overfitting verringern / vermindern kann:

[!Definition] Feature-Auswahl

Was wird mit dieser Methode beschrieben, was ist ihre Idee? Probleme? #card

Wir können einfach die Datendimensionalität verringern, indem wir bestimmte Dimensionen löschen / etnfernen.

Problem:

  • Welche Dimensionen sind nicht wichtig?
  • Wegwerfen von Daten ist selten gut –> man kann wichtige Informationen daraus erhalten / verlieren!
  • ist sehr vom Datensatz abhängig und kann nicht generalisiert werden!

[!Idea] Dimensionreduktion

Was sagen wir mit dieser Idee aus. Wo liegen Probleme? #card

Die Idee besteht darin:

Probleme dabei:

  • man kann hier Strukturen von Daten durch die Konversion verlieren (muss man also mit aufpassen!)
  • wenige Dimensionen könnten unzureichend sein

[!Beweis] Regularisierung

Was sagen wir mit dieser Idee aus. Wo lieen Probleme? #card

Wir versuchen Overfitting durhc ein robustes Machine learning model zu etablieren.

–> Das ist meist eine gute Idee!

Robustheit

Wir gehen jetzt folgend davon aus, dass wir folgende Matrize betrachten:

[!Tip]

Ferner möchten wir bestimmte Fragen stellen:

[!Question]

Was beschreiben wir mit der Robustheit von Modellparametern? #card

Sofern wir die Robustheit solcher Parameter in Frage stellen, wollen wir wissen, wie robust die Parameter gegen kleine Änderungen in den Trainingsdaten sind!

[!Tip] Robustheit von Vorhersagen

Was beschreiben wir mit der Robustheit von Vorhersagen/Predictions? #card

Wie robust sind die Vorhersagen gegen kleine Änderungen von ??

Robustheit von Parametern

[!Definition]

Was bestimmt die Konditionszahl im Bezug auf Robustheit? Wie wird sie berechnet? #card

Die Robustheit der Parameter wird durch die Konditionszahl von beschrieben.

Wir definieren sie mit:

Ferner können wir das etwa visualisieren:

-> bei echten Daten ist die oft groß, außer –> Denn Noise in kann beeinflussen!

Eine kleine regularisierung erhöht die Robustheit stark! (im BSP etwa mit )

Konditionszahl ist ein Indikator davon, wie sehr sich die Daten ändern, wenn wir die Trainingsdaten anpassen.

[!Hinweis] Bestimmung der Robustheit von Predictions durch Norm

Für jedes lineare Modell wird die Robustheit der Vorhersagen durch die Norm des Gewichtsvektors bestimmt.

Wie können wir dann die Robustheit der Vorhersage definieren? Was schließen wir daraus? #card

Wir bestimmen sie dann mit:

–> Wenn viele verschiedene auf den Trainingsdaten gut funktionieren, bevorzugen Sie den mit kleiner !

Regularisierung

Bis dato haben wir Parameter durch die Minimierung des Fehlers auf Trainignsdaten gelernt.

Ferner möchten wir jetzt die Robustheit verbessern indem wir die Minimierung des Fehlers auf Parametern betrachten.

[!Req] Regularisierte Least Squares Regression | Ridge Regression

Wie definieren wir die regularisierte least squares regression? #card

Für ein (was der Regularisierungsparameter ist), lösen wir folgend:

–> Je größer , desto mehr betonen wir die Robustheit gegenüber des Trainingsfehlers!

  • Sofern , haben wir keine Regularisierung, und einfach LSR!
  • Is , dann wird der Trainingsfehler komplett ignoriert und somit die Wichtung also auch .
    • Dafür ist unser Modell maximal Robust, die Vorhersage ist immer null

Wir stellen uns weiter die Frage, wie man dann das Optimale für den Regularizer finden können!

Dafür wenden wir auch wieder Ableitungen zum Finden von Nullstellen an:

[!Beweis] Ridge Regression | Ableitung für minimale Fehlerfunktion!

Wir beginnen damit, dass wir die Fehlerfunktion berechnen: wobei hier

Welchen Schritt verfolgen wir als nächstes? #card

Wir wollen nun das Minimum der Fehlerfunktion bestimmen.

–> Ableitung dieser bestimmen:

Was wir dann gleich Null setzen müssen!:

(unter Annahme, dass vollen Rang hat!)

Maximum Likelihood Schätzung

Idee: -> MLE versucht jetzt die Gauß-Verteilung auf die Verteilungen von Punkten zu legen und somit eine Wahrscheinlichkeitsverteilung dafür zu betrachten, statt direkter Distanzen o.ä.

Wir werden sehen, dass MLE gleich LSR ist!

[!Idea] Hinführung

Wir haben bis dato nur ein linear, deterministisches Modell betrachten, beschrieben mit

Wir nehmen dann an, dass Gauß-Verteilt mit Mittelwert ist und ferner der Varianz , was uns dann ein probabilistisches Modell erzeugt!

Wir können dann also die Wahrscheinlichkeit aufstellen, dass ein Wert und Betrachtung von Gewichten einen bestimmten Ausgabewert erzielt.

Wie beschreiben wir das? Wie können wir dann die Wahrscheinlichkeit als produkt beschreiben und modellieren? #card

Wir können dann die WSK, dass wir auf unter Betrachtung von “landen” folgend berechnen: also

Wir können jetzt die Likelihood folgend berechnen ( unter der Annahme, dass alle unabhängig sind!)

Und Visuell also:

Das war soweit die Herleitung, die wir zur folgenden Betrachtung der MLE - Maximum-Likelihood-Schätzung benötigen!

Maximum-Likelihood-Schätzung (MLE)

[!Definition]

Wir haben jetzt unsere Likelihood für Daten unter einem linearen Modell gegeben mit:

wir wollen jetzt hierfür auch eine Lösung zu finden!

Wie gehen wir vor, mit welchem Term resultieren wir bei der MLE Likelihood? Wozu nutzen wir Log? #card

Wir berechnen zuerst die Log-Likelihood (Sie hilft uns etwa Produkte in Summen umzuwandeln, kann aber auch ganz kleine WSK in solche Größen umwandeln, dass sie bei Berechnungen mit Computern durch Rundungsfehler weniger beeinträchtigt werden)

Und jetzt leiten wir nach ab und setzen danach :

–> Was so der wichtigste Term ist, den wir bei dieser Berechnung benötigen werden!

MLE = LSR

[!Tip] Äquivalenz

Was folgt für die MLE und LSR Methode? #card

Ferner sehen wir jetzt also, dass ist, also beide Probleme sind äquivalent in ihrer Lösung!

–> Wir können also Regression aus Sicht der Stochastik und Analytik sehen!

Further Resources