分类和回归(三)-逻辑回归

逻辑回归

1  二元逻辑回归

回归是一种很容易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病, 其中的望、闻、问、切就是获取的自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。最简单的回归是线性回归,但是线性回归的鲁棒性很差。

逻辑回归是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,其回归方程与回归曲线如下图所示。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0时,都不敏感。


750928.png

逻辑回归其实是在线性回归的基础上,套用了一个逻辑函数。上图的g(z)就是这个逻辑函数(或称为Sigmoid函数)。下面左图是一个线性的决策边界,右图是非线性的决策边界。


图片 1.png

对于线性边界的情况,边界形式可以归纳为如下公式(1):
图片 2.png

因此我们可以构造预测函数为如下公式(2):

555573.png

该预测函数表示分类结果为1时的概率。因此对于输入点x,分类结果为类别1和类别0的概率分别为如下公式(3)

200414.png

对于训练数据集,特征数据x={x1, x2, … , xm}和对应的分类数据y={y1, y2, … , ym}。构建逻辑回归模型f,最典型的构建方法便是应用极大似然估计。对公式(3)取极大似然函数,可以得到如下的公式(4):

76004.png

再对公式(4)取对数,可得到公式(5):
95288.png

最大似然估计就是求使l取最大值时的thetaMLlib中提供了两种方法来求这个参数,分别是梯度下降法L-BFGS



2  多元逻辑回归

二元逻辑回归可以一般化为多元逻辑回归用来训练和预测多分类问题。对于多分类问题,算法将会训练出一个多元逻辑回归模型, 它包含K-1个二元回归模型。给定一个数据点,K-1个模型都会运行,概率最大的类别将会被选为预测类别。

对于输入点x,分类结果为各类别的概率分别为如下公式(6),其中k表示类别个数。

45235.png
对于k类的多分类问题,模型的权重w = (w_1, w_2, ..., w_{K-1})是一个矩阵,如果添加截距,矩阵的维度为(K-1) * (N+1),否则为(K-1) * N。单个样本的目标函数的损失函数可以写成如下公式(7)的形式。

21456.png

对损失函数求一阶导数,我们可以得到下面的公式(8):

921165.png

根据上面的公式,如果某些margin的值大于709.78,multiplier以及逻辑函数的计算会出现算术溢出(arithmetic overflow)的情况。这个问题发生在有离群点远离超平面的情况下。 幸运的是,当max(margins) = maxMargin > 0时,损失函数可以重写为如下公式(9)的形式:

932124.png


同理,multiplier也可以重写为如下公式(10)的形式。

789025.png

3  逻辑回归的优缺点

  • 优点:计算代价低,速度快,容易理解和实现。
  • 缺点:容易欠拟合,分类和回归的精度不高。

4   实例

下面的例子展示了如何使用逻辑回归:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值