APP下载

机器学习速成分类演算法:逻辑回归(Logistic回归)

消息来源:baojiabao.com 作者: 发布时间:2024-05-17

报价宝综合消息机器学习速成分类演算法:逻辑回归(Logistic回归)

大家好,今天我们学习【机器学习速成】之 分类算法: 逻辑回归(Logistic 回归)。

逻辑回归会生成一个介于 0 到 1 之间的概率值。

我们 马上学三点

线性回归的不足;什么是逻辑回归;逻辑回归的损失和正则化;大家可以点选下面的“ 了解更多 ”,或搜寻“ 马上学123 ”,线上观看PPT讲义。

线性回归的不足

先思考一个问题: 我们使用有点略微弯曲的硬币, 来做抛硬币的实验, 猜测丢掷硬币后正面朝上的概率。

抛硬币的实验

我们可能会分析硬币的弯曲角度、 硬币的质量等特征, 综合所有的这些特征,建立一个算法模型。

最简单的模型就是线性回归模型, 我们会计算每个特征对是否正面朝上的影响权重, 综合后输出一个预测分数, 这个预测分数可能刚好在0到1之间。 把这个分数划分好阈值, 就可以预测硬币是否正面朝上。

但是,可能会出现一些奇怪的情况, 例如: 如果我们预测的新硬币, 它的质量非常大,或者弯曲角度非常大, 那么,得到的预测分数可能就不在0到1范围内, 这样的概率值就非常奇怪, 当我们需要把概率相乘、计算期望值时, 概率值必须介于0到1之间,

或许我们可以给预测分数设定上限, 忽略这些离群值。 但是我们模型中引入了偏差, 要训练模型就不能这么做。

因此,我们想出一种略微不同的损失函式和预测方法, 我们的概率能自然的对映到0到1之间的值, 绝对不会超出这个范围。 这种方法就是逻辑回归

逻辑回归

逻辑回归是一种非常实用的预测方法, 我们可以通过这种方法获得校准过的概率估算, 你可以通过两种方式使用返回的概率:

按“原样”使用概率: 比如我们预测狗在半夜发出叫声的概率, 模型预测0.1, 那么一年内狗主人应该被惊醒约37次(0.1*365=37)。转换成二元分类: 这在分类任务中非常有用, 分类的目标是正确预测两个可能的标签, 比如模型输出某封电子邮件是垃圾邮件的概率, 我们就可以确实标签“垃圾邮件”或“非垃圾邮件”。

逻辑回归的工作原理

我们来了解一下逻辑回归的工作原理, 你可能想知道逻辑回归模型 如何确保输出值始终落在0到1之间, 巧合的是, Sigmoid函式生成的输出值刚好具有这些特性, 如图是Sigmoid函式的公式和图形:

Sigmoid函式

Sigmoid函式是一个S型的曲线

Sigmoid函式是一个S型的曲线, 接下来我们就叫S型函式, S型函式几个特点:

它的取值在0到1之间,由于存在渐近线, 它的值绝不会是0或1。在远离0的地方, 函式值会很快接近0或者1, 这个特性对于解决二分类问题十分重要。

逻辑回归的工作原理

我们准备好熟悉的线性回归模型:

线性回归模型

然后对其应用S型函式, z 表示使用逻辑回归训练的模型 的线性层的输出。 最终生成一个介于0到1之间的概率。

可以看出, 逻辑回归其实仅线上性回归的基础上, 套用了一个S型函式。

S型函式

y' 是逻辑回归模型针对特定样本的输出。z 是线性层: 'b + w1x1 + w2x2 + … wNxN' ,其中 w是权重,b是偏差,x是特征值。z 也称为对数概率, 因为 S 型函式的反函式表明, z 可定义为标签“1”(例如“垃圾邮件”)的概率 除以标签“0”(例如“非垃圾邮件”)的概率得出的值的对数:

对数概率

对数损失函式

在训练时, 我们使用的是不同的损失函式, 线性回归使用的损失函式是平方损失, 平方损失在这种情况下就不太合适了。

我们逻辑回归的损失函式是对数损失函式:

对数损失函式

(xy)ϵD 是包含很多有标签样本 (x,y) 的资料集。y是有标签样本中的标签。由于这是逻辑回归,因此y的每个值必须是 0 或 1。y' 是对于特征集x的预测值(介于 0 和 1 之间)。对数损失函式也称为交叉熵, 这是信息论中的熵测量概念。

我们这里不详细讲解数学知识, 我们看图:

对数损失函式

看其中的一个目标值, 预测值偏大越大,损失也就越大, 而且变化速度也非常惊人, 我们再次看到了渐近线的作用。

逻辑回归和正则化

由于这些渐近线的存在, 我们需要将正则化纳入学习中。

如果没有正则化, 逻辑回归的渐近性会促使 损失在高维度空间内达到 0。

模型会过拟合训练集, 努力让这些损失接近0。

大多数逻辑回归模型会使用 以下两个策略之一来降低模型复杂性:

L2 正则化, 也称为 L2 权重衰减,用于降低超大权重。早停法,用于限制训练步数或学习速率。L2正则化在这里会非常实用, 它可以确保我们的权重不会严重失衡。

我们为什么喜欢线性逻辑回归?

一方面是因为, 它的速度非常快, 能够非常高效地进行训练和预测。

因此, 如果我们需要一种方法来很好地扩充套件到庞大的资料, 或者需要将某种方法用于延迟时间极短的预测, 那么线性逻辑回归可谓理想之选。

如果我们需要使用非线性逻辑回归, 则可以通过新增特征交叉乘积来实现。

总结:

逻辑回归可以获得校准过的概率估算;S型的曲线,取值在0到1之间;逻辑回归线上性回归的基础上,套用了一个S型函式;逻辑回归的渐近性会促使损失在高维度空间内达到 0,需要正则化;这里讲了三点,关键词有哪几个?

问题:sigmoid和softmax 有什么区别?

欢迎回复评论

2019-11-02 18:56:00

相关文章