線性回歸練習

2021-09-10 06:41:22 字數 2307 閱讀 4862

1:極大似然估計原理:

它是建立在極大似然原理的基礎上的乙個統計方法,極大似然原理的直觀想法是,乙個隨機試驗如有若干個可能的結果a,b,c,… ,若在一次試驗中,結果a出現了,那麼可以認為實驗條件對a的出現有利,也即出現的概率p(a)較大。極大似然原理的直觀想法我們用下面例子說明。設甲箱中有99個白球,1個黑球;乙箱中有1個白球.99個黑球。現隨機取出一箱,再從抽取的一箱中隨機取出一球,結果是黑球,這一黑球從乙箱抽取的概率比從甲箱抽取的概率大得多,這時我們自然更多地相信這個黑球是取自乙箱的。一般說來,事件a發生的概率與某一未知引數 有關, 取值不同,則事件a發生的概率 也不同,當我們在一次試驗中事件a發生了,則認為此時的 值應是t的一切可能取值中使 達到最大的那乙個,極大似然估計法就是要選取這樣的t值作為引數t的估計值,使所選取的樣本在被選的總體**現的可能性為最大。 [1]

極大似然估計,只是一種概率論在統計學的應用,它是引數估計的方法之一。說的是已知某個隨機樣本滿足某種概率分布,但是其中具體的引數不清楚,引數估計就是通過若干次試驗,觀察其結果,利用結果推出引數的大概值。極大似然估計是建立在這樣的思想上:已知某個引數能使這個樣本出現的概率最大,我們當然不會再去選擇其他小概率的樣本,所以乾脆就把這個引數作為估計的真實值。

2:極大似然對線性回歸損失函式的推導

線性回歸假設函式為

誤差:假設誤差服從正態分佈,誤差最小也就是期望為0。ϵϵ~n(0,σ2σ2)

最大似然估計就是使所有樣本最接近引數,也就是似然函式最大。

一元線性回歸的引數公式求導

三 西瓜書公式3.10和3.11的推導

四,什麼是批梯度下降,小批梯度下降,隨機梯度下降

批量梯度下降

批量梯度下降是指在對引數執行更新時,在每次迭代中使用所有的樣本。

for i in range(num_epochs):

grad = compute_gradient(data, params)

params = params — learning_rate * grad

主要的優點:

小批量梯度下降

為了克服上述方法的缺點,人們提出了小批量梯度下降。在更新每一引數時,不用遍歷所有的樣本,而只使用一部分樣本來進行更新。 因此,每次只用小批量的b個樣本進行更新學習,其主要過程如下:

for i in range(num_epochs):

np.random.shuffle(data)

for batch in radom_minibatches(data, batch_size=32):

grad = compute_gradient(batch, params)

params = params — learning_rate * grad

批量的大小我們可以調整,通常被選為2的冪次方,例如32,64,128,256,512等。其背後的原因是一些像gpu這樣的硬體也是以2的冪次方的批量大小來獲得更好的執行時間。

主要的優點:

隨機梯度下降(stochastic gradient descent,sgd)

隨機梯度下降法不同於批量梯度下降,隨機梯度下降是每次迭代使用乙個樣本來對引數進行更新。使得訓練速度加快。

對於乙個樣本的目標函式為:

j(i)(θ0,θ1)=12(hθ(x(i))−y(i))2

j(i)(θ0,θ1)=12(hθ(x(i))−y(i))2

(1)對目標函式求偏導:

δj(i)(θ0,θ1)θj=(hθ(x(i))−y(i))x(i)j

δj(i)(θ0,θ1)θj=(hθ(x(i))−y(i))xj(i)

(2)引數更新:

θj:=θj−α(hθ(x(i))−y(i))x(i)j

θj:=θj−α(hθ(x(i))−y(i))xj(i)

注意,這裡不再有求和符號

偽**形式為:

repeat

}優點:

(1)由於不是在全部訓練資料上的損失函式,而是在每輪迭代中,隨機優化某一條訓練資料上的損失函式,這樣每一輪引數的更新速度大大加快。

缺點:(1)準確度下降。由於即使在目標函式為強凸函式的情況下,sgd仍舊無法做到線性收斂。

(2)可能會收斂到區域性最優,由於單個樣本並不能代表全體樣本的趨勢。

(3)不易於並行實現。

線性回歸練習

excel做回歸分析,主要分析資料意義 multiple r x和y的相關係數r,一般在 1 1之間,絕對值越靠近1則相關性越強,越靠近0則相關性越弱 r square x和y的相關係數r的平方,表達自變數x解釋因變數y變差的程度,以測定量y的擬合效果 adjusted r square 調整後的r...

Regularization線性回歸練習

監督機器學習問題無非就是在規則化引數的同時最小化誤差。最小化誤差是為了讓我們的模型擬合我們的訓練數 據,而規則化引數是防止我們的模型過分擬合我們的訓練資料。因為引數太多,會導致我們的模型複雜度上公升,容易 過擬合,也就是我們的訓練誤差會很小。但訓練誤差小並不是我們的最終目標,我們的目標是希望模型的測...

練習 線性回歸Linear regression

用線性回歸演算法擬合正弦函式 import numpy as np import matplotlib.pyplot as plt matplotlib inline 生成200個 2pi,2pi 之間的正弦函式上的點,並加上隨機雜訊 n dots 200x np.linspace 2 np.pi,...