深度学习系列(1):感知机

深度学习系列(1):感知机

前言

小论文总算告一段落了,近期开始深度学习了,跟着Hinton神经网络公开课边看边总结。视频参考链接如下:https://www.coursera.org/,搜索Neural Networks for Machine Learning即可找到资源。部分有中文翻译,当然也可以参考hankcs神犇关于Hinton神经网络的总结,参考链接如下:http://www.hankcs.com/ml/

思考

  • 感知机是什么?
  • 感知机如何实现?
  • 感知机的优缺点?

感知机是什么?

大背景:给定输入,求得输出。中间需要一种模型来表达这种映射关系,于是有了: 输入 -> 模型(映射) -> 输出。

模型有很多,机器学习中有诸如SVM,DT,HMM等,这里我们只讨论神经网络的基础模型:感知机(perceptron)。

以下内容参考博文: http://www.cnblogs.com/maybe2030/p/5597716.html#_label1

1943年,McCulloch和Pitts将上图的神经元结构用一种简单的模型进行了表示,构成了一种人工神经元模型,也就是我们现在经常用到的“M-P神经元模型”,如下图所示:

从上图M-P神经元模型可以看出,神经元的输出

其中θ\theta为我们之前提到的神经元的激活阈值,函数f(⋅)f(·)也被称为是激活函数。如上图所示,函数f(⋅)f(·)可以用一个阶跃方程表示,大于阈值激活;否则则抑制。但是这样有点太粗暴,因为阶跃函数不光滑,不连续,不可导,因此我们更常用的方法是用sigmoid函数来表示函数函数f(⋅)f(·)。

sigmoid函数的表达式和分布图如下所示:

定义: 感知机(perceptron)是由两层神经元组成的结构,输入层用于接受外界输入信号,输出层(也被称为是感知机的功能层)就是M-P神经元。下图表示了一个输入层具有三个神经元(分别表示为x0、x1、x2)的感知机结构:

根据上图不难理解,感知机模型可以由如下公式表示:

y=f(wx+b)

y = f(wx + b)

其中,ww为感知机输入层到输出层连接的权重,b表示输出层的偏置。事实上,感知机是一种判别式的线性分类模型,可以解决与、或、非这样的简单的线性可分(linearly separable)问题,线性可分问题的示意图见下图:

Okay,以上内容均属于感知机的定义部分,问题是如何根据给定的{输入集合}和{输出集合}得到{ww的集合}?即如何学习?

感知机如何实现?

思路

根据限有参数ww(待求参数,未知)及给定的输入输出(已知)能够定义损失函数,以激活函数sigmoid为例:

其中满足:

我们的目标:需要求出给定集合w∗{w^*},L(w∗)L(w^*) 取得最小值。如果有解析解可以直接求导代入求出每个w1,w2,⋯,wn{w_1, w_2, \cdots, w_n}, 然这里并没有解析解,所以我们采用一种迭代的手段,即【梯度下降】。

梯度下降:

先看图,形象来说,由ww构成的L在三维空间内是一种曲面图,梯度是在当前点,如红色初始点往四周看下降最快的方向。有了这个方向,我们乘以一个学习率η\eta,就能让当前ww朝着地势较低的方向前进了。

所以更新规则有:

而下降的方向实际上表示的一个值,数学上是

,该值越大则地势越抖,走的也越快。所以在极值点时,导数为0,那么自然wiw_i不在更新,算法收敛,求得最优。但正如图中所示,在非凸函数中,梯度下降无法保证求出的解一定是全局最优,这是它缺点之一,其次η\eta学习率的选择也很重要,过大导致无法收敛,过小导致学习效率低,因此合理的,自适应的η\eta也就成为了研究的热点。

所以数学上只要求出

,就能写更新算法了。且收敛的条件可以用迭代次数或者参数L(w)L(w)的前后变化量控制。

感知机的弱点

问题1: 在Hinton神经网络公开课上,老爷子举了两个例子来说明感知机的弱点,第一个是关于XNOR的数据集:

得到参数向量必须满足的方程:

所以如果针对第一行有:

,针对第二行有:

,需要找到这样的阈值使得上述两个不等式着实有点困难呐。

还有一份《证:单层感知机不能表示异或逻辑》,参考链接如下:http://blog.csdn.net/panda07100/article/details/38580993

问题 2:

n×1n \times 1的图片的模式识别,两种模式分别只有4个像素是黑色,其他都是白色,如下图:

同样,对于这样的wrap-pattern数据集,感知机也无法区分模式A和模式B,歪?

此处需要考虑概率了,白色格子代表xi=0x_i = 0

, 黑色格子代表

,所以对于

,仅存在4个权值有效,于是有

,那么问题来了,推广到wrap,且大数据集上,每个格子都有被选中的机会,就上图而言被选中的概率为:4 / 16,所以每个格子都有25%的概率取黑色,于是有了

,这就呵呵了,模式B也是

,那么借用问题1的证明思路,阈值也出现了矛盾,即感知机无法区分上述两种简单的pattern。

总结:

参考老爷子和hankcs对视频的翻译:

但如果你手工选取有效的特征的话,感知机框架仍然有效。比如增加一些feature unit识别sub pattern。所以感知机模式识别的关键在于手写特征detector,而不是机器学习。老爷子说这个弱点被过分解读,导致早期很多人认为感知机不好用,那么神经网络也不好用。 如果有办法训练特征识别模块的话,神经网络就好用了。我们不但要学习特征权重,还要学习特征表示。第二代神经网络其实全是关于特征表示的学习(早期的神经网络没有hidden unit层,特征是原始的)。 多个线性的隐藏层无济于事,整个模型依然是线性的。于是怎么有效地训练非线性hidden unit就成为关键问题。学习流入hidden units的weight其实就是学习feature。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习与计算机视觉

TensorFlow 图像预处理(二) 图像翻转,图像色彩调整

图像翻转 tf.image.flip_up_down:上下翻转 tf.image.flip_left_right:左右翻转 tf.image.tra...

31910
来自专栏MelonTeam专栏

机器学习入门系列04,Gradient Descent(梯度下降法)

引用课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 先看这里,可能由于你正在查看这个平...

1998
来自专栏MelonTeam专栏

机器学习入门系列03,Error的来源:偏差和方差(bias 和 variance)

引用课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 先看这里,可能由于你正在查看这个平...

1829
来自专栏人工智能

GAN提高人体重识别准确率

论文地址https://arxiv.org/abs/1701.07717内容简介 这篇文章的主要贡献是只使用原始数据集进行半监督学习,提高行人重识别的Basel...

2437
来自专栏SnailTyan

LeNet在caffe中的实现分析

本文主要是对Caffe中mnist数据集上训练的LeNet模型进行结构分析和可视化。 import caffe import numpy as np impor...

2136
来自专栏机器学习算法与Python学习

机器学习(2)之过拟合与欠拟合

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 过拟合与欠拟合 上一篇(机器学习(1...

2765
来自专栏红色石头的机器学习之路

Coursera吴恩达《优化深度神经网络》课程笔记(1)-- 深度学习的实用层面

Andrew Ng的深度学习专项课程的第一门课《Neural Networks and Deep Learning》的5份笔记我已经整理完毕。迷路的小伙伴请见如...

2760
来自专栏AI研习社

大白话解释模型产生过拟合的原因!

今天郭江师兄在实验室讲解了全体机器学习会第一章的知识,大家讨论了一下过拟合的知识,这里我根据自己的理解,整理了一下原因,力求同最通俗的语言来描述,可能不是太严谨...

3265
来自专栏AI科技评论

学界 | 大白话解释模型产生过拟合的原因

AI科技评论按:本文原作者忆臻,原载于作者的知乎专栏。 今天郭江师兄在实验室讲解了全体机器学习会第一章的知识,大家讨论了一下过拟合的知识,这里我根据自己的理解,...

3479
来自专栏MelonTeam专栏

深度学习基础概念笔记

导语 学习tensorflow,caffe等深度学习框架前,需要先了解一些基础概念。本文以笔记的形式记录了一个零基础的小白需要先了解的一些基础概念。 ...

1617

扫码关注云+社区