斯坦福机器学习课程 Exercise 习题四

Exercise 4: Logistic Regression and Newton’s Method

回顾一下线性回归
hθ(x)=θTx

Logistic Regression
hθ(x)=11+eθTx=p{y=1|x;θ}

cost(hθ(x),y)的选择
cost(hθ(x),y)=loghθ(x) (y=1)
选择对数似然损失函数作为逻辑回归的Cost Function 原因是这个cost函数是凸函数,具有碗状的形状,而凸函数具有良好的性质:对
于凸函数来说局部最小值点即为全局最小值点,因此只要能求得这类函数的一个最小值点,该点一定为全局最小值点。
hθ(x)=1的时候cost =0 反之cost=+
同理,cost(hθ(x),y)=log(1hθ(x)) (y=0)
hθ(x)=0的时候cost =0 反之cost=+

in summarize

cost(hθ(x),y)=y loghθ(x)(1y)log(1hθ(x)) (y=1 or 0)

 

J(θ)=1mcost(hθ(x(i)),y(i))

 

J(θ)=1mi=1m[y loghθ(x)+(1y)log(1hθ(x))]

 

牛顿迭代法

xn+1=xnf(xn)f′′(xn)

 

decision boundary

hθ(x)=1g(θTx)=0.5

 

θ0+θ1x1+θ2x2=0

 

x2=1θ2(θ0+θ1x1)

 

plot_y=1θ2(θ0+θ1X)


预测不被admitted的概率

prob=1g(θTx)

 

for i=1:MAX_ITR
    z=x*theta;
    h=g(z);
    deltaJ= (1/m).* x' * (h - y);
    Hessian=(1/m).*x'* diag(h) * diag(1-h) * x;
    J(i)= (1/m) * sum (-y.*log(h) - (1-y).*log(1-h) );
    theta = theta - Hessian \ deltaJ;
end

关键的地方是 Hessian矩阵的求法:
Ng的课程讲到

 

H=1mi=1m[h(x(i))R(1h(x(i)))R(x(i))(x(i))T]

 

后面的则是

R(n+1)×1R1×(n+1)


h(x(i))是向量,因此在矩阵运算的时候,将向量表示成对角矩阵。

diag(h)diag(1h)

 

本文完

 

posted @ 2015-12-25 15:00  一杯半盏  阅读(244)  评论(0编辑  收藏  举报