逻辑回归Logistic Regression (LR)

LR 的模型函数记作:,其在二维坐标系中图像如下:

sigmoid函数

因为形如S曲线,所以,逻辑函数sigmoid函数又称为S函数。
Sigmod 这样一个奇怪而别扭的形式到底是谁、因为什么想出来的呢?又怎么想到用它来做分类的呢?

1. sigmoid函数的由来

最初为了研究人口增长与时间的关系,人们发明了逻辑函数。马尔萨斯的人口论中“在没有任何外界阻碍的情况下,人口将以几何级数增长”的说法,正是依据指数模型。
但是,自然界中当一种东西数量越来越多以后,某种阻力也会越来越明显地抑制其增长率。因此,数学家增加了抑制参数,模型被修正为:
,表示增长率,表示抑制函数,当达到一定程度后成长率受到抑制。
经过多次调整得到了具有此逻辑特性的函数:

其增长率二维坐标图像如下:

sigmoid导数图像

可以看出增长率先变高,后变低的规律。
上面讲了 LR 函数的历史,一方面可以看出 LR 函数从最初的指数函数形式逐步发展到今天的历程,在追本溯源的过程中由简入繁掌握函数的形式和意义。
另一方面,也是以 LR 函数的形成作为实际案例,来学习借助数学工具解决问题的方法:

首先,将目标问题定义为一个函数;
之后,选取最简单的假设作为其具体形式;
然后,用事实数据验证该形式,确认有效后沿用,形成数学模型;
一旦当前采用的数学模型出现问题,则对其进行修正(添加修正项),同样借助事实数据来求取修正项的形式,形成新的(升级版)数学模型。

直接、简单、基于现有成果——这也是人类在现实当中解决问题的各种有效方法的共同特征。
虽然随着新技术的发展,具体的新问题不断涌现,但实际上,技术发展的过程,整体而言是把问题的“量”扩大化的过程。
如果抽象层次更高一些,我们就不难发现,这些问题其实和以往的问题有许多共性所在。其实,新问题不过是旧问题在新情况、新场景下的变形而已。
既然如此,那些已经在实践中证明对于旧问题有效的方法、措施,也必然能够对解决新问题有所贡献。

sigmoid函数

上图中,z 是自变量(横轴),最终计算出的因变量 y(纵轴),则是一个 [0,1] 区间之内的实数值。
一般而言,当
时,z 被归类为真(True)或阳性(Positive),否则当
时,z 被归类为假(False)或阴性(Negative)。
所以,在模型输出预测结果时,不必输出 y 的具体取值,而是根据上述判别标准,输出1(真)或0(假)。
因此,LR 典型的应用是二分类问题上,也就是说,把所有的数据只分为两个类。

2.LR 目标函数

有了模型函数,来看看逻辑回归的目标函数。
逻辑函数 是我们要通过训练得出来的最终结果,模型的未知参数时θ。训练过程我们要设置一个目标:我们希望这个最终得出的 θ 达到一个什么样的效果——我们当然是希望得出来的这个 θ,能够让训练数据中被归为阳性的数据预测结果都为阳,本来被分为阴性的预测结果都为阴。
而从公式本身的角度来看,h(x) 实际上是 x 为阳性的分布概率,所以,才会在 时将 x 归于阳性。也就是说 。反之,样例是阴性的概率 。
当我们把测试数据带入其中的时候,P(y=1) 和 P(y=0) 就都有了先决条件,它们为训练数据的 x 所限定。因。
根据二项分布公式,可得出

假设训练集一共有 m 个数据,那么这 m 个数据的联合概率就是:

目标是这个联合概率值取最大值的θ求解,因此可以取log,化简为如下形式:

为了统一,需要目标函数是一个凸函数,具备最小值。因此我们设定:

3.优化算法

LR 的目标函数 J(θ),并且优化目标是最小化它。最常见最基础的梯度下降算法。

基本步骤如下:

  • 通过对 J(θ) 求导获得下降方向即梯度方向—— J′(θ);
  • 根据预设的步长 α,更新参数 ;
  • 重复以上两步直到逼近最优值,满足终止条件。

优化算法伪代码为:
Set initial value: θ = 0, α
while (not convergence){

}

你可能感兴趣的:(逻辑回归Logistic Regression (LR))