logistics regression步驟:
step1:


我們可以從圖2中得出:
當(dāng)z>=0,g(z)>=0.5,h(x)=1;
當(dāng)z<0,g(z)<0.5,h(x)=0;
hx=sigmoid(z)
step2:
cost function

計(jì)算代價(jià)函數(shù)
step3:
gradient descent

同步更新theta
step4:
optimization algorithm
使用高級(jí)算法來(lái)計(jì)算出theta,得出minJ(θ)
需要傳入的數(shù)據(jù)有:

options = optimset(‘GradObj’, ‘on’, ‘MaxIter’, ‘100’);
initialTheta = zeros(2,1);
optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options);
返回計(jì)算得出的theta。
- Regularized Linear Regression
然而有時(shí)候因?yàn)閠heta太多,會(huì)導(dǎo)致過(guò)擬合。
這時(shí)候就需要使用正則化,來(lái)防止過(guò)擬合。

就是在線(xiàn)性回歸的cost function中添加theta^2*lambda的和
在這里新引入了lambda參數(shù)
如果lambda非常大,那么就會(huì)減小theta對(duì)函數(shù)的影響,
theta的值就越小,最終只剩theta(0),而hx就變成了一條直線(xiàn),完全的欠擬合。

現(xiàn)在我們需要計(jì)算出theta的值,參照線(xiàn)性回歸的gradient descent
我們把theta(0)單獨(dú)提取出來(lái),因?yàn)樗蝗ジ淖兲刭|(zhì)值(x(0)=1)。

gradient descent在加入正則化之后的公式。
我們?cè)賹?duì)公式稍加整理得出:

-
Normal Equation
如果我們想要用正規(guī)方程求出theta
先回顧下在線(xiàn)性回歸中的normal equation:
normal_equation.png
在正則化中,我們對(duì)方程做出修改:

L是一個(gè)(n+1)*(n+1)的矩陣,其中第一行第一列的為0,也就是對(duì)theta(0)不做影響。
這樣既可求出theta。
