机器学习入门(九):逻辑回归——非线性逻辑函数的由来

逻辑回归

今天我们要讲的模型叫做 Logistic Regression (LR),一般翻译为逻辑回归。

LR 是一种简单、高效的常用分类模型——有点奇怪是吧,为什么名字叫做“回归”却是一个分类模型,这个我们稍后再讲。先来看看这个 LR 本身。

LR 的模型函数记作:y=h(x),具体形式如下:

hθ(x)=11+e−θTx

对应到一元自变量的形式为:

h(x)=11+e−(a+bx)

设 z=a+bx,则:

h(z)=11+e−z

这样的一个函数被称为逻辑函数,它在二维坐标中的表现是这样的:

enter image description here

因为表现为 S 形曲线,所以逻辑函数又被称为 Sigmoid 函数(S 函数)。

Sigmoid 这样一个奇怪而别扭的形式到底是谁、因为什么想出来的呢?又怎么想到用它来做分类的呢?

罗马不是一天建成的,Sigmoid 函数也不是一天形成的。

说起来,逻辑回归的历史相当悠久,迄今大概已经有200年。它的前身,则在18世纪就已经出现了。

18世纪,随着工业革命的深入;世界经济、科技的发展;美洲的发现,以及随之而来的大移民和北美人口迅猛增长……各个学科对于统计学的工具性需求越来越强烈。

到了19世纪,为了研究人口增长以及化学催化反应与时间的关系,人们发明了逻辑函数。

指数增长

最初,学者们将人口(或者化合物)数量与时间的函数定义为 W(t) —— 其中自变量 t 表示时间, W(t) 表示人口/化合物数量。

W(t) 表示的是存量,则 W(t) 对 t 求微分的结果 W′(t) 就代表了人口/化合物的增长率。

因此增长率函数 W′(t)=dW(t)dt。

最简单的假设是:W′(t) 与 W(t) 成正比,也就是有:W′(t)=bW(t)。

我们知道指数函数 f(x)=ex 的微分函数还是 ex。因此,很自然地,将指数函数引入其中,则有:

W(t)=aebt

注意:有时,a 也可以替换成初始值 W(0)。它在二维坐标中的表现大致如下:

enter image description here

用 W(t)=aebt 去为一个新生国家(比如美国)的人口增长建模,在该国历史的早期被证明是可以有效描述那段时间内的人口增长状况的。

马尔萨斯人口论中“在没有任何外界阻碍的情况下,人口将以几何级数增长”的说法,正是依据这样一个模型。

逻辑函数

对指数增长的修正

到了19世纪早期,开始有数学家、统计学家质疑 W(t)=aebt 模型——任何事物,如果真的按照几何级数任意增长下去,都会达到不可思议的数量。

但是,根据我们的经验,在自然界中,并没有什么东西是在毫无休止地增长的。当一种东西数量越来越多以后,某种阻力也会越来越明显地抑制其增长率。

比利时数学家 Verhulst 给出了一个新的模型:

W′(t)=bW(t)−g(W(t))

其中,g(W(t)) 是以 W(t) 为自变量的函数,它代表随着总数增长出现的阻力。

修正项的具体形式

Verhulst 实验了几种不同形式的阻力(Resistance)函数,当阻力函数表现为 W(t) 的二次形式时,新模型显示出了它的逻辑性。

因此,新模型的形式可以表示为:

W′(t)=bW(t)(1–W(t)L)

其中 L 表示 W(t) 的上限。

这样,增长就与总量、目前总量与最终上限的差 L–W(t) 两者成比例了。

我们设:

P(t)=W(t)L

则有:

P′(t)=bP(t)(1–P(t))

上式是一个一阶自治微分方程(Autonomous Differential Equations),我们求解这个微分方程,得出:

P(t)=e(a+bt)1+e(a+bt)

也就是:

P(t)=11+e−(a+bt)

将 t 替换为 x,P 替换为 h 就是:

h(x)=11+e−(a+bx)

这也是逻辑函数,在二维坐标中的形式如下:

enter image description here

用逻辑函数来描述人口增长的情况,直观上:起初阶段大致是指数增长,随着总量增长,逐渐趋于饱和,增加变慢;最后,达到成熟时增长趋停。

逻辑分布

请注意,逻辑函数表示的是存量随时间增长渐增的关系。

而增长率与时间的关系,则是前面讲过的,是存量(逻辑函数)的微分函数:

enter image description here

它的图形是:

enter image description here

从此图更容易看出增长率先变高,后变低的规律。

而且,从形状上看,逻辑分布函数的曲线,还有点像正态分布的倒钟形曲线——实际应用中,逻辑分布在某些领域和场合,曾经被用来作为正态分布的替代。

逻辑函数的通用形式

上面两幅图反映的都是 x 为一维的情况。当 x 为多维时,a+bx 用两个向量相乘—— θTx ——表示,于是逻辑函数就有了如下形式:

hθ(x)=11+e−θTx

追本溯源的理论学习

上面我们讲了 LR 函数的历史,一方面是为了让大家追随 LR 函数从最初的指数函数形式逐步发展到今天的历程,在追本溯源的过程中由简入繁掌握函数的形式和意义。

另一方面,也是以 LR 函数的形成作为实际案例,来学习借助数学工具解决问题的方法

  • 首先,将目标问题定义为一个函数;

  • 之后,选取最简单的假设作为其具体形式;

  • 然后,用事实数据验证该形式,确认有效后沿用,形成数学模型;

  • 一旦当前采用的数学模型出现问题,则对其进行修正(添加修正项),同样借助事实数据来求取修正项的形式,形成新的(升级版)数学模型。

直接、简单、基于现有成果——这也是人类在现实当中解决问题的各种有效方法的共同特征。

我们现在新面临的问题,有些此时尚未得到理想的 Solution。它们最终的解决,也必然遵循“直接、简单、基于现有成果”的原则。

“直接、简单”还比较抽象,但“现有成果”却是看得见摸得着的。

虽然随着新技术的发展,具体的新问题不断涌现,但实际上,技术发展的过程,整体而言是把问题的“量”扩大化的过程。

如果抽象层次更高一些,我们就不难发现,这些问题其实和以往的问题有许多共性所在。其实,新问题不过是旧问题在新情况、新场景下的变形而已。

既然如此,那些已经在实践中证明对于旧问题有效的方法、措施,也必然能够对解决新问题有所贡献。

还有,当一个方法应用到实践中去之后,在最初阶段有效是一种经验,随着经验的积累,研究者的深入探索,经验是有可能被提升为理论的。

理论相对于经验,更加清晰可描述、可解释;抽象层次更高,通用性更强,可以被应用到更广泛的领域。学习理论相对于学习经验具备更长久也更深入的有效性。

这也就是时至今日我们还要学习几千年前的几何定理、几百年前的物理化学定律的缘故。

机器学习就是这样一套已经逐步在形成理论的方法。相比而言,更新的深度学习还处在经验阶段。

尽管今时今日从媒体传播的角度来看,深度学习是一个更热门的领域,对比起来,似乎机器学习“过时了”,“没用了”。

但在解决人们的实际问题上,机器学习的应用远比深度学习广泛、深入、可控。

而且,机器学习是深度学习的基础。如果连最简单的机器学习模型都没有掌握,又怎么可能了解深度神经网络的原理和运作?

如果连 How it works 都不知道,就拿来当黑盒使用,那么无论是什么工具,你对它的应用就变成了“按一下电钮”那么简单,你个人的价值又如何体现呢?

在此加入这样一个小节,是希望大家能够借助实例认识到理论学习的意义和作用,从而端正学习态度。

线性 VS 非线性

对照我们之前讲过的线性函数的定义,可知:逻辑函数是非线性函数

自变量与因变量的线性关系和非线性关系,到底到怎么理解呢?

最直观的理解,就是将自变量和因变量带入对应维度的坐标系中,在对应值“描点”,然后看看这些点组成的图形。

  • 线性:二维坐标系中的直线,三维坐标系中的平面……

  • 非线性:二位坐标中的曲线(严格的来讲,直线也是一种特殊的曲线,但为了方便而言,我们在此处用“曲”来指代“非直”。“非直”包括“弯曲”,也包括 ReLU 函数这种“一段段拼接的线段”);三维坐标中的曲面……

换一个角度而言,线性关系表达的是一种相关性

根据线性关系,通过既往数据获知:不同的事物在多大程度上可能共同发生。以此为依据来判断:未来,在某些事物(自变量)发生后,另一些事物(因变量)是否会发生。

线性回归因其简单、容易理解、计算量低等特点,而在现实中得到了广泛应用(基本上,任何事情,上来先做个线性回归,即使无法得出结论,也不会消耗太多资源)。

但是,相关不等于因果。两件事会同时发生,并不是说它们之间就有因果关系。还有许许多多的情况无法用简单的相关来模型化。在这些情况下,线性模型往往无法揭示自变量和因变量的关系。

由于线性模型的明显局限,许多研究者把焦点转向了非线性模型。不过非线性模型对于计算量的需求远大于线性模型。对于资源的大量需求在一定程度上限制了非线性模型的应用。

有时候,一个问题用线性模型,能够得到一个七八十分、“尚且可用”的解决方案;应用非线性模型则能得到九十分,甚至九十五分的优质解决方案。但后者耗费过于巨大,导致你无法承受。很可能你宁可选一个还能用但“便宜”的,去追求性价比,而不是追求高质量。

当然,随着计算机硬件和分布式系统、分布式计算的发展,运算能力也在飞速发展。相应的,非线性模型的应用场景也越来越多。不过质量和资源的矛盾总是存在的,这一点在我们处理实际问题的时候,总是需要考虑。

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

推荐阅读更多精彩内容