Technologieaustausch

Deep LearningDeepLearning-Studiennotizen zur multiplen linearen Regression

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Mehrdimensionale Merkmale

Variablen und Begriffe

Spaltenattribut xJAnzahl der Attribute n x ⃗ vec{x}X (ich)Zeilenvektoreinen bestimmten Wert x ⃗ ji vec{x}_j^iX JichchchchchchchchAuf und ab
bedeuten μStandardisierungStandardabweichung σSigma (σ)

Formel

w ⃗ vec{w}m = [w1 m2 m3 …]
x ⃗ vec{x}X = [x1 X2 X3 …]

fw ⃗ , b ( x ⃗ ) = w ⃗ ∗ x ⃗ + b = w 1 x 1 + w 2 x 2 + … + wnxn + b f_{vec{w},b} (vec{x}) = vec{w} * vec{x} + b = w_1x_1 + w_2x_2 + … + w _nx_n + bFm ,B(X )=m X +B=m1X1+m2X2++mNXN+B

multiple lineare Regression

import numpy
f = np.dot(w, x) + b
  • 1
  • 2

Hinweis: Es ist sehr schnell, wenn n groß ist (parallele Verarbeitung).

Normalgleichungsmethode

  1. Mehr als 1000 sind ineffizient
  2. Es kann nicht auf andere Algorithmen wie logistische Regression, neuronale Netze oder andere verallgemeinert werden.
  3. keine Iteration

wn = wn − α 1 m ∑ i = 1 mfw ⃗ , b ( x ⃗ ( i ) − y ( i ) ) xn ( i ) w_n = w_n - αdfrac{1}{m} sumlimits_{i=1}^mf_{vec{w},b}(vec{x}^{(i)}-y^{(i)})x_n^{(i)}mN=mNαM1ichchchchchchchch=1MFm ,B(X (ichchchchchchchch)j(ichchchchchchchch))XN(ichchchchchchchch)

b = b − α 1 m ∑ i = 1 m ( fw ⃗ , b ( x ⃗ ( i ) − y ( i ) ) b = b - α{dfrac{1}{m}}sumlimits_{i=1}^m(f_{vec{w},b}(vec{x}^{(i)}-y^{(i)})B=BαM1ichchchchchchchch=1M(Fm ,B(X (ichchchchchchchch)j(ichchchchchchchch))

Die Gewichtung, die einem größeren Bereich unabhängiger Variablen entspricht, ist tendenziell kleiner, und die entsprechende Gewichtung eines kleineren Bereichs unabhängiger Variablen ist tendenziell größer.

Mittelwertnormalisierung

Teilen Sie durch den Maximalwert des Bereichs, um die Gewichtung gegenüber [0, 1] der unabhängigen Variablen zu ermitteln

Abszisse: x 1 = x 1 − μ 1 2000 − 300 x_1 = dfrac{x_1-μ_1}{2000-300}X1=2000300X1μ1 Y-Achse: x 2 = x 2 − μ 2 5 − 0 x_2 = dfrac{x_2 - μ_2}{5-0}X2=50X2μ2

− 0,18 ≤ x 1 ≤ 0,82 -0,18le x_1le0,820.18X10.82 − 0,46 ≤ x 2 ≤ 0,54 -0,46le x_2le0,540.46X20.54

Z-Score-Normalisierung

300 ≤ x 1 ≤ 2000 300le x_1le2000300X12000 0 ≤ x 2 ≤ 5 0le x_2le50X25

x 1 = x 1 − μ 1 σ 1 x1 = dfrac{x_1-μ_1}{σ_1}X1=σ1X1μ1 − 0,67 ≤ x 1 ≤ 3,1 -0,67le x_1le3,10.67X13.1

Versuchen Sie, die Werte aller Features durch Skalierung in einem ähnlichen Bereich zu halten, sodass die Auswirkung ihrer Änderungen auf die vorhergesagten Werte nahe bei (-3,3) liegt.

Wenn die Kostenfunktion J groß wird, bedeutet dies, dass die Schrittgröße (Lernrate) ungeeignet ist oder der Code falsch ist.

Fügen Sie hier eine Bildbeschreibung ein

Hinweis: Die Anzahl der Iterationen variiert von Maschine zu Maschine

Zusätzlich zum Zeichnen von Kurven zur Bestimmung des Iterationspunkts können auch automatische Konvergenztests verwendet werden
Sei ε gleich 1 0 − 3 10^{-3} 103Wenn die Abnahme von J kleiner als diese kleine Zahl ist, wird davon ausgegangen, dass sie konvergiert.

Legen Sie eine angemessene Lernrate fest

  1. Beim Testen können Sie einen sehr kleinen Wert einstellen, um zu sehen, ob J abnimmt.
  2. Die Lernrate während der Iteration sollte nicht zu groß oder zu klein sein.
  3. Wählen Sie jedes Mal * 3 während des Tests eine Lernrate, die so groß wie möglich oder etwas kleiner als ein angemessener Wert ist

Funktionsentwicklung

Erstellen Sie Feature Engineering durch Transformation oder Kombination, um mehr Optionen zu bieten

fw ⃗ , b ( x ⃗ ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + b f_{vec{w},b}(vec{x}) = w_1x_1+w_2x_2+w_3x_3+bFm ,B(X )=m1X1+m2X2+m3X3+B

Hinweis: Die Polynomregression kann für die lineare und nichtlineare Anpassung verwendet werden