常見的機器學習&數據挖掘知識點之Basis
- SSE(Sum of Squared Error, 平方誤差和)
SSE=∑i=1n(Xi−X⎯⎯⎯)2 - SAE(Sum of Absolute Error, 絕對誤差和)
SAE=∑i=1n|Xi−X⎯⎯⎯| - SRE(Sum of Relative Error, 相對誤差和)
SRE=∑i=1nXi−X⎯⎯⎯X⎯⎯⎯ - MSE(Mean Squared Error, 均方誤差)
MSE=∑ni=1(Xi−X⎯⎯⎯)2n - RMSE(Root Mean Squared Error, 均方根誤差),又稱SD(Standard Deviation, 標準差)
RMSE=∑ni=1(Xi−X⎯⎯⎯)2n‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√ - MAE(Mean Absolute Error, 平均絕對誤差)
MAE=∑ni=1|Xi−X⎯⎯⎯|n - RAE(Root Absolute Error, 平均絕對誤差平方根)
RAE=∑ni=1|Xi−X⎯⎯⎯|n‾‾‾‾‾‾‾‾‾‾‾‾‾‾√ - MRSE(Mean Relative Square Error, 相對平均誤差)
MRSE=∑ni=1Xi−X⎯⎯X⎯⎯n - RRSE(Root Relative Squared Error, 相對平方根誤差)
RRSE=∑ni=1Xi−X⎯⎯X⎯⎯n‾‾‾‾‾‾‾‾‾‾‾⎷ - Expectation(期望)&Variance(方差)
期望是描述一個隨機變量的“期望值”,方差反映着隨機變量偏離期望的程度,偏離程度越大哦,方差越大,反之則相反。對於離散隨機變量X ,其期望爲:
E(X)=∑i=1∞xip(xi)
其中p(x) 爲隨機變量的X 的分佈率(概率分佈).
其方差爲:
D(X)=∑i=1∞[xi−E(X)]2p(xi)
對於連續變量X ,其期望爲:
E(X)=∫+∞−∞xf(x)dx
其中f(x) 爲隨機變量的X 的概率密度分佈.
其方差爲:
D(X)=∫+∞−∞[x−E(X)]2f(x)dx
對於Y=g(X) (g 是連續函數),則Y 的期望爲:
X 是離散隨機變量:
E(Y)=E(g(x))=∑i=1∞g(xi)p(xi)
X 是連續隨機變量:
E(Y)=E(g(x))=∫+∞−∞g(xi)f(x)dx
常見分佈的期望與方差:
分佈/數字特徵 | 期望 | 方差 |
---|---|---|
兩點分佈 | ||
二項分佈 | ||
泊松分佈 | ||
均勻分佈 | ||
指數分佈 | ||
正態分佈 |
- 標準差:
標準差爲方差的平方根,即:
V(X)=D(X)‾‾‾‾‾√ - JP(Joint Probability, 聯合概率)
- 二維離散隨機變量
X ,Y
- 聯合概率分佈(分佈率)
P(x,y)=P{X=xi,Y=yi}=pij
pij≥0
∑ijpij=∑i∑jpij=1 - 聯合分佈函數
F(x,y)=P{X≤x,Y≤y}=∑x∑yP(x,y)
- 聯合概率分佈(分佈率)
- 二維連續隨機變量
X ,Y
- 聯合概率密度
f(x,y) - 聯合分佈函數
F(x,y)=∫x−∞∫y−∞f(u,v)dudv
f(x,y)≥0
∫+∞−∞∫+∞−∞f(x,y)dxdy=F(+∞,+∞)=1
- 聯合概率密度
- 二維離散隨機變量
- MP(Marginal Probability, 邊緣概率)
- 二維離散隨機變量
- X的邊緣分佈率
pi.=P{X=xi}=∑j=1∞pij,j=1,2,3,... - Y的邊緣分佈率
p.j=P{Y=yi}=∑i=1∞pij,i=1,2,3,... - X的邊緣分佈函數
FX(x)=F(x,+∞)=P{X≤x}=P{X≤x,Y≤+∞} - Y的邊緣分佈函數
FY(y)=F(+∞,y)=P{Y≤y}=P{X≤+∞,Y≤y}
- X的邊緣分佈率
- 二維連續隨機變量
- X的邊緣分佈率
fX(x)=∫+∞−∞f(x,y)dy - Y的邊緣分佈率
fY(y)=∫+∞−∞f(x,y)dx - X的邊緣分佈函數
FX(x)=F(x,+∞)=∫x−∞[∫+∞−∞f(u,y)dy]du - Y的邊緣分佈函數
FY(y)=F(y,+∞)=∫y−∞[∫+∞−∞f(x,v)dx]dv
- X的邊緣分佈率
- 二維離散隨機變量
- Independence(獨立性)
若對一切x ,y ,都有:
P{X≤x,Y≤y}=P{X≤x}P{Y≤y}
即:
F(x,y)=FX(x)FY(y)
則隨機變量X, Y是互相獨立的.
對於離散隨機變量,等價於:
P{X=xi,Y=yj}=P{X=xi}P{Y=yj},i,j=1,2,...
對於連續隨機變量,等價於:
f(x,y)=fx(x)fy(y) - CP(Conditional Probability, 條件概率)
對於離散隨機變量,定義爲:
若P{Y=yj}>0 :
P{X=xi|Y=yj}=P{X=xi,Y=yj}P{Y=yj}=pijp.j,i=1,2,...
而P{Y=yj}=p.j=∑i=1∞pij
因此:
P{X=xi|Y=yj}=P{X=xi,Y=yj}P{Y=yj}=pij∑∞i=1pij,i=1,2,...
上式即爲在Y=yj 條件下X 的條件分佈律.
同理:
P{Y=yj|X=xi}=P{X=xi,Y=yj}P{X=xi}=pij∑∞j=1pij,j=1,2,...
上式即爲在X=xi 條件下Y 的條件分佈律.
對於連續隨機變量,定義爲:
FX|Y(x|y)=P{X≤x|Y=y}=∫x−∞f(x,y)dxfY(y)
FY|X(y|x)=P{Y≤y|X=x}=∫y−∞f(x,y)dyfX(x)
條件概率密度分別爲:
fX|Y(x|y)=f(x,y)fY(y)
fY|X(y|x)=f(x,y)fX(x) - Bayesian Formula(貝葉斯公式)
使用已知知識來對先驗概率進行修正,得到後驗概率,即得到條件概率:
P(Bi||A)=P(Bi)P(A|Bi)∑ni=1P(Bi)P(A|Bi)
P(Bi||A) 爲後驗概率,P(Bi|) 爲先驗概率. - CC(Correlation Coefficient, 相關係數)
對於(X,Y) 爲二維隨機變量,若E{[X−E(X)][Y−E(Y)]} 存在,則稱它爲隨機變量X 與Y 的協方差,記爲cov(X,Y) 或σXY ,即:
cov(X,Y))=E{[X−E(X)][Y−E(Y)]}
當D(X)>0,D(Y)>0 時,
ρXY=cov(X,Y)D(X)‾‾‾‾‾√D(Y)‾‾‾‾‾√
稱爲隨機變量X,Y 的相關係數或標準協方差.
特別地,
cov(X,X)=D(X)
cov(Y,Y)=D(Y)
因此方差是協方差的特例.
若X,Y 相互獨立,則cov(X,Y)=0 ,從而ρXY=0 . 同時|ρXY|≤1 . 若|ρXY|=1 ,則隨機變量X,Y 線性相關.+1 代表正線性相關,−1 代表負線性相關,絕對值越大則表明它們之間越相關,若爲0,則表示它們互相獨立. - Covariance(協方差矩陣)
若X 是由隨機變量組成的n 列向量,E(Xi)=μi ,那麼協方差矩陣定義如下:
Σ=⎡⎣⎢⎢E{[X1−E(X1)][X1−E(X1)]}...E{[Xn−E(Xn)][X1−E(X1)]}.........E{[X1−E(X1)][Xn−E(Xn)]}...E{[Xn−E(Xn)][Xn−E(Xn)]}⎤⎦⎥⎥=⎡⎣⎢⎢⎢E{[X1−μ1][X1−μ1]}..E{[Xn−μn][X1−μ1]}.........E{[X1−μ1][Xn−μn]}...E{[Xn−μn][Xn−μn]}⎤⎦⎥⎥⎥ - Quantile (分位數)
對隨機變量X ,其分佈函數爲F(x) ,任意給定α,0<α<1 ,P(X<=x)=F(x)=α 所對應的x,爲α 分位數.
- LMS(Least Mean Squared, 最小均方)
優化的目標爲使得均方誤差最小,參數即爲最小時所對應的參數值,即:
θ=argminθ12∑ni=1(Xi−X⎯⎯⎯)2n=argminθ12∑i=1n(Xi−X⎯⎯⎯)2
公式中的12 爲了在求導過程中的方便,因爲平方項在求導過程中會產生一個2倍,這樣便能約掉常數項,目標函數乘以一個常數對結果是沒有影響的,只是目標值縮小了一半,但是其所對應的參數還是不變的。可以使用梯度下降法來進行求解。 - LSM(Least Square Methods, 最小二乘法)
在最小二乘法中使用最小均方來對參數進行求解,對於樣本點集(X,Y)={(X1,y1),...,(Xn,yn)} ,其中每個樣本特徵向量爲Xi={xi1,...,xim} ,n 爲樣本個數,m 爲樣本點的維度,那麼其線性迴歸方程:
f(Xi)=w0+w1xi1+w2xi2+...+wmxim=WT[1,XiT]T,i∈[1,n]
那麼,優化目標爲:
minF=min12∑i=1n(f(Xi)−yi)2
爲了書寫方便,將常數1作爲每個樣本特徵向量的第1個分量,即Xi={1,xi1,...,xim} ,那麼線性迴歸方程變爲:
f(Xi)=WTXi,i∈[1,n]
那麼優化目標爲:
minF=min12∑i=1n(WTXi−yi)2 - GD(Gradient Descent, 梯度下降)
對於最小二乘法中的F最小化求解使用梯度下降算法進行求解(如果是求解最大值,則使用梯度上升算法),梯度下降算法即爲從某個初始點出發,按照梯度下降的方向,每次前進一步,直到最小值點,因此需要一個步長α 。
- 首先求取梯度
∇wJ(w)=∑i=1n(WTXi−yi)Xi=XT(XWT−y→)
那麼前進方向爲g=−∇wJ(w) ,即梯度的反方向, 如果是梯度上升算法,那麼就是梯度方向,則不需要在前面加上負號. - 然後按照梯度方向進行前進
W:=W+αg
其中α>0 ,它是一個步長,對於α 具體取多大的值,一般按照經驗進行取,可以從10, 1,0.1,0.01,0.001不斷進行嘗試而取一個合理的值。而可以剛開始取一個較大值,後面越來越小,這樣剛開始步子就大一點,到逐漸接近最優點的時候,放慢腳步,如果這時候過大,就會造成一直在最優點附近震盪。 - 最後,按照步驟2進行迭代更新
W ,直到目標函數值不再變化,或者變化的範圍小於事先設定的閾值。所以,梯度下降算法的一個缺點就是需要確定α 的值,但是該值並不好確定,需要不斷進行嘗試和依靠經驗。
- 首先求取梯度
- SGD(Stochastic Gradient Descent, 隨機梯度下降)
在梯度下降法中,參數的每一次更新都要使用訓練集中的全部的樣本(批量梯度下降算法),這樣速度便相對較慢,於是每次更新時隨機選擇一個樣本進行更新參數,這樣便能提高計算速度,但每次更新的方向並不一定朝着全局最優化方向. - 正規方程求解方法
該方法利用極值點的偏導數爲0,即令:
∇WJ(W)=XTXWT−XTy→=0
得到正規方程:
XTXW=XTy→
求解W :
W=(XTX)−1XTy→
該方法的時間複雜度爲O(n3) ,因爲需要對矩陣求逆運算,其中n 爲(XTX)−1 的特徵數量,如果n 值很大,那麼求解速度將會很慢。對此,Andrew Ng的經驗建議是:如果n>10000 ,那麼使用梯度下降算法進行求解。同時,如果(XTX) 是奇異矩陣,即含有0特徵值,那麼其便不可逆,一個解決方法便是L2正則,後面將會講到。 - MLE(Maximum Likelihood Estimation, 極大似然估計)
在我們已經知道到隨機變量的一系列觀察值,即試驗結果已知(樣本),而需要求得滿足該樣本分佈的參數θ ,於是我們需要採取某種方法對θ 進行估計,在最大似然估計中,我們假定觀察的樣本是該樣本分佈下中最大可能出現的,把最大可能性所對應的參數θ 對真實的θ∗ 進行參數估計。
- 對於離散隨機變量
設總體X 是離散隨機變量,其概率分佈P(x;θ) (注意:與P(x,θ) 的區別,前者中θ 是一個常數,只是值暫時不知道,也就是它是一個確定值,而後者中θ 是一個隨機變量),其中θ 是未知參數. 設X1,X2,...,Xn 分別都是取自總體X 的樣本,我們通過試驗觀察到各樣本的取值分別是x1,x2,...,xn ,則該事件發生的概率,即它們的聯合概率爲:
P(X1=x1,X2=x2,...,Xn=xn)
假設它們獨立同分布,那麼聯合概率爲:
P(X1=x1,X2=x2,...,Xn=xn)=∏i=1nP(xi;θ)
因爲xi,i∈{1,2,...,n} 都是已知的確定的值,那麼上式的值取決於θ ,從直觀上來說,一件已經發生的事件,那麼該事件發生概率應該較大,我們假設該事件的發生概率是最大的,即x1,x2,...,xn 的出現具有最大的概率,在這種假設下去求取θ 值.
定義似然函數爲:
ℓ(θ)=ℓ(x1,x2,...,xn;θ)=∏i=1nP(xi;θ)
它是關於θ 的函數.
極大似然估計法就是在參數θ 的取值範圍Θ 內選取一個使得ℓ(θ) 達到最大值所對應的參數θ̂ ,用來作爲θ 的真實值θ∗ 的估計值,即:
θ=argmaxθ∈Θℓ(x1,x2,...,xn;θ)
這樣,對求解總體X 的參數θ 極大似然估計問題轉化爲求似然函數ℓ(θ) 的最大值爲題,那麼求去最大值問題可以使用導函數進行求解.
爲了便於求解,對似然函數進行ln 運算,因爲ln 爲遞增函數,那麼ln(ℓ(θ)) 與ℓ(θ) 在同一處取得最大值,於是,
lnℓ(θ)=ln∏i=1nP(xi;θ)=∑i=1nlnP(xi;θ)
對上式進行求導操作,並令導函數爲0:
dlnℓ(θ)dθ=0
解該方程,得到θ 作爲真實值的估計. - 對於連續離散隨機變量:
設總體X 是連續隨機變量,其概率密度函數爲f(x;θ) ,對樣本X1,X2,...,Xn 觀察得到的樣本值分別爲x1,x2,...,xn ,那麼聯合密度函數爲:
∏i=1nf(xi;θ)
則,似然函數爲:
ℓ(θ)=∏i=1nf(xi;θ)
同理,按照先前的處理與求解方式,即極大似然估計法,求取theta值.
前面所說的使用已知知識對先驗概率進行矯正,得到後驗概率,便可以用到似然函數,即後驗概率=先驗概率*似然函數. - 極大似然估計步驟:
- 由總體分佈導出樣本的聯合概率函數(或聯合密度);
- 把樣本聯合概率函數(或聯合密度)中自變量看成爲已知數,而參數
θ 作爲自變量未知數,得到似然函數ℓ(θ) ; - 將似然函數轉化爲對數似然函數,然後求取對數似然函數的最大值,一般使用求導方法;
- 最後得到最大值表達式,用樣本值代入得到參數的極大似然估計值.
- 對於離散隨機變量
- QP(Quadratic Programming, 二次規劃)
我們經常用到線性規劃去求解一部分問題,然後很多問題是非線性的,而二次規劃是最簡單的非線性規劃,簡稱QP問題,何爲二次規劃,即其目標函數是二次函數,而約束條件是線性約束的最優化問題. 用數學語言描述,其標準形式爲:
minf(x)=12xTGx+gTx
s.t.aTix=bi,i∈EaTjx≥bj,j∈I
其中,G 是n×n 的對稱矩陣(Hessian矩陣),E,I 分別對應等式約束和不等式約束指標集合,g,x,{ai|i∈E},{aj|j∈I} 都是n 維列向量
- 若G正半定,那麼QP問題存在全局最優解(凸二次規劃);
- 若G正定,那麼QP問題存在唯一的全局最優價(凸二次規劃);
- 若G不定,那麼可能存在非全局的最優解;
凸二次規劃即二次規劃目標函爲維凸函數.
- L1 /L2 Regularization(L1/L2正則)
我們在做數據挖掘或機器學些的時候,在訓練數據不夠時,或者出現過度訓練時,往往容易過擬合,即訓練時效果特別好,而測試時或者在新數據來臨時,模型效果較差,即爲模型的泛化能力比較差。隨着訓練過程不斷進行,該模型在training data上的error漸漸減小,但是在驗證集上的error卻反而漸漸增大——因爲訓練出來的網絡過擬合了訓練集,對訓練集外的數據(測試數據或者新數據)卻不work。如下圖所示:
避免過擬合的方法有很多:early stopping, 數據集擴增(Data augmentation), 正則化(Regularization),Dropout等.
- L1
L1正則是一個稀疏規則算子,其是在代價函數(優化目標函數)後面加上參數w 絕對值和乘以λn ,目標函數即爲:
F=F0+λn∑w|w|
其中F0 爲原目標函數,那麼新目標函數的導數爲:
∂F∂w=∂F0∂w+λnsgn(w)
上式中sgn(w) 是w 的符號函數,α>0 是更新步長,它是一個常數,λ>0 是正則項數,它是一個常數,那麼參數w 的梯度下降算法更新方程爲:
w:=w−α∂F0∂w−αλnsgn(w)
上面的更新方程比原來的多了αλnsgn(w) 這一項. 當w 爲正時,更新後w 變小,爲負時則相反,即將w 往0值靠,這樣對於那些接近0值的參數,那麼就可能爲0,這樣很多w 就會趨近於0,這樣便起到了稀疏作用,也就是爲何叫做”稀疏規則算子”了,這樣相當於降低了模型的複雜度,提高模型泛化能力,防止過擬合.
任何正則化算子,如果它在等於0處不可微,並且可以分解爲一個“求和”的形式,那麼這個正則化算子就可以實現稀疏. 也就是這麼說,w 的L1範數正則是絕對值,而|w|在w=0處是不可微. 其實L0範數正則(L0範數是指向量中非0的元素的個數),也可以達到稀疏目的,但是現實中爲什麼不用L0正則呢,因爲L0範數正則的優化是一個NP難問題,所以L1範數正則具有更好的優化特性.
在w 的更新式子中,當w 爲0時,|w| 是不可導的,所以需要按照原始的未經正則化的方法去更新w ,即爲了方便我們定義sgn(0)=0 ,這樣便統一了所有情況.
L1正則的稀疏性特性可能用來進行特徵選擇,只選擇那些重要的,區分能力強的特徵,而去掉那些不重要的,區分能力不強的特徵. 雖然如果加上這些特徵,可能會使得在模型訓練時效果更好,但是可能會造成過擬合,從而模型的泛化能力不強.
在線性迴歸中使用L1正則的叫做LASSO(Least Absolute Shrinkage and Selectionator Operator L1正則最小二乘迴歸). - L2
L2範數正則化是在代價函數(優化目標函數)後面加上平方和正則項,即:
F=F0+λ2n∑ww2
注意:常數項的w 是不帶入正則項中的,爲了便於區分,將其用b表示.
其中F0 爲原始目標函數,在正則項前面乘以12 是爲了在求導過程中方便,因爲平方項在求導過程中會產生一個2倍,這樣便能約掉常數項. 那麼新目標函數的導數爲:
∂F∂w=∂F0∂w+λnw∂F∂b=∂F0∂b
這樣參數的更新方程爲:
w:=w−α∂F0∂w−αλnw=(1−αλn)w−α∂F0∂wb:=b−α∂F0∂b
其中,α>0 是更新步長,它是一個常數,λ>0 是正則項數,它是一個常數
從w 更新方程中可以看出,在不使用L2正則項時,求導結果中的w 前的係數爲1,而現在前面的係數爲(1−αλn) ,因爲α,λ,n 都是正數,因此前面的係數小於0,它的效果就是減小w ,這就是爲何L2正則又被稱爲“權值衰減”(weight decay).
通過L2正則來降低模型的複雜度,提高模型的泛化能力,防止過擬合,並且L2正則本書是一個凸二次函數,這樣便有利於優化.
在前面所說的正規方程中,若XTX 不可逆,則無法進行求解,那麼如果加上L2正則項,就變成:
W=(XTX+λI)−1XTy→
這樣(XTX+λI) 肯定是可逆的.
最後通過一張圖直觀上來區別L1與L2正則,如圖:
FromPRML
上圖中使用的模型是線性迴歸,該模型中有兩個特徵,要優化的參數分別是w1和w2,左圖的正則化是L2,右圖是L1. 藍色線就是優化過程中遇到的等高線,一圈代表一個目標函數值,圓心就是樣本觀測值(假設一個樣本),半徑就是誤差值,受限條件就是紅色邊界(就是正則化那部分),二者相交處,纔是最優參數. 可見右邊的最優參數只可能在座標軸上,所以就會出現0權重參數,使得模型稀疏.
從另一個角度上來看,正則化其實就是對模型的參數設定一個先驗,這是貝葉斯學派的觀點,也是一種理解。L1正則是Laplace先驗,L2是高斯先驗. - L2.5
該正則化集合了L1與L2正則,具有它們兩者的優點.
- L1
- Eigenvalue(特徵值)&Eigenvector(特徵向量)
設A 是n 階矩陣,如果數lambda 和n維非零列向量α ,使得:
Aα=λα
成立,則稱這樣的數λ 爲方陣A 的特徵值,非零列向量α 稱爲A 對應於特徵值λ 的特徵向量.
特徵向量α≠0 ,特徵值λ 都是對方陣來說的;
n 階方陣A 的特徵值即爲使得
齊次線性方程組(λI−A)x=0 有非零解的λ 值,即滿足方程|λI−A|=0 的λ 都是矩陣A 的特徵值.
特徵值積等於方陣的行列式值,即:∏i=1nλi=|A|
若特徵值λi 互不相等,那麼它們所對應的特徵向量αi 線性不相關.
若方陣的行列式值爲0,即爲奇異方陣,也即其含有爲0的特徵值,那麼該方陣不可逆.