逻辑回归的前因后果

逻辑回归的前因后果

这里写图片描述

LR的泛化形式 – 广义线性模型

最简单的线性回归模型,函数对于xw都是线性的:

y(x)=wTx+w0

它是二维坐标系中的一条直线,或者三维空间中的一个平面,在高维空间则是超平面。为了把它用于分类,可以给它加一个激活函数,把值域压缩到小区间,比如(0, 1)之间,这就是广义线性模型:
y(x)=f(wTx+w0)

当激活函数是logistic-sigmoid函数时,这个分类方法就是LR:
p(C1|ϕ)=σ(wTϕ)

从回归方法演化而来,LR虽用于分类,它的输出却不是{0,1}两类,而是一个连续的函数,所以名字还叫“回归”而不是“分类”。

为什么用logistic-sigmoid函数

首先,LR是判别模型,即它直接求后验概率,那么想象一下,一个只有两类的后验概率应该是什么形状

用例子说明,假设男女比例相等,男女两类的先验概率:p(男人)=1/2,p(女人)=1/2

现在给先验概率加一个条件:身高,即知道一个人的身高,猜它是男的概率,是女的概率。高个子通常是男的,但也可能是女的。在各种不同身高条件下,有了一系列后验概率

p(男|150)=1/8 | p(男|160)=1/5 | p(男|170)=1/2 | p(男|180)=4/5 | p(男|190)=7/8
p(女|150)=7/8 | p(女|160)=4/5 | p(女|170)=1/2 | p(女|180)=1/5 | p(女|190)=1/8

如下图,后验概率就应该是比较平缓的S形:

这里写图片描述

我们就照这个形状去找,发现sigmoid很合适。当然S形函数不只它一个,比如用-1和1表示两类时,常用的tanh,也可以用于拟合后验概率。

但是理由不止于此,logistic-sigmoid其实来源于条件概率(class-conditional)符合协方差相同的高斯分布的假设。在生成模型中,假设各个类内的分布,即class-conditional符合高斯分布,且协方差矩阵相等,推导可知,高斯分布中x的2次幂抵消,成为sigmoid激活函数中的线性函数。

当我们训练w时我们在训练什么

后验概率公式最外层是个sigmoid,它形状固定不变,但是从不同尺度看上去效果会不一样,小尺度分类模糊,大尺度分类明确,形状不变,只是观感不同,如下图,(a)图其实只是(b)图的局部放大。

对于输入x,如果我们训练得到的是一个很小的w,那么sigmoid函数的每个输入 wTx 都很小,整个数据集区分效果如(a)图;如果我们训练得到的是一个很大的w,数据集区分效果如(b)图。

这里写图片描述

比如通过身高x判断性别,区分度就不高,训练得到的参数w很小,而对于完全可分数据,训练得到的w就很大,近似阶跃函数。样本较少时,可能遇到完全可分的情况,容易出现过拟合。

理解 wTϕ

wTϕ 不考虑x的非线性,即 wTx ,以二维面上的两类样本为例,样本平面就是 x1 , x2 扩展成的平面, z=wTx 是面上的点到样本平面的投影距离,当z=0,即 wTx=0 是样本平面和取值平面的交线,对应样本的判别函数。
这里写图片描述

交叉熵or最小二乘

线性回归用最小二乘(LS)做参数估计,它是最大似然估计(MLE)的一种特殊形式,LS比MLE多一个额外条件:误差符合高斯分布,LS形如 L=12(yt)2 ,此处t只能取0,1,而估计值y却是连续的,离散值和连续值的差不能很好的描述误差值,LS不适合逻辑回归。

交叉熵损失函数是用MLE推导得来(参考PRML 4.3.2):

L=(tlny+(1t)ln(1y))

它有两个和项,分别对应t的两个离散值,这样就没有离散值和连续值求差的问题了,直觉理解,y越接近t,损失越小:

当t=1,若要最小化 L=lny ,就需要最大化 y,y(0,1) ,就期望 y 尽量等于1。

当t=0,若要最小化L=ln(1y),就需要最小化 y,y(0,1) ,就期望 y 尽量等于0。

此处交叉熵损失函数是从MLE推导的,其实也可以直接去理解它的定义(可以参考cross-entropy )它可以表示两个概率分布的距离。

牛顿法vs梯度下降

由于sigmoid引入了非线性,似然函数没有解析解,可以使用梯度下降或这牛顿法。

梯度下降用一阶导数,找到最陡的斜坡,滚下去。

牛顿法用二阶导数,求一阶导数f(x)的根,想象二维坐标系中的曲线, f(x1) 是曲线某点的切线,二阶导数可以求得切线与x轴的交点,即 f(x) 的根,作为迭代的下一个值。可参考wiki上的动图演示。

梯度下降计算量少,迭代次数多,对函数的连续性、平滑性要求低;牛顿法计算要用海森矩阵,计算量大,但收敛快,由于二阶导数,对函数的连续性、平滑性要求更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值