机器学习算法完整版见fenghaootong-github
逻辑回归(Logistic Regression)
Regression问题的常规步骤为:
- 寻找h函数(即hypothesis);
- 构造J函数(损失函数);
- 想办法使得J函数最小并求得回归参数(θ)
构造预测函数h
函数形式为:
hθ(x)=g(θTx)=11+e−θTx h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x
函数 hθ(x) h θ ( x ) 的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:
P(y=1|x;θ)=hθ(x)
P
(
y
=
1
|
x
;
θ
)
=
h
θ
(
x
)
P(y=0|x;θ)=1−hθ(x)
P
(
y
=
0
|
x
;
θ
)
=
1
−
h
θ
(
x
)
构造损失函数J
将上面二式综合起来
P(y|x;θ)=(hθ(x))y(1−hθ(x))1−y P ( y | x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y
取似然函数为:
L(θ)=Πmi=1P(yi|xi;θ)=Πmi=1(hθ(xi))yi(1−hθ(xi))1−yi L ( θ ) = Π i = 1 m P ( y i | x i ; θ ) = Π i = 1 m ( h θ ( x i ) ) y i ( 1 − h θ ( x i ) ) 1 − y i
对数似然函数为:
l(θ)=logL(θ)=∑mi=1(yihθ(xi)+(1−yi)(1−hθ(xi))) l ( θ ) = l o g L ( θ ) = ∑ i = 1 m ( y i h θ ( x i ) + ( 1 − y i ) ( 1 − h θ ( x i ) ) )
最大似然估计就是求使 l(θ) l ( θ ) 取最大值时的θ,其实这里可以使用梯度上升法求解,求得的θ就是要求的最佳参数。
J(θ)=−1ml(θ) J ( θ ) = − 1 m l ( θ )
因为乘了一个负的系数-1/m,所以取 J(θ) J ( θ ) 最小值时的θ为要求的最佳参数。
梯度下降法求的最小值
θ θ 更新过程:
θj:=θj−α1m∑mi=1(hθ(xi)−yi)xji θ j := θ j − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i j
逻辑回归(Logistic Regression)经典实例