正則化——處理過擬合(線性迴歸和邏輯迴歸)

進行正則化後的代價函數:J(θ)=12m[i=1mhθ(x(i))y(i)+λj=1nθj2]J(\theta)=\frac{1}{2m}[\sum^m_{i=1}h_\theta(x^{(i)})-y^{(i)}+\lambda\sum^n_{j=1}\theta^2_j]
假設說這是一個假設函數:
hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4h_\theta(x)=\theta_0+\theta_1x^1+\theta_2x^2+\theta_3x^3+\theta_4x^4這個模型有四個特徵


一、在線性迴歸中

1.1如果我們要對正則化的代價函數進行梯度下降那麼式子應該是這樣的:

Repeat{
θ0=θ0α[1mi=1mhθ(x(i)yi)+λmθ0]\theta_0=\theta_0-\alpha[\frac{1}{m}\sum^m_{i=1}h_\theta(x^{(i)}-y^{i})+\frac{\lambda}{m}\theta_0]
θj=θjα[1mi=1mhθ(x(i)yi)xj(i)+λmθj](1)\theta_j=\theta_j-\alpha[\frac{1}{m}\sum^m_{i=1}h_\theta(x^{(i)}-y^{i})x_j^{(i)}+\frac{\lambda}{m}\theta_j] \tag{1}
j=1,2,3,4,5,6....j=1,2,3,4,5,6....
}
我們可以把式子(1)進行一點變化:
θj=θj(1αλm)α[1mi=1mhθ(x(i)yi)xj(i)](2)\theta_j=\theta_j(1-\alpha\frac{\lambda}{m})-\alpha[\frac{1}{m}\sum^m_{i=1}h_\theta(x^{(i)}-y^{i})x_j^{(i)}]\tag{2}

觀察(2)式,會得到一個比較直觀的感受:減號後面的部分和沒有正則化的時候一樣,減號前面的部分再原來的基礎上將θj\theta_j乘上(1αλm)(1-\alpha\frac{\lambda}{m})(1αλm)(1-\alpha\frac{\lambda}{m})這塊其實是一個略小於1的數。


1.2如果對正則化的代價函數進行用函數求最小值應該是這樣的:

X=[(x(1))T(x(2))T(x(m))T]X= \left[\begin{matrix} (x^{(1)})^T \\ (x^{(2)})^T \\ \cdot \\ \cdot \\ \cdot \\ (x^{(m)})^T \\ \end{matrix} \right]
這是個m×nm\times n矩陣,m行每行代表一個樣本,對每個樣本進行轉置(轉置後是行向量)。
Y=[y(1)y(2)y(m)]Y= \left[\begin{matrix} y^{(1)} \\ y^{(2)} \\ \cdot \\ \cdot \\ \cdot \\ y^{(m)} \\ \end{matrix} \right]
目標求minJ(θ)min J(\theta)時的θ\theta
θ=(XTX+λ[0000101001])1XTY\theta=(X^TX+\lambda \left[ \begin{matrix} 0 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & 1 & \vdots \\ 0 & 0 & \cdots & 1 \\ \end{matrix} \right] )^{-1}X^TY
 
 
 

λ[0000101001]\lambda \left[ \begin{matrix} 0 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & 1 & \vdots \\ 0 & 0 & \cdots & 1 \\ \end{matrix} \right]
λ\lambda是正則化參數。
這個(n+1)×(n+1)(n+1)\times(n+1)矩陣就是爲了正則化加上的部分。
舉個例子如果一個模型 有n=2個特徵量,那麼這個矩陣是這樣的:
觀察可知:對角線上的元素都是零,除了第一元素;另外除了對角線上的元素全是零。
正則化問題還有個好處:就是可以只要滿足λ>0\lambda>0,那麼括號裏面的矩陣一定可逆,是真正的可逆而不是僞可逆。

二、在邏輯迴歸中

2.1對正則化的代價函數進行梯度下降應該是這樣的:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章