神经网络(一):神经元模型与逻辑回归

一、仿生学

在经典的机器学习领域,有很多不同类型的模型,它们大致可以分为两类:一类是比较注重模型可解释性的传统统计模型,比如线性回归和逻辑回归;另一类是侧重于从结构上“模仿”数据的机器学习模型,比如监督式学习SVM和非监督式学习KMeans。

这些模型虽然在结构和形态上千差万别,但它们有一个共同的建模理念,就是首先对数据做假设,然后根据这些假设进行数学推导,并最终得到模型的公式。其中最核心的部分就是模型的假设,它直接决定了模型的适用范围,也是模型效果的保障。这些模型不但能对未知数据做预测,还能帮助我们去理解数据之间的相关关系。

但神经网络或者深度学习是一种全新的建模理念,它并不关心模型的假设以及相应的数学推导,也就是说它并不关心模型的可解释性。这个理念的目的是借鉴仿生学[1]的思路,利用计算机和数学模型去模拟人的大脑,因此,其中最核心的内容就是工程实现。从模型角度来讲,这种理念的建模起点是最终的模型公式,而模型效果的保障是,这样的模型能在一定程度上模仿大脑,而大脑是人类智能的基础。

这种理念下设计出来的模型有很多酷炫的名字,比如神经网络、人工智能以及深度学习等。这类模型虽然难以理解或者更准确地说,到目前为止人类还无法理解,但在某些特定应用场景里的预测效果却出奇得好,因此也常常引起争论。一部分人认为,目前的人工智能热只是一个泡沫,整个学科并没有实质性的突破;另一部分人认为人工智能已经在突破的前夜,在不远的未来,它将给人类带来巨大的便利;还有一部分人认为人工智能是极其危险的东西,我们正在创造一种新的具有智能的“生命”,也许在不远的未来,这种人造的智能会统治地球并最终毁灭人类,就像很多科幻电影里的情节那样。

以上这3种观点都有其道理[2],本系列文章并不打算加入这种宏观议题争论,而是采取中立立场讨论相关的技术细节和发展趋势。相信读者通过这个系列的文章了解了人工智能的基础知识后,会对上面的话题有自己的观点。

二、神经元

由于神经网络的模拟对象是人的大脑,那么在讨论具体的模型之前,我们有必要先从生物学的角度来看看人的大脑有哪些特性。

根据生物学的研究,人脑的计算单元是神经元(neuron)。它能根据环境变化做出反应,再将信息给其他的神经元。在人脑中,大约有860亿个神经元,它们相互联结构成了极其复杂的神经系统,而后者正是人类智慧的物质基础。因此遵循人脑的生物结构,我们首先需要搭建模型来模拟人的神经元。

如图1所示,一个典型的神经元由4个部分组成。

  • 树突:一个神经元有若干个树突,它们能接收来自其他神经元的信号,并将信号传递给细胞体。
  • 细胞体:细胞体是神经元的核心,它把各个树突传递过来的信号加总起来,得到一个总的刺激信号。
  • 轴突:当细胞体内的刺激信号超过一定阈值之后,神经元的轴突会对外发送信号。
  • 突触:该神经元发送的信号(若有)将由突触向其他神经元或人体内的其他组织(对神经信号做出反应的组织)传递。需要注意的是,神经元通常有多个突触,但它们传递的信号都是一样的。
图1

将上述的神经元结构抽象成数学概念,可以得到如图1所示的神经元模型。

  • 模型的输入是数据里的自变量,比如图中的x_1, x_2, x_3。它们用圆点表示,对应着神经元里的树突。
  • 接收输入变量的是一个线性模型,在图中用正方形表示。这个线性模型对应着神经元的细胞体。值得注意的是,对于神经元中的线性模型,我们将模型中的权重项和截距项特意分开,用表示权重w_i,用b表示截距[3]
  • 接下来是一个非线性的激活函数f(activation function),它将控制是否对外发送信号,在图中用三角形表示,对应这神经元里的轴突。在神经网络领域,常常用一个圆圈来概括地表示线性模型和激活函数,并不将两者分开,在本系列文章中,我们将沿用这一记号。
  • 将模型的各个部分联结起来得到最后的输出f(\sum_i w_ix_i + b),这个值将传递给下一个神经元模型,在图中用箭头表示,对应着神经元里的突触。值得注意的是,一个神经元可以有多个输出箭头,但它们所输出的值都是一样的。

在神经元模型中,非线性的激活函数f是整个模型的核心。在最初的神经元模型中[4],的定义是非常直观的,当函数的自变量大于某个阈值时,则等于1,否则等于0。具体的公式如下:

f = \begin{cases} 1, x > 0\\0, x <= 0 \end{cases} \tag{1}

这个模型在学术上被称为感知器(perceptron),它可被用来解决二元分类问题(因为模型的输出是0或1)。感知器虽然在某种程度上模拟了神经元里轴突的行为,但处理方式有些太过粗糙了,因为在生物学上,神经元输出的是一个连续值而非离散值。这导致感知器的模型效果很一般。为了改进这一点,通常使用sigmoid函数(sigmoid function,也称为S函数)来作为神经元的激活函数[5],这样的模型被称为sigmoid神经元(sigmoid neuron)。

三、Sigmoid神经元与二元逻辑回归

Sigmoid函数在数据科学领域是一个非常重要的函数。特别是在神经网络和深度学习领域,我们会经常见到它。sigmoid的函数图像呈S形状,因此也常被称为S函数,具体的公式如下:

S(z) = \frac{1}{1 + e^{-z}}\tag{2}

使用sigmoid函数作为神经元里的激活函数有两大好处。从实用的角度来讲,sigmoid函数能将任意的实数值映射到(0, 1)区间,当公式(2)中的变量z是很大的负数时,函数值接近0;当变量z是很大的正数时,函数值接近1。这个特性在神经元上也能找到很好的解释:函数值接近0表示神经元没被激活,而函数值接近1表示神经元完全被激活。

从理论的角度来讲,sigmoid函数模拟了两种效应的相互竞争:假设正效应和负效应都和自变量X = (x_1, x_2, ..., x_k)是近似线性关系。具体的公式如下,其中,Y^*表示正效应,Y^{\sim}表示负效应,W_i = (w_{i, 1}, w_{i, 2}, ..., w_{i, k})b_i是模型参数,\theta\tau是服从正态分布的随机干扰项。

Y^* = XW_1^T + b_1 + \theta \\ Y^\sim = XW_2^T + b_2 + \tau \tag{3}

数学上可以证明,正效应大于负效应的概率可由一个sigmoid函数来近似,如公式(4)所示。

P(Y^* - Y^\sim) = S(XW^T + b) \tag{4}

因此在神经元模型里使用sigmoid函数,就相当于给神经元的输出赋予了概率意义,这使得模型的理论基础更加扎实,也使得模型能被用于解决二元分类问题,比如当sigmoid神经元的输出大于0.5时,则预测类别为1,否则预测类别为0。值得注意的是,在这种情况下,sigmoid神经元其实就是二元逻辑回归模型,如图2所示。

图2

四、广告时间

这篇文章的大部分内容参考自我的新书《精通数据科学:从线性回归到深度学习》

李国杰院士和韩家炜教授在读过此书后,亲自为其作序,欢迎大家购买。

另外,与之相关的免费视频课程请关注这个链接


  1. 仿生学(bionics)是模仿生物的特殊本领的一门科学,它在了解生物结构和功能原理的基础上,来研制新的机械和新的技术。以上简介参考自维基百科

  2. 这3种观点的论据和逻辑超出了本书的讨论范围,在此就不做展开,仅列举它们背后的权威支持者。
    机器学习领域重要的学者迈克尔·I.乔丹(Michael I. Jordan)教授就持第一种观点,他认为我们离接近人类水平的人工智能还很远。虽然在某些领域,可以用神经网络来“伪造”智能,但理智来说,这并不是智能。
    另一位很知名的学者吴恩达(Andrew Ng,他是迈克尔·I.乔丹的学生)以及企业家扎克伯格(Mark Zuckerberg)持第二种观点。他们对人工智能的发展表示乐观,主张人工智能是一场新的工业革命,将会像电力一样改变工业以及人类的生活。
    来自业界的比尔·盖茨(Bill Gates)和伊隆·马斯克(Elon Musk)则持第三种观点,他们认为虽然现阶段人工智能并没有表现出直接的危害,但按照现在的发展速度,在不远的将来(5年或者10年之内),我们将直接面对人工智能带来的威胁

  3. 在神经网络中,线性模型里的截距项是有特殊生物含义的,它通常对应着神经元的激活阈值,因此需要单独处理它

  4. Frank Rosenblatt于1957年在Cornell航空实验室(Cornell Aeronautical Laboratory)设计了第一款人工神经网络。这个最初版的神经网络其实是一台机器:由于当时的计算机还处在比较初级的阶段,因此专门设计了一台机器来实现这个模型

  5. 事实上基于工程实现上面的考虑,目前在实际应用中很少会使用sigmoid函数作为激活函数

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

推荐阅读更多精彩内容