逻辑回归Logistic Regression (LR)

LR 的模型函数记作:h(X) = \frac{1}{1+e^{-\theta^{T}X}},其在二维坐标系中图像如下:

sigmoid函数

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

1. sigmoid函数的由来

最初为了研究人口增长与时间的关系,人们发明了逻辑函数。马尔萨斯的人口论中“在没有任何外界阻碍的情况下,人口将以几何级数增长”的说法,正是依据指数模型W(t) = ae^{bt}
但是,自然界中当一种东西数量越来越多以后,某种阻力也会越来越明显地抑制其增长率。因此,数学家增加了抑制参数,模型被修正为:
W^{'}(t) = bW(t) - g(W(t))W^{'}(t)表示增长率,g(W(t))表示抑制函数,当达到一定程度后成长率受到抑制。
经过多次调整得到了具有此逻辑特性的函数:
h(X) = \frac{1}{1+e^{-\theta^{T}X}}
其增长率二维坐标图像如下:

sigmoid导数图像

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

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

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

sigmoid函数

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

2.LR 目标函数

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

假设训练集一共有 m 个数据,那么这 m 个数据的联合概率就是:
L(\theta) = \prod_{1}^{m}P(y^{(i)}|x^{(i)};\theta)= \prod_{1}^{m}(h_{\theta}(x^{(i)})^{y^{(i)}}(1-h_{\theta}(x^{(i)})^{(1-y^{(i)}\ )} \ )
目标是这个联合概率值取最大值的θ求解,因此可以取log,化简为如下形式:
l(\theta)=log(L(\theta)) = \frac{1}{m}\sum_{i=1}^{m}(y_{i}logh_{\theta}(x_{i})+(1-y_{i})log(1-h_{\theta}(x_{i})))
为了统一,需要目标函数是一个凸函数,具备最小值。因此我们设定:
J(θ)=−l(θ)

3.优化算法

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

基本步骤如下:

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

优化算法伪代码为:
Set initial value: θ = 0, α
while (not convergence){
θ_{j}:=θ_{j} - α\sum_{i=1}^{m}(-(y^{(i)}−h_{θ}(x^{(i)}))x_{j}^{(i)})
}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容