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)$

也可以写成

\[P(y|x;\theta)=[h_{\theta}(x)]^{y}[1-h_{\theta}(x)]^{1-y} \]

问题就转化为了伯努利分布的参数估计,这里可以应用极大似然法估计,得到似然函数为

\[L(\theta)=\prod_{i=1}^{N}{[h_{\theta}(x)]^{y_i}[1-h_{\theta}(x)]^{1-y_i}} \]

如果要使用《机器学习实战》里说的梯度上升法,就要求得似然函数取得极大值时\(\theta\)的取值,而梯度下降法,就是把负似然函数看成机器学习中常说的损失函数,使得负似然函数最小化。

取对数似然函数

\[ln(L(\theta))=\sum_{i=1}^{N}[{y^{(i)}ln(h_{\theta}(x^{(i)}))}+(1-y^{(i)})ln(1-h_{\theta}{(x^{(i)})})] \]

为了求得对数似然函数的极大值,有

$\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)}$$
posted @ 2018-03-19 11:21  Yinhongyu  阅读(277)  评论(0编辑  收藏  举报