簡單分析線性回歸中的梯度下降

2021-07-30 04:31:58 字數 2447 閱讀 9777

對於回歸問題,我們的目標是要找到乙個模型,或者說hypothesis,使之能夠:對於我們乙個輸入,能夠返回我們預期的結果。也就是說,假設在我們的資料集和結論集之間存在乙個完美的對應關係f使得所有資料集都能正確得出結果,那我們的模型h應該與f之間的差距盡可能的小。

所以,我們靠瞎猜來矇到這個h肯定是不現實的。我們這時候就會想,雖然我們一開始的模型不怎麼貼合f,那麼能不能根據已知資料集,一點一點地修正它(具體表現就是f中有很多引數,一步一步修正這些引數,使得它更貼合f),以此達到目的?

對於線性回歸問題。

假設變數是線性相關(即都是一維的)

xi代表特徵/輸入變數

y代表輸出/目標變數

m代表訓練樣本的數量

n代表特徵數

則 假設函式 h(

x)=θ

0+θ1

x1+θ

2x2+

....

.+θn

xnh (x

)=θ0

+θ1x

1+θ2

x2+.

....

+θnx

n我們定義如下式子(實際上就是很普通的最小二乘)。j(

θ)=∑

i=0m

(hθ(

x(i)

)−y(

i))2

j (θ

)=∑i

=0m(

hθ(x

(i))

−y(i

))2這裡區別一下, xi

表示h(

x)中的

第i個變

量,x(

i)代表

第i個樣

本 xi表

示h(x

)中的第

i個變數

,x(i

)代表第

i個樣本

這個式子反映了所有的樣本通過h的對映之後與真實結果之間的差距(這裡的差距指的是歐氏距離,實際上還有很多不同的反應距離的方法,例如曼哈頓距離和余弦距離balabala,先不討論),用來判定我們的模型是好還是壞,很明顯,這個式子的值越大,說明結果越爛。

要調整θ使此式盡可能的小,即與實際偏差越來越小。

實際上,這個函式叫做loss函式,損失函式或代價函式。因為它反映了模型得出的結果和真實的結果之間的差距。loss函式應具有這樣的特徵:①它是凸函式,可以簡單理解為邊緣任意兩點連線,之間的線段一定全在函式圍成的形狀內。這個性質保證了梯度下降之後可以達到全域性最優解。②它處處可導,不然就不論什麼梯度下降了。③模型得出的結果與真實結果偏差越大,loss函式值就越大,也就是說:損失越大。

給他取個名字叫j,自變數是θ(粗體代表向量),也就是那些引數。

所謂梯度下降,就是一種找到使j最小的方法。

想像站在一座這樣的山峰上,十字位置,此時要想最快下山,就要找到最陡峭的方向走一小步,然後再走一小步。通常,十字位置就是零向量(初始點)

梯度下降中,是通過對每個θ,計算 θi

:=θi−

α∂j(

θ)∂θ

i θi:=

θi−α

∂j(θ

)∂θi

此式中:=是賦值,α表示學習強度(邁步的距離)學習時,會隨著離最小值點越近,步子越小,此時不是α變了,而是偏導變小了

實際上 ∂j

(θ)∂

θi=∑

i=0m

(h(x

(i))

−y(i

))xi

∂ j(

θ)∂θ

i=∑i

=0m(

h(x(

i))−

y(i)

)xi所以此式又可以化成θi

:=θi−

α∑i=

0m(h

(x(i

))−y

(i))

x(i)

θ i:=

θi−α

∑i=0

m(h(

x(i)

)−y(

i))x

(i)這種演算法也叫批梯度下降法,優點是準確,缺點是對每個θi都要計算所有的樣本

這樣計算負載很大

另一種思路被稱為隨機梯度下降法,不是每次都用所有的樣本去計算損失函式,而是每次更新都只使用乙個樣本 θi

:=θi−

α(h(

x(i)

)−y(

i))x

(i) θi:=

θi−α

(h(x

(i))

−y(i

))x(

i)缺點也很明顯,就是隨機性大難以收斂,因為,萬一有乙個樣本很鬼畜,就會拉遠資料

所以批梯度下降是平滑地走向最低點,隨機梯度下降是一會上一會下但是總體處於下降。

梯度下降法 3 實現線性回歸中的梯度下降法

構造資料集 import numpy import matplotlib.pyplot as plt 設定隨機數種子 numpy.random.seed 666 x 2 numpy.random.random size 100 y x 3.4.numpy.random.normal size 100...

線性回歸 梯度下降

線性回歸演算法屬於監督學習的一種,主要用於模型為連續函式的數值 過程總得來說就是初步建模後,通過訓練集合確定模型引數,得到最終 函式,此時輸入自變數即可得到 值。1 初步建模。確定假設函式 h x 最終 用 2 建立價值函式 j 也叫目標函式 損失函式等,求引數 用 3 求引數 對價值函式求偏導 即...

線性回歸梯度下降

梯度下降 一種最優化演算法,就是沿著函式的梯度方向尋找函式的最小值 線性回歸模型 最終的目標就是利用 梯度下降法 求出使 誤差函式 最小的線性函式的系數值 梯度下降演算法有兩種 1.批量梯度下降 batch gradient descent 2.隨機梯度下降 stochastic gradient ...