版权声明:本文为博主原创文章,采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权。欢迎转载,但请注明作者姓名和文章出处。 https://blog.csdn.net/njit_77/article/details/84452045
看了一下斯坦福大学公开课:机器学习教程(吴恩达教授),记录了一些笔记,写出来以便以后有用到。笔记如有误,还望告知。
本系列其它笔记:
线性回归(Linear Regression)
分类和逻辑回归(Classification and logistic regression)
广义线性模型(Generalized Linear Models)
分类和逻辑回归(Classification and logistic regression)
1 逻辑回归(Logistic regression)
hθ(x)=g(θTx)=1+e−θTx1,
g(z)=1+e−z1(logistic function / sigmoid function)
p(y=1∣x;θ)=hθ(x)
p(y=0∣x;θ)=1−hθ(x)
p(y∣x;θ)=(hθ(x))y(1−hθ(x))1−y
L(θ)=p(y
∣X;θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)⇓ℓ(θ)=logL(θ)=logi=1∏m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)=i=1∑mlog((hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i))=i=1∑m(log((hθ(x(i)))y(i)+log(1−hθ(x(i)))1−y(i))=i=1∑m(y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i))))
最大化
L(θ),
θ :=θ+α ∇θℓ(θ) (此处+,与前面学习梯度下降算法的−不同,因为hθ(x)不同)
∂θj∂ℓ(θ)=∂θj∂i=1∑m(y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i))))=i=1∑m∂θj∂(y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i))))=i=1∑m(hθ(x(i))y(i)∂θj∂hθ(x(i))+1−hθ(x(i))1−y(i)∂θj∂(1−hθ(x(i))))=i=1∑m(hθ(x(i))y(i)∂θj∂hθ(x(i))−1−hθ(x(i))1−y(i)∂θj∂(hθ(x(i))))=i=1∑mhθ(x(i))(1−hθ(x(i)))y(i)−hθ(x(i))∂θj∂hθ(x(i)){note1:∂θj∂hθ(x(i))=hθ(x(i))(1−hθ(x(i)))∂θj∂θTx(i)=hθ(x(i))(1−hθ(x(i))xj(i)}=i=1∑m(y(i)−hθ(x(i)))xj(i)
θj :=θj+α ∑i=1m(y(i)−hθ(x(i)))xj(i)
2 感知器学习算法(Digression: The perceptron learning algorithm)
定义g(z)函数:
g(z)={1if z≥00if z≤0
如果我们让
hθx=g(θTx),那么可得到
θj :=θj+α(y(i)−hθ(x(i)))xj(i)(感知器学习算法)。
3 牛顿法最大化
ℓ(θ)(Another algorithm for maximizing
ℓ(θ))
函数
f(θ)找一个
θ使得
f(θ)=0,牛顿法执行以下操作:
θ:=θ−f′(θ)f(θ).
那么我们如何找打一个
θ使得函数
ℓ(θ)值最大?我们需要是
ℓ′(θ)=0(不论
ℓ(θ)最大值或者最小值,其
ℓ′(θ)=0,极值在导函数拐点处),使用牛顿法可得出以下结论:
θ:=θ−ℓ′′(θ)ℓ′(θ).
在逻辑回归设置中,
θ是一个向量。因此牛顿法中也需满足此条件。
θ:=θ−H−1∇θℓ(θ).Hij=∂θi∂θj∂2ℓ(θ).