[PYTHON] Maschinelles Lernen
** Was ist maschinelles Lernen **
Computerprogramme sollen Aufgabe T mit dem Leistungsindex P messen und, wenn ihre Leistung durch Erfahrung E verbessert wird, aus Erfahrung E in Bezug auf Aufgabe T und Leistungsindex P lernen (Tom Mitchell 1997).
・ Angenommen, Sie geben Daten in ein Computerprogramm ein und lösen Aufgabe T.
・ Ausgang Y1 wird ausgegeben, wenn unbekannte Daten eingegeben werden.
・ Der Ausgang Y1 kann anhand des Leistungsindex P gemessen werden
・ Neue Daten eingeben und Y2 ausgeben
・ Wenn Y2 gegenüber Y1 verbessert wird, gemessen am Leistungsindex P, kann gesagt werden, dass dieses Computerprogramm gelernt hat.
** Lineare Regression **
- ** Rückgabeproblem **
- Erklärende Variable (Eingabe)
$ x = (x_1, x_2, ・ ・ ・, x_m) ^ T \ in ℝ ^ m $
- Zielvariable (Ausgabe)
$ y \in ℝ^1$
- ** Lineares Regressionsmodell **
- Eines der Modelle für maschinelles Lernen zur Lösung von Regressionsproblemen
- Überwachtes Lernen
- Ein Modell, das eine lineare Kombination von Eingabe- und m-dimensionalen Parametern ausgibt
- Fügen Sie dem vorhergesagten Wert einen Hut hinzu (unterscheiden Sie sich in den Lehrerdaten von y).
** Lehrerdaten **
$$ {(x_i, y_i) ; i = 1, ... , n} $$
** Parameter ** (gleiche Anzahl von Dimensionen wie Eingabevariablen)
$$ w = (w_1, w_2, ... , w_m)^T \in ℝ^m $$
** Lineare Verknüpfung ** (inneres Produkt des unbekannten Parameters w und Eingabe x)
$$\hat{y} = w^Tx + w_0 = \sum_{j = 1}^{m} w_jx_j + w_0 $$
-
** Lineare Verbindung **
-Die Summe der inneren Produkte des unbekannten Parameters w und der Eingabe x
・ Fügen Sie den Abschnitt w_0 hinzu (Abschnitt = Schnittpunkt mit der y-Achse, bewirkt eine parallele Bewegung in Richtung der y-Achse)
・ Auch wenn der Eingabevektor $ x_j $ mehrdimensional ist, ist die Ausgabe eindimensional (skalar).
-
** Modellparameter **
・ Gewichtssatz $ w_j $ (Wie sich die Feature-Menge auf den vorhergesagten Bereich auswirkt)
・ Schätzen Sie den besten Gradienten mit der Methode der minimalen Quadrate
- ~ Bei einfachem Regressionsmodell (erklärende Variable m = 1) ~ *
$ y = w_0 + w_1x_1 + \epsilon $
$ (Zielvariable = Abschnitt + Regressionskoeffizient x erklärende Variable + Fehler) $
** Simultangleichungen **
$y_1 = w_0 + w_1x_1 + \epsilon_1 $
$y_1 = w_0 + w_1x_2 + \epsilon_2 $
$y_1 = w_0 + w_1x_n + \epsilon_n $
** Matrixdarstellung **
$ y = Xw + \epsilon $
- ~ Für das multiple Regressionsmodell (erklärende Variable m> 1) ~ *
$ y = w_0 + w_1x_1 + w_2x_2 + \ epsilon $ etc.
** Datenaufteilung **
- Durchschnittlicher quadratischer Fehler (Summe der verbleibenden Quadrate)
- Summe des quadratischen Fehlers der Daten und des Modells
- Hängt nur von Parametern ab
$ MSE_{train} = \frac{1}{n_{train}} \sum_{i=1}^{n_{train}}(\hat{y_i}^{(train)} - y_i^{(train)})^2 $
- Suchen Sie nach Parametern, die den mittleren quadratischen Fehler der Trainingsdaten minimieren (Gradient 0 = Minimum)
- Über MSE Mindestpunkt = $ \ hat {w} $ in w Raum
Finden von $ \ frac {\ partiell} {\ partiell {w} MSE_ {train}} = 0 $ (der Punkt, an dem MSE durch Differenzieren von w zu w = 0 wird) ,,,
- ** Regressionskoeffizient **
$ \hat{w} = (X^{(train)T}X^{(train)})^ {-1}X^{(train)T}y^{(train)} $
Der vorhergesagte Wert $ \ hat {y} ist das innere Produkt $ des Regressionskoeffizienten \ hat {w} und der erklärenden Variablen x, also ...
- ** Voraussichtlicher Wert **
$\hat{y} = X(X^{(train)T}X^{(train)})^ {-1}X^{(train)T}y^{(train)}$
** Nichtlineares Regressionsmodell **
-
Basisfunktion
$ y_i = f(x_i) + \epsilon_i $
Sobald x durch eine lineare Abbildung $ \ phi $ abgegrenzt ist, wird das innere Produkt mit w erhalten.
$ y_i = w_0 + \sum_{i=1}^{m}
w_i\phi_j(x_i) + \epsilon_i $
Beispiele für Basisfunktionen: polymorphe Funktionen, Gaußsche Basisfunktionen, (B) Spline-Funktionen usw.
-
Nichtlineare Regression basierend auf eindimensionaler Basisfunktion
- Polygon (1. bis 9. Ordnung)
$\phi_j = x^j$
- Gaußsche Basis
$ \phi(x) = exp{\frac{(x - \mu_j)^2}{2h_j}}$
- Da es sich um eine Normalverteilung handelt, wird es bei der Integration zu 1.
- Der durchschnittliche Ort der Normalverteilung und die Ausbreitung eines Berges werden durch einen Parameter namens Bandbreite definiert. → Kann für eine zweidimensionale Basisfunktion verwendet werden
- Nichtlineare Regression basierend auf zweidimensionaler Basisfunktion
- Zweidimensionale Gaußsche Basisfunktion
$\phi_j(x) = exp{\frac{(x - \mu_j)^T(x - \mu_j)}{2h_j}}$
- Basisfunktionen können im Datenraum platziert werden
- Basiserweiterungsmethode
- Erklärende Variable
$ x_i = (x_ {i1}, x_ {i2}, ・ ・ ・, x_ {im}) \ in ℝ ^ m $
Konvertieren Sie die erklärenden Variablen in den Basisfunktionsvektor (konvertieren Sie x mit K-Voreinstellungen $ \ phi $) und ...
- Nichtlinearer Funktionsvektor (K-dimensionaler Merkmalsvektor)
$ \ phi (x_i) = (\ phi_1 (x_i), \ phi_2 (x_i), ・ ・ ・, \ phi_k (x_i)) ^ T \ in ℝ ^ k $
Da es n i (Trainingsdaten) gibt, erscheinen n k-dimensionale Parametervektoren, wenn die Abbildung als Trainingsdaten verwendet wird. Dies ergibt die Planungsmatrix
- Planungsmatrix
$ \ Phi ^ {(Zug)} = (\ phi (x_1), \ phi (x_2), ・ ・ ・, \ phi (x_n)) ^ T \ in ℝ ^ {n * k} $
Suchen Sie danach den vorhergesagten Wert mit der wahrscheinlichsten Methode
- Voraussichtlicher Wert
$\hat{y} = \Phi(\Phi^{(train)T}\Phi^{(train)})^ {-1}\Phi^{(train)T}y^{(train)}$
- Überlernen und Verlernen
- Bei Unteranpassung ,,,
Geringe Ausdruckskraft des Modells $ \ rightarrow $ Verwenden Sie ein Modell mit hoher Ausdruckskraft
- Bei Überanpassung ,,,
Trainingsdaten erhöhen /
Unnötige Basisfunktionen (Variablen) löschen /
Regulierung
** Regulierung **
-
Regularisierungsmethode (Bestrafungsmethode)
Geben Sie Strafen, um die Komplexität des Modells zu verringern
$ S\gamma = (y - \Phi w)^T(y - \Phi w) + \gamma R(w) $
-
Rolle des Regularisierungsterms R.
- Nein R ・ ・ ・ Minimale quadratische Schätzung
- L2-Norm ・ ・ ・ Ridge-Schätzbetrag (○ Typ, reduzierte Schätzung)
Beschränken Sie den Parameter in der Nähe des Ursprungs und suchen Sie nach dem Punkt, der die MSE in der Einschränkung minimiert
- L1-Norm ・ ・ ・ Lasso-Schätzung (◇ Typ, spärliche Schätzung)
Der Kontaktpunkt, der MSE minimiert, ist Kado, und einige Parameter ($ w_1 $) werden auf genau 0 geschätzt. Unnötige Basen und Variablen können in der Schätzphase eliminiert werden (wenn es viele erklärende Variablen gibt, ist es nützlich, die Variable, die einen geringen Einfluss auf die Vorhersage hat, in einer Schätzung auf 0 zu setzen).
-
Parameter $ \ gamma $ = Oberflächengröße einschränken
$ \ Gamma $ kleiner machen → Erhöhen Sie die Einschränkungsfläche
Erhöhen Sie $ \ gamma $ → verringern Sie die Einschränkungsfläche
-
Das richtige Modell auswählen
- Holdout-Methode
Ohne eine große Datenmenge ergibt sich keine gute Leistungsbewertung
- Kreuzvalidierung
Aufgeteilt für Lernen und Auswertung für jeden Iterator
Selbst wenn die durchschnittliche Genauigkeit = CV-Wert niedriger ist als das durch Holdout verifizierte Modell, ist die Generalisierungsleistung nicht unbedingt hoch.
** Logistische Rückgabe **
- Klassifizierungsproblem
** Erklärende Variable (Eingabe) **
$ x = (x_1, x_2, ・ ・ ・, x_m) ^ T \ in ℝ ^ m $
** Zielvariable (Ausgabe) **
$ y \in \{0, 1\}$
- Logistisches Regressionsmodell
- Eines der Modelle für maschinelles Lernen zur Lösung von Klassifizierungsproblemen
- Überwachtes Lernen
- Lineare Kombination von Eingabe- und m-dimensionalen Parametern für die Sigmoidfunktion ausgeben
- Die Ausgabe ist der Wert der Wahrscheinlichkeit, dass y = 1
ist
** Lehrerdaten **
$ {(x_i, y_i) ; i = 1, ... , n} $
** Parameter ** (gleiche Anzahl von Dimensionen wie Eingabevariablen)
$ w = (w_1, w_2, ... , w_m)^T \in ℝ^m $
** Lineare Verknüpfung ** (inneres Produkt des unbekannten Parameters w und Eingabe x)
$\hat{y} = w^Tx + w_0 = \sum_{j = 1}^{m} w_jx_j + w_0 $
- Sigmaid-Funktion
- Eingabe ist real
- Ausgabe ist 0-1
- Mit zunehmendem Parameter a nimmt die Steigung der Kurve in der Nähe von x = 0 zu.
- Änderungen der Vorspannung ändern die Position der Stufe
$ \sigma(x) = \frac{1}{1 + exp(-ax)}$
- Eigenschaften der Sigmoidfunktion
- Einfache Unterscheidung
- Bei der Modellparameterschätzung müssen die Punkte gefunden werden, die Kriterien wie MSE und Wahrscheinlichkeit minimieren und maximieren. → Es ist vorteilhaft, leicht unterscheiden zu können
$ \ frac {\ partielles \ Sigma (x)} {\ partielles x} = \ frac {\ partielles} {\ partielles x} \ biggl (\ frac {1} {1 + exp (-ax)} \ biggr) \\ = (-1) {\ {1 + exp (-ax) \} ^ {-2} ・ exp (-ax) ・ (-a) \\ = \ frac {a ・ exp (-ax)} { \ {1 + exp (-ax) \} ^ 2} = \ frac {a} {1 + exp (-ax)} ・ \ frac {1 + exp (-ax) - 1} {1 + exp (-ax) )} \\ = a \ sigma (x) (1- \ sigma (x)) $
- Formulierung der logistischen Regression
$ P(Y = 1|x) = \sigma(w_0 + w_1x_1 + ... + w_mx_m) $
$ (Wahrscheinlichkeit, dass Y = 1 ist, wenn die erklärende Variable x angegeben ist) (Lineare Verbindung zu Datenparametern) $
- Bernoulli-Verteilung
- Eines von verschiedenen Verteilungsmodellen wie Normalverteilung
- Diskrete Wahrscheinlichkeitsverteilung (Wahrscheinlichkeit p → 1, Wahrscheinlichkeit 1-p → 0)
Wahrscheinlichkeit von $ y = y_1 $ in einem Versuch
$P(y)=p^y(1-p)^{1-y}$
- Wahrscheinlichste Schätzung (was ist das wahrscheinlichste P?)
- Gleichzeitige Wahrscheinlichkeit
Jede Wahrscheinlichkeitsvariable ist unabhängig → Multiplikation von Wahrscheinlichkeiten
** Wahrscheinlichkeit der gleichzeitigen $ y_1 $ ~ $ y_n $ ** in n Versuchen
$ P (y_1, y_2, ..., y_n; p) = \ prod_ {i = 1} {n} p ^ {y_i} (1-p) ^ {1-y_i} $ ($ P, y_i $ Ist bekannt)
- Wahrscheinlichkeit = Wahrscheinlichkeit, eine bestimmte Stichprobe $ x_k $ aus der Zielgruppe $ \ mu $ zu extrahieren
- Der logarithmische Wert von Wahrscheinlichkeit = Wahrscheinlichkeitsfunktion
- Die Auswahl eines Parameters, der die Wahrscheinlichkeitsfunktion maximiert, wird als Wahrscheinlichkeitsschätzung bezeichnet.
Wahrscheinlichkeitsfunktion, wenn Daten von $ y_1 $ ~ $ y_n $ erhalten werden
$ P (y_1, y_2, ..., y_n; p) = \ prod_ {i = 1} {n} p ^ {y_i} (1-p) ^ {1-y_i} $ ($ P ist unbekannt) , Y_i $ ist bekannt)
- Log-ähnliche Wahrscheinlichkeitsfunktion
- Addition und Subtraktion sind einfacher zu berechnen als die Wiederholung der Multiplikation komplexer Werte
→ Nehmen Sie den Logarithmus und konvertieren Sie die Multiplikation in Addition
- Die Wahrscheinlichkeitsfunktion wird mit dem gleichen Koeffizienten w wie vor der Logarithmisierung maximiert (die logarithmische Funktion steigt monoton an)
→ Dieses optimale w wird als wahrscheinlichste Schätzung bezeichnet (lokale oder globale optimale Lösung).
- Minimieren Sie die Wahrscheinlichkeitsfunktion multipliziert mit Minus und kombinieren Sie sie mit der Minimierung der Methode der kleinsten Quadrate
→ Gradientenabstiegsmethode
$E(w_0, w_1, ... , w_m) = -logL(w_0, w_1, ... , w_m) = \sum_{i=1}^{n}\{y_i log p_i + (1 - y_i) log(1 - p_i)\}$
- Gekreuzte Entropie (negative logarithmische Wahrscheinlichkeitsfunktion)
- Aktualisieren Sie die Lernfunktion mit der falschen Wahrscheinlichkeit
- Gradientenabstiegsmethode
- Ansatz zur sequentiellen Aktualisierung von Parametern (per Computer) durch iteratives Lernen
- $ \ eta $ ist ein Hyperparameter namens Lernrate, der die Konvergenz der Modellparameter anpasst.
- Die Differenzierung von MSE-Parametern kann analytisch berechnet werden.
$w^{(k+1) = w^{(k)} + \eta \sum_{i=1}^{n}(y_i - p_i)x_i}$
Bei der Gradientenabstiegsmethode ist es erforderlich, die Summe aller N Daten für die Parameteraktualisierung zu ermitteln.
→ Es gibt Probleme wie unzureichenden Speicher und große Rechenzeit.
- Probabilistische Gradientenabstiegsmethode (SGD)
- Wählen Sie die Daten nach dem Zufallsprinzip (wahrscheinlich) einzeln aus und aktualisieren Sie die Parameter
- Da der Parameter n-mal mit dem gleichen Rechenaufwand aktualisiert werden kann wie der Parameter einmal mit der Kaufabstiegsmethode, kann die optimale Lösung effizient gesucht werden.
- Parameteraktualisierungen sind bis zu einem gewissen Grad unregelmäßig (im Vergleich zur Gradientenabstiegsmethode), und es ist schwierig, in eine lokal optimale Lösung nahe dem Anfangswert zu fallen (bei der logistischen Regression gibt es nur einen Peak, daher spielt dies keine Rolle).
$w(k+1) = w^k + \eta (y_i - p_i)x_i$
- Modellbewertung
- Verwirrung Matrix
- Ergebnisse der Validierungsdaten: Ergebnisse der Modellvorhersage
- TP (wahr positiv) = ○: ○ richtig positiv
- FP (falsch negativ) = ×: ○, falsch positiv (möglich, um eine normale Person abnormal zu machen)
- FN (falsch positiv) = ○: ×, falsch negativ (normalerweise für eine abnormale Person gehalten)
- TN (wahr negativ) = ×: ×, richtig negativ
- Richtige Antwortrate
$\frac {TP+TN}{TP+FN+FP+TN}$
- Rückruf
- Prozentsatz von "wirklich positiv", der als positiv vorhergesagt werden kann
- Beispiel: Krankheitsscreening (Aufsicht ist NG)
$\frac{TP}{TP+FN}$
- Der Prozentsatz dessen, was das Modell als positiv vorhersagt, ist "wirklich positiv".
- Spam-Mail (einige Versehen sind akzeptabel)
$\frac{TP}{TP+FP}$
- Harmonisierter Durchschnitt von Rückruf und Präzision
Hauptkomponentenanalyse (PCA)
- Dimensionskomprimierung
- Komprimieren Sie die Struktur multivariater Daten in eine kleinere Anzahl von Indikatoren
- Ich möchte den Informationsverlust so weit wie möglich reduzieren
- Kann mit einer kleinen Anzahl von Variablen (ca. 2 oder 3 Dimensionen) analysiert und visualisiert werden.
- Trainingsdaten
$ x = (x_1, x_2, ・ ・ ・, x_m) ^ T \ in ℝ ^ m $
- Durchschnitt (Vektor)
$ \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i $
- Datenmatrix
$ \ bar {X} = (x_1- \ bar x, ..., x_n- \ bar x) ^ T \\ (Ich werde es so zentrieren, dass es um den Ursprung verteilt ist) $
- Verteilte mitverteilte Matrix
$ \sum = Var(\bar{X}) = \frac1n \bar{X}^T \bar{X}$
- Vektor nach linearer Umwandlung
$ s_j = (s_{1j}, ... , s_{nj})^T = \bar{X}a_j$
$a_j \in ℝ^m $
- (Unbekannter Parameter w von n Daten, konvertiert durch gemeinsame a → s)
- (J ist die Anzahl der Dimensionen des Konvertierungsziels 3 Dimensionen → 1 oder 2 Dimensionen usw., Achsenindex)
- Informationsverlust kann durch Maximierung der Verteilung der konvertierten Daten $ s_j $
unterdrückt werden
- Suchen Sie nach einer Mapping-Achse, die die Streuung von Variablen nach linearer Transformation maximiert.
- Dispersion nach linearer Transformation
$Var(s_j) = \frac1n s^T_j s_j \\ = \frac1n (\bar{X}a_j)^T (\bar{X}a_j) \\ = \frac1n a^T_j \bar{X}^T \bar{X} a_j \\ = a^T_j Var(\bar{X}) a_j $
- Problem der Einschränkungsoptimierung
- Fügen Sie eine Einschränkung ein, dass die Norm 1 ist (ohne die Einschränkung gibt es unendlich viele Lösungen)
- Zielfunktion
$ arg max a ^ T_j Var (\ bar {X}) a_j \\ a \ in ℝ ^ m \\ (Verteilungswert des Konvertierungsziels) $
- Einschränkungen
$ a^T_j a_j =1 $
- Lagrange-Funktion
$ E(a_j) = a^T_j Var(\bar{X}) a_j - \lambda(a^T_j a_j - 1)$
Lagrange-Funktion = Zielfunktion - Lagrange-Multiplikator x Randbedingung
$ (finde den Punkt, der in Bezug auf a maximiert werden soll) $
- Differenzierung
$\\ \frac{\partial E(a_j)}{\partial a_j} = 2 Var(\bar{(X)}a_j - 2 \lambda a_j = 0)$
- Lösung
- Eigenwert = Eigenvektorform
$ Var(\bar{X} a_j = \lambda a_j)$
- Die Varianz des Projektionsziels entspricht dem Eigenwert
$Var(s_1) = a_1^T Var(\bar{X}) a_1 = \lambda_1 a_1^T a_1 = \lambda_1 $
- Beitragssatz
- Wie viele Informationen sind durch die Dimensionskomprimierung verloren gegangen?
- Die Summe der Eigenwerte entspricht der Verteilung der Daten im ursprünglichen Raum
$ V_{total} = \sum^{m}_{i=1} \lambda_i $
Gesamtverteilung der Originaldaten = Gesamtverteilung der Hauptkomponenten
- Beitragsrate: Das Verhältnis der Dispersion einer bestimmten Achse (k-te Hauptkomponente) zur Gesamtdispersion
- Kumulativer Beitragssatz: Prozentsatz des Informationsverlusts bei Komprimierung auf die 1-k-Hauptkomponente
$c_k = \frac{\lambda_k}{\sum_{i=1}^{m}\lambda_i} $
= (Dispersion der k-ten Hauptkomponente) / (Gesamtdispersion der Hauptkomponente)
$c_k = \frac { \sum_{j=1}^{k} \lambda_j}{\sum_{i=1}^{m}\lambda_i} \\ $
= (Dispersion der 1. bis k Hauptkomponenten) / (Gesamtdispersion der Hauptkomponenten)
K Nachbarschaftsmethode
- Legen Sie den Anfangswert von Cluster Center fest
- Berechnen Sie für jeden Datenpunkt die Entfernung zu jedem Clusterzentrum und weisen Sie den nächstgelegenen Cluster zu
- Berechnen Sie den durchschnittlichen Vektor (Mitte) jedes Clusters
- Wiederholen Sie einige Schritte, bis es konvergiert
- Wenn Sie den Anfangswert des Zentrums ändern, ändert sich auch das Ergebnis der Clusterbildung. Das Ergebnis ändert sich auch dann, wenn der Wert von K geändert wird