之前的博客裏,跟大家分享了歸一化(Regularization)的概念:保留所有的特徵,但是減小參數的大小(Magnitude)。
這一次捏,跟大家討論討論,歸一化線性迴歸模型和歸一化邏輯迴歸模型。
首先跟大家明確一件事,爲什麼有些機器學習的模型需要用到歸一化這個方法呢?答案有兩條:
- 歸一化能夠加快梯度下降的步伐,也就是獲得最優解的速度
- 歸一化能夠提交模型的精度
歸一化線性迴歸模型(Regularized Linear Regression)
我們之前討論過,歸一化代價函數。線性迴歸的代價函數和歸一化代價函數的表達式是一樣的:
如果我們使用梯度下降算法使得這個代價函數最小,那麼我們得到的梯度下降算法將表現爲以下形式:(我們未對ø0進行歸一化)
對於上面的算法,j=1,2,3,...,n 時,更新的表達式可以進行調整得到:
可以看出來,歸一化線性迴歸的梯度下降算法與之前的變化在於,每次在原有算法更新規則的基礎之上都令ø的值減少了一個額外的值。
同樣的,如果利用正規方程(Normal Equation)來求解歸一化線性迴歸模型,表達式如下:
表達式中,矩陣的大小爲n+1*n+1
歸一化邏輯迴歸模型(Regularized Logistic Regression)
同樣的,對於邏輯迴歸模型,我們也給代價函數增加一個歸一化的表達式,便得到了如下的表達式:
要得到這個代價函數的最小值,通過求導,得到的梯度下降算法表達式如下:
注:只是看上去和線性迴歸一樣,但是這裏面的假設函數 ,所以與線性迴歸是不同的。
以上,便是歸一化兩個迴歸模型的內容了。至此,我們學習到的機器學習中迴歸模型的相關內容基本都涉及到了。下面將會討論機器學習中重要的一個算法——神經網絡(Neural Network)。