斯坦福机器学习课程 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(1−hθ(x)) (y=0)
当hθ(x)=0的时候cost =0 反之cost=+∞
in summarize
cost(hθ(x),y)=−y loghθ(x)−(1−y)log(1−hθ(x)) (y=1 or 0)
J(θ)=1mcost(hθ(x(i)),y(i))
J(θ)=−1m∑i=1m[y loghθ(x)+(1−y)log(1−hθ(x))]
牛顿迭代法
xn+1=xn−f′(xn)f′′(xn)
decision boundary
hθ(x)=1−g(θTx)=0.5
θ0+θ1x1+θ2x2=0
x2=−1θ2(θ0+θ1x1)
plot_y=−1θ2(θ0+θ1X)
预测不被admitted的概率
prob=1−g(θ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=1m∑i=1m[h(x(i))R(1−h(x(i)))R∗(x(i))∗(x(i))T]
后面的则是
R(n+1)×1∗R1×(n+1)
h(x(i))是向量,因此在矩阵运算的时候,将向量表示成对角矩阵。
diag(h)∗diag(1−h)
本文完