Logistic 回归

来源:互联网 发布:无忧推广软件骗局 编辑:程序博客网 时间:2024/06/03 08:43

原来以为logistic回归只是很简单,没什么的干货的算法,在看了吴恩达老师的深度学习网易公开课和同学的交流之后,发现这个是很多算法的基础,很重要,这里系统的记录一下学习心得:

1.logistc分布

随机变量X服从Logistic分布,即有分布函数和密度函数如下:

F(x)=P(Xx)=1e(xμ)/γ(1)

f(x)=F(x)=e(xμ)/γγ(1+e(xμ)/γ)(2)

两个函数的图如下:
这里写图片描述
图中μ=0,γ=1μ为位置参数,决定了对称点的位置,γ>0是形状参数,决定了压缩的形状。可以看到,分布函数就是常用的sigmoid函数,常用来作神经网络二分类的激活函数,将无穷范围内的输入x值压缩到(0,1)之间,提供了分类的概率。

2.二项Logistic回归模型

看名字是回归,其实这是个分类模型,由条件概率分布P(Y|X)表示,随机变量X为实值,Y为0或1:

P(Y=1|x)=ewx+b1+ewx+b=11+e(wx+b)(3)

P(Y=0|x)=11+e(wx+b)(4)

以上两个公式是从概率角度来看的,其实是只有一个公式P(Y=1|x),另外的P(Y=0|x)=1-P(Y=1|x),,所以我们只需要求公式3即可。所以供决策函数(Andrew NG)来看,所以目标属于Y=1类在特征x下的条件概率为:
hw(x)=g(wTx)=11+e(wTx+b)(5)

一个事件的几率是指该事件发生与不发生的概率比值。如果该事件发生概率为p,那么几率为p1p,取个对数logp1p,即为对数几率,对于Logistc回归而言,其对数几率为:
logP(Y=1|x)1P(Y=1|x)=wTx+b(6)

可以看出,Logistic回归就是一般线性回归的对数几率,这里本人的理解是将一般线性回归(预测的值范围是整个实域),通过sigmoid压缩到(0,1)之间,转化成概率。

3.参数估计

可以采用极大似然估计估计参数模型,给定数据集T={(x1,y1),(x2,y2),,(xn,yn)},设:P(Y=1|x)=π(x),P(Y=0|x)=1-π(x),则似然函数为:

i=1n[π(xi)]yi[1π(xi)]1yi(7)

公式7中,当yi=1时,后面的[1π(xi)]1yi为1;当yi=0时,前面的[π(xi)]yi为1。Logistc回归而言,算出样本属于1或者0的概率,哪一个概率大便取那个作为当前的结果,所以公式7可以看成n个样本的预测结果的概率的连乘,只不过每个样本都有两种结果,所以取个yi的指数将两者都cover到。取对数,对数似然函数为:
L(w,b)=i=1n[yilogπ(xi)+(1yi)log(1π(xi))]

L(w,b)=i=1n[yilogπ(xi)+(1yi)log(1π(xi))]

值得一提的是,在Andrew NG的公开课中,将Logistic回归的单个样本的Loss函数定义为:
L(w,b)=(yilogπ(xi)+(1yi)log(1π(xi)))

即传说中的log损失,整个样本集上的代价cost函数定义为J(w,b)=1mL(w,b)
这两者并不冲突,在上述极大似然函数中求得是似然函数的极大值,损失函数或者代价函数求得是最小值,只是多个1m的区别。
通常采用梯度下降(极大似然估计采用梯度上升)或者拟牛顿法求解Logistic回归最优化问题。

4.多项Logistic回归(softmax分类,多分类任务)

多项Logistic回归又名softmax分类器,针对多分类问题。假设要分的类有K个,{1,2,3,K},那么模型为:

P(Y=K|x)=11+K1k=1ewkx+bk

4.总结

个人的一点看法即为,给定数据样本X(特征向量),数据标签Y,机器学习(回归,分类)的本质是妄图找出数据样本与其标签的之间的关系。在Logistic回归中,模型认为X,Y服从Logistic分布,尽力用该分布来拟合数据样本和标签。那么logistic回归为什么使用Log损失作为其损失函数呢,我的理解是这样的:
logistic回归模型是一个概率模型,因为在描述该分类时,我们其实是以概率来衡量的。从Logistic曲线就能看出,无论横坐标取什么值,它的值总是在[0,1]之间变化,它的物理含义很明确,指单个样例,在条件x下,出现的【概率】。所有单个样本都对应于一个概率,用概率模型来描述这个分类过程就是:给定样本X,试图求出模型参数θ在该条件下的概率P(θ|X),有贝叶斯公式:

P(θ|X)=P(θ,X)P(X)=P(X|θ)P(θ)P(X)

对于模型本身来说,可以不看θ先验概率和样本X的概率,这样:
P(θ|X) P(θ,X)

要想最大化左边的P(θ|X),只需要最大化右边的P(X|θ),即
[π(xi)]yi[1π(xi)]1yi

这是针对单个样本而言,在每个样本出现的条件下θ的条件概率就是取每个样本的连乘值:
i=1n[π(xi)]yi[1π(xi)]1yi

这就是似然函数,取对数就是Log损失。

原创粉丝点击