Es wird gesagt, dass ein Computerprogramm Aufgabe T (was die Anwendung tun möchte) mit dem Leistungsindex P misst, und wenn seine Leistung durch Erfahrung E (Daten) verbessert wird, lernt es aus Erfahrung E bezüglich Aufgabe T und Leistungsindex P. Ist
Beispiel) Im Falle eines Aktienkurses Aufgabe T → Vorhersage des nächsten Aktienkurses durch Eingabe der eingegebenen Aktienkursdaten Leistungsindex P → Differenz zwischen prognostiziertem Aktienkurs und tatsächlichem Aktienkurs Erleben Sie E → Vergangene Aktienkursdaten
Das Problem der Vorhersage von der Eingabe eines diskreten oder kontinuierlichen Werts zur Ausgabe eines kontinuierlichen Werts
--Eingabe (als erklärende Variable oder Merkmalsmenge jedes Elements bezeichnet)
Erklärende Variablen: $ x $ = ($ x_1 $, $ x_2 $, $ \ dots $, $ x_m $) $ ^ T $ $ \ in $ $ \ mathbb {R} ^ m $ Zielvariable: $ y $ = $ \ in $ $ \ mathbb {R} ^ m $.
Beispiel) Immobilienpreisprognose Erklärende Variablen: Anzahl der Räume, Grundstücksfläche und Alter Zielvariable: Preis
Lineare Verbindung (inneres Produkt von Eingang und Parameter)
Parameter: $ w $ = ($ w_1 $, $ w_2 $, ..., $ w_m $) $ ^ T $ $ \ Teilmenge $ $ \ mathbb {R} ^ m $ Erklärende Variablen: $ x $ = ($ x_1 $, $ x_2 $, ..., $ x_m $) $ ^ T $ $ \ Teilmenge $ $ \ mathbb {R} ^ m $ Voraussichtlicher Wert: $ \ hat {y} $ Lineare Verbindung:
\hat{y} = w^Tx + w_0= \sum_{j=1}^{m} w_jx_j + w_0
Teilen Sie die Daten in Trainingsdaten und Validierungsdaten auf, um die Generalisierungsleistung des Modells zu messen Gute Anpassung an Daten zur Messung der Modellverallgemeinerung Wie gut Sie unbekannte Daten vorhersagen können, die wenig sinnvoll sind
Quadratischer Fehler zwischen Daten und Modellausgabe
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 von Trainingsdaten minimieren
Suchen Sie $ \ hat {W} $ (Rückgabekoeffizient), der MSE unterscheidet und auf 0 löst
\hat{W} = (X^{(train)T}X^{(train)})^{-1}X^{(train)T}y^{(train)}
Daher ist der vorhergesagte Wert $ \ hat {y} $
\hat{y}=X\hat{W} = X(X^{(train)T}X^{(train)})^{-1}X^{(train)T}y^{(train)}
Wird
https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/01_%E7%B7%9A%E5%9E%8B%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB/skl_regression.ipynb Referenz der Modellbewertungsmethode https://funatsu-lab.github.io/open-course-ware/basic-theory/accuracy-index/#r2
Die Daten wurden in 7 bis 3 unterteilt und jeweils analysiert, um den Entscheidungskoeffizienten und den durchschnittlichen quadratischen Fehler zu erhalten.
Erklärende Variable: Anzahl der Räume Zielvariable: Preis
MSE Train : 44.983, Test : 40.412
Erklärende Variablen: Anzahl der Räume, Kriminalitätsrate
Zielvariable: Preis
MSE Train : 40.586, Test : 34.377
Da MSE näher an 0 liegt und der Wert von $ R ^ 2 $ näher an 1 liegt, ist ersichtlich, dass die multiple Regressionsanalyse genauer ist.
Für Phänomene mit mehreren nichtlinearen Strukturen muss eine nichtlineare Regressionsmodellierung durchgeführt werden.
--Lineare Daten sind begrenzt
Im Fall von Nichtlinearität wird die Modellierung unter Verwendung einer Methode durchgeführt, die als Basisexpansionsmethode bezeichnet wird.
y_i=f(x_i)+\epsilon_i\qquad y_i=\omega_0+\sum_{i=1}^m\omega_j\phi_j(x_i)+\epsilon_i
Dekonformieren Sie $ x $ mit $ \ phi $ in einer linearen Abbildung und sehen Sie sich dann die lineare Kopplung an Hier ist $ \ phi $ die Basisfunktion
\phi_j=x^j
\phi_j(x)=\exp\Biggl(\frac{(x-\mu_j)^2}{2h_j} \Biggr)
Die Basisexpansionsmethode kann im selben Rahmen wie die lineare Regression geschätzt werden
Erklärende Variable:
x_i=(x_{i1},x_{i2},\dots,x_{im})\in \mathbb{R}_m
Nichtlinearer Funktionsvektor:
\phi(xi)=(\phi_1(x_i),\phi_2(x_i),\dots,\phi_k(x_i))^T∈\mathbb{R}^k
Entwurfsmatrix für nichtlineare Funktionen:
\Phi_(train)=(\Phi(x_1),\Phi(x_2),\dots,\Phi(x_n))^T\in \mathbb{R}^{n×k}
Voraussichtlicher Wert nach der wahrscheinlichsten Methode:
\hat{y}=\Phi(\Phi_(train)^T\Phi_(train))^{-1}\Phi_(train)^Ty_(train)
Ein Modell, das keinen ausreichend kleinen Fehler für die Trainingsdaten liefert
Gegenmaßnahmen
Ein Modell mit einem kleinen Fehler, aber einem großen Unterschied zum Testsatzfehler Ein kleiner Fehler wurde für die Trainingsdaten erhalten, aber der Fehler wurde groß für die Verifizierungsdaten.
Gegenmaßnahmen
Minimieren Sie Funktionen, die einen Regularisierungsterm (Strafterm) auferlegen, dessen Wert mit der Komplexität des Modells zunimmt
Regularisierungsterm: $ γR (w) $
Abhängig von der Form gibt es verschiedene Typen, von denen jeder unterschiedliche Eigenschaften der geschätzten Menge aufweist.
$ γ $: Regularisierungsparameter Passen Sie die Glätte der Kurve des Modells an
Ridge Ridge-Schätzung unter Verwendung der L2-Norm für den Regularisierungsterm Schätzen Sie den Parameter näher an 0 Reduzierte Schätzung genannt
Lasso schätzt unter Verwendung der L1-Norm für den Regularisierungsterm Schätzen Sie einige Parameter auf genau 0 Wird als spärliche Schätzung bezeichnet
Teilen Sie die Daten in zwei Teile, einen für das Training und einen für das Testen, und verwenden Sie sie zur Schätzung der Vorhersagegenauigkeit und der Fehlerrate. Wenn Sie nicht über eine große Datenmenge verfügen, besteht ein Nachteil darin, dass keine gute Leistungsbewertung erfolgt In einem nichtlinearen Regressionsmodell, das auf der Basisexpansionsmethode basiert, werden Anzahl, Position und Abstimmung der Basisfunktionen bestimmt. Bestimmt durch das Modell, das den Holdout-Wert reduziert
Die Daten werden in Training und Verifikation unterteilt, die Verifikationsdaten werden ausgewertet und die durchschnittliche Genauigkeit wird als CV-Wert bezeichnet. Das Bewertungsergebnis ist zuverlässiger als die Holdout-Methode.
Die wahre Funktion ist $ y = 1-48x + 218x ^ 2-315x ^ 3 + 145x ^ 4 $
Generieren Sie Daten, indem Sie einer echten Funktion zufällig Rauschen hinzufügen Vorhersage wahrer Funktionen aus Daten durch lineare bzw. nichtlineare Regression
https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/02_%E9%9D%9E%E7%B7%9A%E5%BD%A2%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB/skl_nonlinear%20regression.ipynb Lineare Regressionsgenauigkeit: 0,3901811689763751 Nichtlineare Regressionsgenauigkeit: 0,8824933990551088 (Basisfunktion ist RBF und Normalisierungsstärke ist 0,0002)
Die lineare Regression stellt keine echte Funktion dar Nichtlineare Regression kann ungefähr eine wahre Funktion darstellen Es stellt sich heraus, dass die nichtlineare Regression genauer ist Wenn keine Normalisierung durchgeführt wird, beträgt die Genauigkeit 9,9999, wird jedoch aus der Abbildung überlernt und ist weit von der tatsächlichen Funktion entfernt.
Die Lasso-Regression setzt den Parameter auf spärlich. Wenn ich ihn überprüfe, sind alle 0.
Das logistische Regressionsmodell ist eine Klassifizierung Was ist ein Klassifizierungsproblem? Ein Problem beim Klassifizieren von Klassen anhand einer bestimmten Eingabe Daten werden durch Klassifizierung behandelt Eingabe: $ x = (x_1, x2_2, \ Punkte, x_m) ^ T \ in \ mathbb {R} ^ m $ (m-dimensionaler Vektor) Ausgabe: $ y \ in \ Bigl \ {0,1 \ Bigr \} $ (Wert 0 oder 1) Beispiel) Titanic-Daten, IRIS-Daten Wenn solche Daten wie im Regressionsmodell angewendet werden, ist der Wert als Wahrscheinlichkeit bedeutungslos. Das logistische Regressionsmodell verwendet also die lineare Verbindung der Eingabe und des m-dimensionalen Parameters als Eingabe für die Sigmoidfunktion.
Eine monotone Erhöhungsfunktion, die immer 0 zu 1 ausgibt, wenn die Eingabe eine reelle Zahl ist
Sigmoidfunktion $ \ sigma (x) $
Charakteristisch
--Differenzierung kann von selbst ausgedrückt werden
Differenzierung der Sigmoidfunktion
Es kann also durch seine eigene Funktion ausgedrückt werden
Wert, den Sie finden möchten (Wahrscheinlichkeit von $ Y = 1 $)
Kann geschrieben werden als Daten $ Y $ werden als 1 klassifiziert, wenn die Wahrscheinlichkeit 0,50 oder mehr beträgt, und als 0, wenn die Wahrscheinlichkeit weniger als 0,50 beträgt. Verwenden Sie die wahrscheinlichste Schätzmethode, wenn Sie entscheiden, wie Sie diese Formel betrachten möchten
Das logistische Regressionsmodell verwendet die Bernoulli-Verteilung Wenn eine bestimmte Verteilung berücksichtigt wird, ändern sich die von diesem Parameter generierten Daten. Die wahrscheinlichste Schätzmethode besteht darin, die plausible Verteilung zu schätzen, die die Daten aus diesen Daten erzeugt hätte. Die Methode zur Auswahl von Parametern, die die Wahrscheinlichkeitsfunktion maximieren, wird als Maximum-Likelihood-Schätzung bezeichnet.
Daten korrigieren und Parameter ändern Wahrscheinlichkeit von $ y = y_1 $ in einem Versuch
Wahrscheinlichkeit, dass $ y_1 bis y_n $ in n Versuchen gleichzeitig auftreten (fest auf p)
Die hier angegebenen Daten y sind fest und p wird als Variable geschätzt. Am wahrscheinlichsten, wenn p maximal ist Sie müssen also nur das Optimierungsproblem für p lösen
$ W $ ist unbekannt
――Da es viele Multiplikationen gibt, ist es einfacher, das Differential zu berechnen, wenn Sie den Logarithmus verwenden.
Nehmen Sie daher den obigen Logarithmus $ L (w) $, multiplizieren Sie ihn mit Minus und lösen Sie ihn mit dem Minimierungsproblem.
Bei der logistischen Regression ist es nicht möglich, den Parameter zu finden, der die Wahrscheinlichkeitsfunktion minimiert. Daher werden die Parameter nacheinander durch das Gradientenabstiegsverfahren aktualisiert. Wenn diese Gradientenabstiegsmethode jedoch unverändert verwendet wird, besteht ein Fehler darin, dass alle Eingabedaten für eine Parameteraktualisierung erforderlich sind. Wenn die Eingabedaten sehr groß werden, werden Probleme wie Berechnungszeit und unzureichender Speicher zu Problemen. Um diesen Punkt zu lösen, gibt es eine probabilistische Gradientenabstiegsmethode. Aktualisieren Sie die Parameter nacheinander durch iteratives Lernen Einer der Ansätze. Passen Sie die einfache Konvergenz der Parameter an die Lernrate an. Logistische Rückgabe Stattdessen ist es notwendig, die logarithmische Wahrscheinlichkeitsfunktion mit einem Parameter zu differenzieren, um einen Wert zu erhalten, der 0 wird. Da es jedoch schwierig ist, ihn analytisch zu erhalten, wird das Gradientenabstiegsverfahren verwendet. Parameter Wenn es nicht aktualisiert wird, bedeutet dies, dass der Gradient 0 wird und die optimale Lösung im Bereich des iterativen Lernens gefunden wird.
Der Parameter erhält einen Anfangswert, der Parameter wird schrittweise aktualisiert, und wenn er konvergiert, wird der Parameter zu diesem Zeitpunkt als optimaler Wert übernommen. Die Lernrate η repräsentiert die "Schrittlänge" der Parameteraktualisierung. Wenn es klein ist, braucht es Zeit, um zu konvergieren. Wenn es zu groß ist, tritt ein Ereignis auf, bei dem der optimale Wert "übersprungen" wird (es wird schwierig, den Punkt zu finden, den Sie wirklich am meisten finden möchten).
[Verwirrte Matrix]
Validierungsdaten positiv | Verifizierungsdaten negativ | |
---|---|---|
Erwartetes Ergebnis positiv | Richtig positiv | Falsch positiv |
Erwartetes Ergebnis negativ | Falsch positiv (falsch negativ) | Richtig negativ |
[Konformitätsrate und Rückrufrate, F-Wert]
Richtige Antwortrate
Erinnern
Präzision
Hands on [Übungsergebnisse] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/04_%E3%83%AD%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB/skl_logistic_regression.ipynb
[Diskussion] Je höher der Fahrpreis, desto höher die Überlebenschance. Es zeigt, dass die Überlebenswahrscheinlichkeit umso höher ist, je höher der Rang ist. Die meisten hochrangigen Frauen überleben
--Dimensionale Komprimierung
Trainingsdaten
Mittlerer Vektor
Stellen Sie sich die Informationsmenge als die Größe der Verteilung vor Suchen Sie nach der Projektionsachse, die den Koeffizientenvektor ändert und die Dispersion maximiert
Die Varianz nach linearer Rückkehr beträgt
Und Einschränkungen
Daher ist die Zielfunktion
Hier wird die folgende Lagrange-Funktion verwendet, um das eingeschränkte Problem zu lösen.
Wie viele Informationen können durch Komprimierung beibehalten werden?
Beitragssatz
[Übungsergebnisse] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/03_%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90/skl_pca.ipynb
[Diskussion] Es ist ersichtlich, dass der Beitragssatz bei Komprimierung auf 2 Dimensionen etwa 60% und bei Komprimierung auf 3 Dimensionen etwa 70% beträgt. Es stellte sich heraus, dass es, selbst wenn es auf zwei Dimensionen komprimiert ist, bis zu einem gewissen Grad klassifiziert werden kann. Vor der Komprimierung wurde es um 97% klassifiziert, aber es ist ersichtlich, dass die Genauigkeit abnimmt, wenn es auf 2 Dimensionen komprimiert wird. Durch das Löschen von Dimensionen wurden Daten leichter verständlich
Maschinelles Lernen für Klassifizierungsprobleme Holen Sie sich K Daten in der nächsten Umgebung und identifizieren Sie die Klasse, zu der die meisten gehören Je größer k, desto glatter die Entscheidungsassoziation
[Übungsergebnisse] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/05_knn/np_knn.ipynb
[Diskussion] Es wurde gelesen, dass die Entscheidungsgrenze umso glatter ist, je größer k ist.
―― 1. Stellen Sie den Mittelwert jeder Klasse ein ―― 2. Berechnen Sie für jeden Datenpunkt den Abstand von der Mitte des zu schreibenden Clusters und weisen Sie den nächstgelegenen Cluster zu. ―― 3. Berechnen Sie den durchschnittlichen Vektor des zu schreibenden Clusters ―― 4. Wiederholen Sie einige Vorgänge bis zur Konvergenz
[Übungsergebnisse] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/06_k-%E5%B9%B3%E5%9D%87%E6%B3%95/np_kmeans.ipynb
[Diskussion] Ich konnte die angegebenen Daten in drei Klassen einteilen Es wurde bestätigt, dass sich das Clustering-Ergebnis ändert, wenn der Wert von k geändert wird.
Recommended Posts