Logistic Regression逻辑回归
逻辑回归
针对二分类问题,若X是特征集合,Y是类别标签(0,1),假设Y的取值服从伯努利分布,即(式1)
$P(Y=0|X)=1-p$ $P(Y=1|X)=p$
再假设p是可以由已知的特征集合X预测的,令(式2) $$p=\frac{1}{1+e^{-{\theta}^{T} x}}=h_{\theta}(x)$$ 因此,只要求得$\theta$,对一个新的样本点,就可以算出$p$,然后取$p$取值较大的那个类别,就得到了分类的结果。那么这个$\theta$怎么求呢?将式2代入式1,有
$P(Y=0|X)=1-h_{\theta}(x)$ $P(Y=1|X)=h_{\theta}(x)$
也可以写成
问题就转化为了伯努利分布的参数估计,这里可以应用极大似然法估计,得到似然函数为
如果要使用《机器学习实战》里说的梯度上升法,就要求得似然函数取得极大值时\(\theta\)的取值,而梯度下降法,就是把负似然函数看成机器学习中常说的损失函数,使得负似然函数最小化。
取对数似然函数
为了求得对数似然函数的极大值,有
$\frac{\partial(ln(L(\theta))) }{\theta_j}=\sum_{i}^{N}[y^{(i)}\frac{1}{h_{\theta}{(x^{(i)})}}\frac{\partial{h_{\theta}{(x^{(i)})}}}{\theta_j}+(1-y^{(i)})\frac{1}{1-h_{\theta}{(x^{(i)})}}\frac{\partial{h_{\theta}{x^{(i)}}}}{\partial{\theta_j}}]$ $=\sum_{i=1}^{N}[y^{(i)}\frac{1}{h_{\theta}{(x^{(i)})}}+(1-y^{(i)})\frac{1}{1-h_\theta{(x_i)}}]\frac{\partial{h_{\theta}{(x^{(i)})}}}{\partial{\theta_j}}$ $=\sum_{i=1}^{N}[y^{(i)}\frac{1}{h_{\theta}{(x^{(i)})}}+(1-y^{(i)})\frac{1}{1-h_\theta{x^{(i)}}}]h_\theta{(x^{(i)})}(1-h_\theta{(x_i)})x_j^{(i)}$ $=\sum_{i=1}^{N}[y^{(i)}-h_\theta{(x^{(i)})}]x_j^{(i)}$
由此便得到了$\theta$的更新公式 $$\theta_j:=\theta_j+\alpha\sum_{i=1}^{N}[y^{(i)}-h_\theta{(x^{(i)})}]x_j^{(i)}$$