二分类问题
逻辑回归是一个二分类问题。
二分类问题是指预测的y值只有两个取值(0或1),二分类问题可以扩展到多分类问题。例如:我们要做一个垃圾邮件过滤系统,xi是邮件的特征,预测的y值就是邮件的类别,是垃圾邮件还是正常邮件。对于类别我们通常称为正类(positive class)和负类(negative class),垃圾邮件的例子中,正类就是正常邮件,负类就是垃圾邮件。
逻辑回归
逻辑函数
将特征值输入一个函数,得到的结果非零即一。这个函数就是逻辑函数(或者说,阶跃函数),但这种函数在数学上不容易处理,所以使用一种类似的函数来代替—— Sigmoid 函数:
σ(z)=1+e−z1

横坐标尺度足够时,他就看起来像是一个阶跃函数
逻辑回归表达式
把特征值乘上相应的回归系数然后求和,扔进逻辑函数里面:
hθ(x)=σ(θTx)=1+e−θTx1
为了取消一些误差,令x0=1:
θTx=θ0+j=1∑nθjxj
θ0看起来就像是多项式中的常数项
逻辑回归的结果可以看作输入的x为正类的概率:
P(y=1∣x;θ)=hθ(x)P(y=0∣x;θ)=1−hθ(x)
上面的式子合并一下:
P(y∣x;θ)=(hθ(x))y(1−hθ(x))1−y
最大似然估计
为了求出一个比较合适的θ的值,需要使用梯度上升的算法来求解。
最大似然函数
如果已经有了样本集,那么可以寻找使得样本集出现的概率最大的θ作为θ的估计。
因为样本X1...Xn相互独立且服从相同的分布,那么样本的联合概率密度函数为:
L(x1...xn;θ1...θk)=i=1∏nf(xi,θ1...θk)
当样本值固定的时候,他就是θ1...θk的函数,仍然把这个函数记为:
L(θ1...θk)=i=1∏nf(xi,θ1...θk)
并称它为似然函数。
就像本小节开头说的一样,我们需要选择使L(θ1...θk)最大的 θ 作为真 θ 的估计。
求解最大似然估计
对于两个给出的 θ1,θ2,如果L(θ1)>L(θ2),那么从L(θ)是概率密度函数的角度来看,θ1 能让样本 X 出现的可能性更大,所以,求出 θ 的最大似然估计实际是求 L(θ) 的最大值,由于对数函数是单调增函数,所以 log(L(θ)) 与 L(θ) 具有相同的最大值点,而且,在许多情况下,对数函数求最大值比较简单,所以我们只要求出 log(L(θ)) 的最大值点即可。
上一节中提到的概率密度函数的似然函数就是:
L(θ)=p(y∣X;θ)=i=i∏mp(yi∣xi;θ)=i=i∏m((hθ(x))yi(1−hθ(xi))1−yi)
对似然函数取 log:
log(L(θ))=i=1∑myilogh(xi)+(1−yi)log(1−h(xi))
使用梯度上升求解最大似然估计

上图形象的说明了梯度上升在做的事:给定初始的 θ 值,并规定一个步进长度 α,那么梯度就是 ∂θ∂log(L(θ))∙α 他的含义是指向数值更大的等值线的一个单位向量,因为:
∂θ∂log(L(θ))=(yi−hθ(xi))xi
所以 θ 的迭代表达式就是:
θ:=θ+α(yi−hθ(xi))xi
参考
数学基础:http://www.cnblogs.com/gaoshangbing/articles/1709636.html
算法详解:http://www.cnblogs.com/BYRans/p/4713624.html