逻辑回归

第11节逻辑回归 (Logistic Regression)|机

2018-07-26  本文已影响205人  努力奋斗的durian

文章转载自Google,最近更新:2018-07-26

Google上线了一个“机器学习速成课程”,英文简称MLCC。这个课程节奏紧凑、内容实用。课程基本可以全程中文(包括视频),免费,并且有相关的练习.

如果可以翻墙的小伙伴,可以看看,链接如下:机器学习速成课程

具体内容如下:

1.逻辑回归 (Logistic Regression):计算概率

许多问题需要将概率估算值作为输出。逻辑回归是一种极其高效的概率计算机制。实际上,您可以通过下两种方式之一使用返回的概率:

我们来了解一下如何“按原样”使用概率。假设我们创建一个逻辑回归模型来预测狗在半夜发出叫声的概率。我们将此概率称为: p(bark | night)

如果逻辑回归模型预测 p(bark | night) 的值为 0.05,那么一年内,狗的主人应该被惊醒约 18 次:
startled = p(bark | night) * nights
18 ~= 0.05 * 365

在很多情况下,您会将逻辑回归输出映射到二元分类问题的解决方案,该二元分类问题的目标是正确预测两个可能的标签(例如,“垃圾邮件”或“非垃圾邮件”)中的一个。之后的单元会重点介绍这一内容。

您可能想知道逻辑回归模型如何确保输出值始终落在 0 和 1 之间。巧合的是,S 型函数生成的输出值正好具有这些特性,其定义如下:

S 型函数会产生以下曲线图:


图 1

图 1:S 型函数。

如果 z 表示使用逻辑回归训练的模型的线性层的输出,则 S 型(z) 函数会生成一个介于 0 和 1 之间的值(概率)。用数学方法表示为:


其中:

请注意,z 也称为对数几率,因为 S 型函数的反函数表明,z 可定义为标签“1”(例如“狗叫”)的概率除以标签“0”(例如“狗不叫”)的概率得出的值的对数:



以下是具有机器学习标签的 S 型函数:

图 2:逻辑回归输出

以下内容是逻辑回归推断计算,具体如下:
假设我们的逻辑回归模型具有学习了下列偏差和权重的三个特征:

进一步假设给定样本具有以下特征值:

因此,对数几率:


将是: (1) + (2)(0) + (-1)(10) + (5)(2) = 1

因此,此特定样本的逻辑回归预测值将是 0.731:


图 3:73.1% 的概率

关键字词

1)二元分类 (binary classification)
一种分类任务,可输出两种互斥类别之一。例如,对电子邮件进行评估并输出“垃圾邮件”或“非垃圾邮件”的机器学习模型就是一个二元分类器。

2)逻辑回归 (logistic regression)
一种模型,通过将 S 型函数应用于线性预测,生成分类问题中每个可能的离散标签值的概率。虽然逻辑回归经常用于二元分类问题,但也可用于多类别分类问题(其叫法变为多类别逻辑回归多项回归)。

3)S 型函数 (sigmoid function)
一种函数,可将逻辑回归输出或多项回归输出(对数几率)映射到概率,以返回介于 0 到 1 之间的值。S 型函数的公式如下:


逻辑回归问题中,σ 非常简单:

换句话说,S 型函数可将 σ 转换为介于 0 到 1 之间的概率。在某些神经网络中,S 型函数可作为激活函数使用。

2.模型训练

逻辑回归的损失函数

线性回归的损失函数是平方损失。逻辑回归的损失函数是对数损失函数,定义如下:



其中:

对数损失函数的方程式与 Shannon 信息论中的熵测量密切相关。它也是似然函数的负对数(假设“y”属于伯努利分布)。实际上,最大限度地降低损失函数的值会生成最大的似然估计值。

逻辑回归中的正则化

正则化在逻辑回归建模中极其重要。如果没有正则化,逻辑回归的渐近性会不断促使损失在高维度空间内达到 0。因此,大多数逻辑回归模型会使用以下两个策略之一来降低模型复杂性:

(我们会在之后的单元中讨论第三个策略,即 L1 正则化。)

假设您向每个样本分配一个唯一 ID,且将每个 ID 映射到其自己的特征。如果您未指定正则化函数,模型会变得完全过拟合。这是因为模型会尝试促使所有样本的损失达到 0 但始终达不到,从而使每个指示器特征的权重接近正无穷或负无穷。当有大量罕见的特征组合且每个样本中仅一个时,包含特征组合的高维度数据会出现这种情况。

幸运的是,使用 L2 或早停法可以防止出现此类问题。

总结:

  • 逻辑回归模型会生成概率。
  • 对数损失函数是逻辑回归的损失函数。
  • 逻辑回归被很多从业者广泛使用。
关键字词

1)早停法 (early stopping)
一种正则化方法,涉及在训练损失仍可以继续减少之前结束模型训练。使用早停法时,您会在基于验证数据集的损失开始增加(也就是泛化效果变差)时结束模型训练。

2)对数损失函数 (Log Loss)
二元逻辑回归中使用的损失函数。

3)L2 损失函数 (L₂ loss)

请参阅平方损失函数

3)L2 正则化 (L₂ regularization)

一种正则化,根据权重的平方和来惩罚权重。L2 正则化有助于使离群值(具有较大正值或较小负值)权重接近于 0,但又不正好为 0。(与 L1 正则化相对。)在线性模型中,L2 正则化始终可以改进泛化。

4)L1 正则化 (L₁ regularization)

一种正则化,根据权重的绝对值的总和来惩罚权重。在依赖稀疏特征的模型中,L1 正则化有助于使不相关或几乎不相关的特征的权重正好为 0,从而将这些特征从模型中移除。与 L2 正则化相对。

上一篇下一篇

猜你喜欢

热点阅读