导航:首页 > 网络问题 > 感知机是什么网络

感知机是什么网络

发布时间:2022-11-29 19:58:13

1. 人工神经网络概述(更新中)

智能: 从感觉到记忆再到思维的过程称为“智慧”,智慧的结果是语言和行为。行为和语言予以表达称为“能力”。智慧和能力的总称为“智能”。感觉、记忆、思维、行为、语言的过程称为“智能过程”。

人工智能: 人工构建的智能系统。

人工智能是研究和开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用的技术学科,其主要研究内容可以归纳为以下四个方面。

人工神经网络是基于生物神经元网络机制提出的一种计算结构,是生物神经网络的某种模拟、简化和抽象。神经元是这一网络的“节点”,即“处理单元”。

人工神经网络可用于逼近非线性映射、分类识别、优化计算以及知识挖掘。近年来,人工神经网络在模式识别、信号处理、控制工程和优化计算领域得到了广泛的应用。

M-P模型由心理学家McCulloch和数学家W. Pitts在1943年提出。

M-P模型结构是一个多输入、单输出的非线性元件。其I/O关系可推述为

其中, 表示从其他神经元传来的输入信号; 表示从神经元 到神经元 的连接权值; 表示阈值; 表示激励函数或转移函数; 表示神经元 的输出信号。

作为一种最基本的神经元数学模型,M-P模型包括了加权、求和和激励(转移)三部分功能。

神经元的数据模型主要区别于采用了不同的激励函数。

概率型函数的输入和输出之间的关系是不确定的。分布律如下

其中, 被称为温度参数。

感知机(Perceptron)是美国学者Rosenblatt于1957年提出的一种用于模式分类的神经网络模型。

M-P模型通常叫做单输出的感知机。按照M-P模型的要求,该人工神经元的激活函数为阶跃函数。为了方便表示,M-P模型表示为下图所示的结构。

用多个这样的单输入感知机可以构成一个多输出的感知机,其结构如下

对于二维平面,当输入/输出为 线性可分 集合时,一定可以找到一条直线将模式分成两类。此时感知机的结构图3所示,显然通过调整感知机的权值及阈值可以修改两类模式的分界线:

线性可分: 这里的线性可分是指两类样本可以用直线、平面或超平面分开,否则称为线性不可分。

感知机的基本功能是对外部信号进行感知和识别,这就是当外部 个刺激信号或来自其它 个神经元(的信号)处于一定的状态时,感知机就处于兴奋状态,而外部 个信号或 个神经元的输出处于另一个状态时,感知机就呈现抑制状态。

如果 、 是 中两个互不相交的集合,且有如下方程成立

则称集合 为感知机的 学习目标 。根据感知机模型,学习算法实际上是要寻找权重 、 满足下述要求:

感知机的训练过程是感知机权值的逐步调整过程,为此,用 表示每一次调整的序号。 对应于学习开始前的初始状态,此时对应的权值为初始化值。

2. CNN、RNN、DNN的一般解释

CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

转自知乎 科言君  的回答

神经网络技术起源于上世纪五、六十年代,当时叫 感知机 (perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。 (扯一个不相关的:由于计算技术的落后,当时感知器传输函数是用线拉动变阻器改变电阻的方法机械实现的,脑补一下科学家们扯着密密麻麻的导线的样子…)

但是,Rosenblatt的单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”操作)。连异或都不能拟合,你还能指望这货有什么实际用途么o(╯□╰)o

随着数学的发展,这个缺点直到上世纪八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)发明的 多层感知机 (multilayerperceptron)克服。多层感知机,顾名思义,就是有多个隐含层的感知机(废话……)。好好,我们看一下多层感知机的结构:

图1 上下层神经元全部相连的神经网络——多层感知机

多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。对,这货就是我们现在所说的 神经网络 NN ——神经网络听起来不知道比感知机高端到哪里去了!这再次告诉我们起一个好听的名字对于研(zhuang)究(bi)很重要!

多层感知机解决了之前无法模拟异或逻辑的缺陷,同时更多的层数也让网络更能够刻画现实世界中的复杂情形。相信年轻如Hinton当时一定是春风得意。

多层感知机给我们带来的启示是, 神经网络的层数直接决定了它对现实的刻画能力 ——利用每层更少的神经元拟合更加复杂的函数[1]。

(Bengio如是说:functions that can be compactly

represented by a depth k architecture might require an exponential number of

computational elements to be represented by a depth k − 1 architecture.)

即便大牛们早就预料到神经网络需要变得更深,但是有一个梦魇总是萦绕左右。随着神经网络层数的加深, 优化函数越来越容易陷入局部最优解 ,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加, “梯度消失”现象更加严重 。具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。

2006年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层[2],神经网络真正意义上有了“深度”,由此揭开了深度学习的热潮。这里的“深度”并没有固定的定义——在语音识别中4层网络就能够被认为是“较深的”,而在图像识别中20层以上的网络屡见不鲜。为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。单从结构上来说, 全连接的 DNN 和图 1 的多层感知机是没有任何区别的 。

值得一提的是,今年出现的高速公路网络(highway network)和深度残差学习(deep resial learning)进一步避免了梯度消失,网络层数达到了前所未有的一百多层(深度残差学习:152层)[3,4]!具体结构题主可自行搜索了解。如果你之前在怀疑是不是有很多方法打上了“深度学习”的噱头,这个结果真是深得让人心服口服。

图2 缩减版的深度残差学习网络,仅有34 层,终极版有152 层,自行感受一下

如图1所示,我们看到 全连接 DNN 的结构里下层神经元和所有上层神经元都能够形成连接 ,带来的潜在问题是 参数数量的膨胀 。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。另外,图像中有固有的局部模式(比如轮廓、边界,人的眼睛、鼻子、嘴等)可以利用,显然应该将图像处理中的概念和神经网络技术相结合。此时我们可以祭出题主所说的卷积神经网络CNN。对于CNN来说,并不是所有上下层神经元都能直接相连,而是 通过“卷积核”作为中介。同一个卷积核在所有图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。 两层之间的卷积传输的示意图如下:

图3 卷积神经网络隐含层(摘自Theano 教程)

通过一个例子简单说明卷积神经网络的结构。假设图3中m-1=1是输入层,我们需要识别一幅彩色图像,这幅图像具有四个通道ARGB(透明度和红绿蓝,对应了四幅相同大小的图像),假设卷积核大小为100*100,共使用100个卷积核w1到w100(从直觉来看,每个卷积核应该学习到不同的结构特征)。用w1在ARGB图像上进行卷积操作,可以得到隐含层的第一幅图像;这幅隐含层图像左上角第一个像素是四幅输入图像左上角100*100区域内像素的加权求和,以此类推。同理,算上其他卷积核,隐含层对应100幅“图像”。每幅图像对是对原始图像中不同特征的响应。按照这样的结构继续传递下去。CNN中还有max-pooling等操作进一步提高鲁棒性。

图4 一个典型的卷积神经网络结构,注意到最后一层实际上是一个全连接层(摘自Theano 教程)

在这个例子里,我们注意到 输入层到隐含层的参数瞬间降低到了 100*100*100=10^6 个 !这使得我们能够用已有的训练数据得到良好的模型。题主所说的适用于图像识别,正是由于 CNN 模型限制参数了个数并挖掘了局部结构的这个特点 。顺着同样的思路,利用语音语谱结构中的局部信息,CNN照样能应用在语音识别中。

全连接的DNN还存在着另一个问题——无法对时间序列上的变化进行建模。然而, 样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要 。对了适应这种需求,就出现了题主所说的另一种神经网络结构——循环神经网络RNN。

在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。而在 RNN 中,神经元的输出可以在下一个时间戳直接作用到自身 ,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!表示成图就是这样的:

图5 RNN 网络结构

我们可以看到在隐含层节点之间增加了互连。为了分析方便,我们常将RNN在时间上进行展开,得到如图6所示的结构:

图6 RNN 在时间上进行展开

Cool, ( t+1 )时刻网络的最终结果O(t+1) 是该时刻输入和所有历史共同作用的结果 !这就达到了对时间序列建模的目的。

不知题主是否发现,RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度!正如我们上面所说, “梯度消失”现象又要出现了,只不过这次发生在时间轴上 。对于t时刻来说,它产生的梯度在时间轴上向历史传播几层之后就消失了,根本就无法影响太遥远的过去。因此,之前说“所有历史”共同作用只是理想的情况,在实际中,这种影响也就只能维持若干个时间戳。

为了解决时间上的梯度消失,机器学习领域发展出了 长短时记忆单元 LSTM ,通过门的开关实现时间上记忆功能,并防止梯度消失 ,一个LSTM单元长这个样子:

图7 LSTM 的模样

除了题主疑惑的三种网络,和我之前提到的深度残差学习、LSTM外,深度学习还有许多其他的结构。举个例子,RNN既然能继承历史信息,是不是也能吸收点未来的信息呢?因为在序列信号分析中,如果我能预知未来,对识别一定也是有所帮助的。因此就有了 双向 RNN 、双向 LSTM ,同时利用历史和未来的信息。

图8 双向RNN

事实上, 不论是那种网络,他们在实际应用中常常都混合着使用,比如 CNN 和RNN 在上层输出之前往往会接上全连接层,很难说某个网络到底属于哪个类别。 不难想象随着深度学习热度的延续,更灵活的组合方式、更多的网络结构将被发展出来。尽管看起来千变万化,但研究者们的出发点肯定都是为了解决特定的问题。题主如果想进行这方面的研究,不妨仔细分析一下这些结构各自的特点以及它们达成目标的手段。入门的话可以参考:

Ng写的Ufldl: UFLDL教程 - Ufldl

也可以看Theano内自带的教程,例子非常具体: Deep Learning Tutorials

欢迎大家继续推荐补充。

当然啦,如果题主只是想凑个热闹时髦一把,或者大概了解一下方便以后把妹使,这样看看也就罢了吧。

参考文献:

[1]

Bengio Y. Learning Deep

Architectures for AI[J]. Foundations & Trends® in Machine Learning, 2009,

2(1):1-127.

[2]

Hinton G E, Salakhutdinov R R.

Recing the Dimensionality of Data with Neural Networks[J]. Science, 2006,

313(5786):504-507.

[3]

He K, Zhang X, Ren S, Sun J. Deep

Resial Learning for Image Recognition. arXiv:1512.03385, 2015.

[4]

Srivastava R K, Greff K,

Schmidhuber J. Highway networks. arXiv:1505.00387, 2015.

3. 神经网络算法

20 世纪五、六⼗年代,科学家 Frank Rosenblatt其受到 Warren McCulloch 和 Walter Pitts早期的⼯作的影响,发明了感知机(Perceptrons)。

⼀个感知器接受⼏个⼆进制输⼊, ,并产⽣⼀个⼆进制输出:

如上图所示的感知机有三个输⼊: 。通常可以有更多或更少输⼊。 我们再引⼊权重: ,衡量输入对输出的重要性。感知机的输出为0 或者 1,则由分配权重后的总和 ⼩于等于或者⼤于阈值决定。和权重⼀样,阈值(threshold)是⼀个实数,⼀个神经元的参数。⽤更精确的代数形式如下:

给三个因素设置权重来作出决定:

可以把这三个因素对应地⽤⼆进制变量 来表⽰。例如,如果天⽓好,我们把

,如果不好, 。类似地,如果你的朋友陪你去, ,否则 。 也类似。

这三个对于可能对你来说,“电影好不好看”对你来说最重要,而天气显得不是那么的重要。所以你会这样分配权值: ,然后定义阈值threshold=5。

现在,你可以使⽤感知器来给这种决策建⽴数学模型。

例如:

随着权重和阈值的变化,你可以得到不同的决策模型。很明显,感知机不是⼈做出决策使⽤的全部模型。但是这个例⼦说明了⼀个感知机如何能权衡不同的依据来决策。这看上去也可以⼤致解释⼀个感知机⽹络有时确实能够做出一些不错的决定。

现在我们队上面的结构做一点变化,令b=-threshold,即把阈值移到不等号左边,变成偏置, 那么感知器的规则可以重写为:

引⼊偏置只是我们描述感知器的⼀个很⼩的变动,但是我们后⾯会看到它引导更进⼀步的符号简化。因此,我们不再⽤阈值,⽽总是使⽤偏置。

感知机是首个可以学习的人工神经网络,它的出现引起的神经网络的第一层高潮。需要指出的是,感知机只能做简单的线性分类任务,而且Minsky在1969年出版的《Perceptron》书中,证明了感知机对XOR(异或)这样的问题都无法解决。但是感知机的提出,对神经网络的发展是具有重要意义的。

通过上面的感知机的观察我们发现一个问题,每个感知机的输出只有0和1,这就意味着有时我们只是在单个感知机上稍微修改了一点点权值w或者偏置b,就可能造成最终输出完全的反转。也就是说,感知机的输出是一个阶跃函数。如下图所示,在0附近的时候,输出的变化是非常明显的,而在远离0的地方,我们可能调整好久参数也不会发生输出的变化。

这样阶跃的跳变并不是我们想要的,我们需要的是当我们队权值w或者偏置b做出微小的调整后,输出也相应的发生微小的改变。这同时也意味值我们的输出不再只是0和1,还可以输出小数。由此我们引入了S型神经元。

S型神经元使用 S 型函数,也叫Sigmoid function函数,我们用它作为激活函数。其表达式如下:

图像如下图所示:

利⽤实际的 σ 函数,我们得到⼀个,就像上⾯说明的,平滑的感知器。 σ 函数的平滑特性,正是关键因素,⽽不是其细部形式。 σ 的平滑意味着权重和偏置的微⼩变化,即 ∆w 和 ∆b,会从神经元产⽣⼀个微⼩的输出变化 ∆output。实际上,微积分告诉我们

∆output 可以很好地近似表⽰为:

上面的式子是⼀个反映权重、偏置变化和输出变化的线性函数。这⼀线性使得我们可以通过选择权重和偏置的微⼩变化来达到输出的微⼩变化。所以当 S 型神经元和感知器本质上是相同的,但S型神经元在计算处理如何变化权重和偏置来使输出变化的时候会更加容易。

有了对S型神经元的了解,我们就可以介绍神经网络的基本结构了。具体如下:

在⽹络中最左边的称为输⼊层,其中的神经元称为输⼊神经元。最右边的,即输出层包含有输出神经元,在图中,输出层只有⼀个神经元。中间层,既然这层中的神经元既不是输⼊也不是输出,则被称为隐藏层。

这就是神经网络的基本结构,随着后面的发展神经网络的层数也随之不断增加和复杂。

我们回顾一下神经网络发展的历程。神经网络的发展历史曲折荡漾,既有被人捧上天的时刻,也有摔落在街头无人问津的时段,中间经历了数次大起大落。

从单层神经网络(感知机)开始,到包含一个隐藏层的两层神经网络,再到多层的深度神经网络,一共有三次兴起过程。详见下图。

我们希望有⼀个算法,能让我们找到权重和偏置,以⾄于⽹络的输出 y(x) 能够拟合所有的 训练输⼊ x。为了量化我们如何实现这个⽬标,我们定义⼀个代价函数:

这⾥ w 表⽰所有的⽹络中权重的集合, b 是所有的偏置, n 是训练输⼊数据的个数,
a 是表⽰当输⼊为 x 时输出的向量,求和则是在总的训练输⼊ x 上进⾏的。当然,输出 a 取决于 x, w和 b,但是为了保持符号的简洁性,我没有明确地指出这种依赖关系。符号 ∥v∥ 是指向量 v 的模。我们把 C 称为⼆次代价函数;有时也称被称为均⽅误差或者 MSE。观察⼆次代价函数的形式我们可以看到 C(w, b) 是⾮负的,因为求和公式中的每⼀项都是⾮负的。此外,代价函数 C(w,b)的值相当⼩,即 C(w; b) ≈ 0,精确地说,是当对于所有的训练输⼊ x, y(x) 接近于输出 a 时。因

此如果我们的学习算法能找到合适的权重和偏置,使得 C(w; b) ≈ 0,它就能很好地⼯作。相反,当 C(w; b) 很⼤时就不怎么好了,那意味着对于⼤量地输⼊, y(x) 与输出 a 相差很⼤。因此我们的训练算法的⽬的,是最⼩化权重和偏置的代价函数 C(w; b)。换句话说,我们想要找到⼀系列能让代价尽可能⼩的权重和偏置。我们将采⽤称为梯度下降的算法来达到这个⽬的。

下面我们将代价函数简化为C(v)。它可以是任意的多元实值函数, 。
注意我们⽤ v 代替了 w 和 b 以强调它可能是任意的函数,我们现在先不局限于神经⽹络的环境。

为了使问题更加简单我们先考虑两个变量的情况,想象 C 是⼀个只有两个变量 和 的函数,我们的目的是找到 和 使得C最小。

如上图所示,我们的目的就是找到局部最小值。对于这样的一个问题,一种方法就是通过微积分的方法来解决,我们可以通过计算导数来求解C的极值点。但是对于神经网络来说,我们往往面对的是非常道的权值和偏置,也就是说v的维数不只是两维,有可能是亿万维的。对于一个高维的函数C(v)求导数几乎是不可能的。

在这种情况下,有人提出了一个有趣的算法。想象一下一个小球从山顶滚下山谷的过程, 我们的⽇常经验告诉我们这个球最终会滚到⾕底。我们先暂时忽略相关的物理定理, 对球体的⾁眼观察是为了激发我们的想象⽽不是束缚我们的思维。因此与其陷进物理学⾥凌乱的细节,不如我们就这样问⾃⼰:如果我们扮演⼀天的上帝,能够构造⾃⼰的物理定律,能够⽀配球体可以如何滚动,那么我们将会采取什么样的运动学定律来让球体能够总是滚落到⾕底呢?

为了更精确地描述这个问题,让我们思考⼀下,当我们在 和 ⽅向分别将球体移动⼀个很⼩的量,即 ∆ 和 ∆ 时,球体将会发⽣什么情况。微积分告诉我们 C 将会有如下变化:

也可以用向量表示为

现在我们的问题就转换为不断寻找一个小于0的∆C,使得C+∆C不断变小。

假设我们选取:

这⾥的 η 是个很⼩的正数(称为学习速率),于是

由于 ∥∇C∥2 ≥ 0,这保证了 ∆C ≤ 0,即,如果我们按照上述⽅程的规则去改变 v,那么 C
会⼀直减⼩,不会增加。

所以我们可以通过不断改变v来C的值不断下降,是小球滚到最低点。

总结⼀下,梯度下降算法⼯作的⽅式就是重复计算梯度 ∇C,然后沿着相反的⽅向移动,沿着⼭⾕“滚落”。我们可以想象它像这样:

为了使梯度下降能够正确地运⾏,我们需要选择合适的学习速率η,确保C不断减少,直到找到最小值。

知道了两个变量的函数 C 的梯度下降方法,我们可以很容易的把它推广到多维。我们假设 C 是⼀个有 m 个变量 的多元函数。 ∆C 将会变为:

其中, ∇C为

∆v为:

更新规则为:

在回到神经网络中,w和b的更新规则为:

前面提到神经⽹络如何使⽤梯度下降算法来学习他们⾃⾝的权重和偏置。但是,这⾥还留下了⼀个问题:我们并没有讨论如何计算代价函数的梯度。这里就需要用到一个非常重要的算法:反向传播算法(backpropagation)。

反向传播算法的启示是数学中的链式法则。

四个方程:

输出层误差方程:

当前层误差方程:

误差方程关于偏置的关系:

误差方程关于权值的关系

算法描述:

检视这个算法,你可以看到为何它被称作反向传播。我们从最后⼀层开始向后计算误差向量δ。这看起来有点奇怪,为何要从后⾯开始。但是如果你认真思考反向传播的证明,这种反向移动其实是代价函数是⽹络输出的函数的结果。为了理解代价随前⾯层的权重和偏置变化的规律,我们需要重复作⽤链式法则,反向地获得需要的表达式。

参考链接: http://neuralnetworksanddeeplearning.com/

4. 感知机(Perceptron)

在之前的文章中我们已经讲过了逻辑回归分类器,现在趁热打铁总结一下与逻辑回归非常相似的感知机模型。感知机模型是一个非常古老的分类算法,现在很少会单独使用它,但是它的原理简单有效,很值得学习和理解,从原理上来说,感知机模型是神经网络和支持向量机的基础,理解了感知机有利于理解支持向量机和神经网络的原理。

在 广义线性模型(4)逻辑回归 中我们说逻辑回归可以视为包含一个线性回归和一个值域映射两个过程,如果拿逻辑回归与感知机作比较的话,可以说感知机也同样包括这两个过程,只不过它的值域映射比逻辑回归简单很多,感知机直接将线性模型的输出映射为+1和-1,即需要预测的两个类别上,正可谓简单粗暴。所以说,感知机也是线性模型,用来处理线性可分的二分类问题,同样属于判别模型。

感知机假设数据线性可分的,希望通过学习得到一个线性的决策边界,将训练数据集正样本点和负样本点完全正确分开的分离,在决策边界一侧为正样本,另一侧为负样本,这个思路跟逻辑回归是一样的。

感知机模型可以表示为下式,其中 函数将线性模型的输出映射为预测类别:

由点到超平面的距离计算方法可知: 代表了样本点到决策边界的距离(文章没有用 的形式,抛弃了常数项的问题,其实是不准确的,若有看官,还请不要介意);

同时我们可知, 的样本类别输出值取为1,满足 的样本类别输出值取为-1,因此正确分类的样本满足 ,而错误分类的样本满足 , 表示了错误分类的样本到决策超平面的距离,感知机损失函数的优化目标,就是期望使错误分类的所有样本到超平面的距离之和最小(正样本+1,负样本-1这样的定义方式使得定义损失函数变得很方便),损失函数为:

式中,M为样本中所有错误分类样本点的集合。实际上,我们会把损失函数中参数的L2正则项 扔掉,认为它不会影响优化结果,即得到损失函数:

为什么可以不考虑 呢? 搜索解空间的时候, 会一直在变化啊?我觉得这个挺难理解的,根据资料及猜测,我觉得勉强能接受的原因为:

确定了损失函数的形式,接下来就要进行损失函数的优化,还是使用梯度下降,由于损失函数中只有错误分类的样本点才参与计算,所以不需要使用普通的批量梯度下降了,我们选择使用 随机梯度下降 每次迭代只使用一个错误分类的样本来对参数进行更新

感知机的学习算法的原始形式即直接使用梯度下降,其学习过程为:

可以发现,在原始形式中,每一轮迭代都需要判断各个样本点是不是错误分类点,既对于每个样本点 都需要计算 ,向量内积 的时间复杂度为 ,因此总的时间复杂度为 ,其中N为样本点数量,k为迭代次数(虽然每次迭代不需要全部遍历N个样本,不过表达时间复杂度时可以去掉因子保留变量,表示成 ),这个时间复杂度还是比较高的,有没有更快捷的计算方法呢?我们来看看感知机的学习算法的对偶形式。

什么叫对偶形式?这里的对偶可不是“三尺剑,六钧弓”的意思,优化理论中的对偶问题是指每一个线性规划问题(称为原始问题)有一个与它对应的对偶线性规划问题(称为对偶问题),原始问题与对偶问题的解是对应的,得出一个问题的解,另一个问题的解也就得到了,可以简单的理解为从不同角度看待同一个问题,通过改变这个问题的形式使得我们更好求解。

根据感知机学习算法的原始形式可知,只有错误分类的样本点才会用于梯度下降计算,对于被 次误分类而更新的样本 ,它参与 迭代的次数同样为 。如果令参数 初始值为 , 这样我们的 的表达式可以写为:

表示对全部样本 中的每个个样本点进行 次梯度下降,其中没被错误分类过的样本点 。引用知乎上一个答案对 的理解:

这样参数 的学习问题就转变成了样本错误分类次数 的学习问题,此之谓“对偶”也。这样做的好处是什么呢?原始形式的痛点在于 中的内积运算,在对偶问题中转变为:

由内积 转变为内积 ,区别是 是已知的,可以提前通过矩阵运算得到Gram矩阵保存下来重用,样本循环和迭代的时间复杂度不变, 个 维向量的内积计算提前,所以时间复杂度大概可以表示为 ,与 倒不太好比较,不过这里按矩阵运算的时间复杂度完全没有优化来计算的,实际肯定比这小得多,并且工程上矩阵运算都是高度优化过的,非常快,所以对偶形式在使用效率上是很有优势的。

对偶形式的学习过程为:

感知机算法原理很简单,但其中很多思路很棒,所以由它发展出了神经网络、支持向量机这样的更复杂、更准确的算法,搞懂了感知机模型的基本原理,接下来我们就来写一写跟它很相似的支持向量机~



主要参考

《统计学习方法》 李航
感知机的损失函数为什么可以采用函数间隔(忽略1/||w||)?
如何理解感知机学习算法的对偶形式?

5. BP神经网络和感知器有什么区别

1、发展背景不同:

感知器是Frank Rosenblatt在1957年所发明的一种人工神经网络,可以被视为一种最简单形式的前馈式人工神经网络,是一种二元线性分类器。

而BP神经网络发展于20世纪80年代中期,David Runelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分别独立发现了误差反向传播算法,简称BP,系统解决了多层神经网络隐含层连接权学习问题,并在数学上给出了完整推导。

2、结构不同:

BP网络是在输入层与输出层之间增加若干层(一层或多层)神经元,这些神经元称为隐单元,它们与外界没有直接的联系,但其状态的改变,则能影响输入与输出之间的关系,每一层可以有若干个节点。

感知器也被指为单层的人工神经网络,以区别于较复杂的多层感知器(Multilayer Perceptron)。 作为一种线性分类器,(单层)感知器可说是最简单的前向人工神经网络形式。

3、算法不同:

BP神经网络的计算过程由正向计算过程和反向计算过程组成。正向传播过程,输入模式从输入层经隐单元层逐层处理,并转向输出层,每层神经元的状态只影响下一层神经元的状态。感知器使用特征向量来表示的前馈式人工神经网络,它是一种二元分类器,输入直接经过权重关系转换为输出。

6. BP神经网络和感知器有什么区别

1、BP神经网络,指的是用了“BP算法”进行训练的“多层感知器模型”。
2、感知器(MLP,Multilayer
Perceptron)是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上,可以解决任何线性不可分问题。
3、多层感知器就是指得结构上多层的感知器模型递接连成的前向型网络。BP就是指得反向传播算法

7. 人工神级网络最简化形式

感知器(英语:Perceptron)。

是Frank Rosenblatt在1957年就职于康奈尔航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类器。

感知机是生物神经细胞的简单抽象。神经细胞结构大致可分为:树突、突触、细胞体及轴突。单个神经细胞可被视为一种只有两种状态的机器——激动时为‘是’,而未激动时为‘否’。神经细胞的状态取决于从其它的神经细胞收到的输入信号量,及突触的强度(抑制或加强)。

当信号量总和超过了某个阈值时,细胞体就会激动,产生电脉冲。电脉冲沿着轴突并通过突触传递到其它神经元。为了模拟神经细胞行为,与之对应的感知机基础概念被提出,如权量(突触)、偏置(阈值)及激活函数(细胞体)。

在人工神经网络领域中,感知机也被指为单层的人工神经网络,以区别于较复杂的多层感知机(Multilayer Perceptron)。

作为一种线性分类器,(单层)感知机可说是最简单的前向人工神经网络形式。尽管结构简单,感知机能够学习并解决相当复杂的问题。感知机主要的本质缺陷是它不能处理线性不可分问题。

历史

1943年,心理学家沃伦·麦卡洛克和数理逻辑学家沃尔特·皮茨在合作的《A logical calculus of the ideas immanent in nervous activity》论文中提出并给出了人工神经网络的概念及人工神经元的数学模型,从而开创了人工神经网络研究的时代。

1949年,心理学家唐纳德·赫布在《The Organization of Behavior》论文中描述了神经元学习法则——赫布型学习。

人工神经网络更进一步被美国神经学家弗兰克·罗森布拉特所发展。他提出了可以模拟人类感知能力的机器,并称之为‘感知机’。

1957年,在Cornell航空实验室中,他成功在IBM 704机上完成了感知机的仿真。两年后,他又成功实现了能够识别一些英文字母、基于感知机的神经计算机——Mark1,并于1960年6月23日,展示与众。

为了‘教导’感知机识别图像,弗兰克·罗森布拉特在Hebb学习法则的基础上,发展了一种迭代、试错、类似于人类学习过程的学习算法——感知机学习。除了能够识别出现较多次的字母,感知机也能对不同书写方式的字母图像进行概括和归纳。

但是,由于本身的局限,感知机除了那些包含在训练集里的图像以外,不能对受干扰(半遮蔽、不同大小、平移、旋转)的字母图像进行可靠的识别。

首个有关感知机的成果,由弗兰克·罗森布拉特于1958年发表在《The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain》的文章里。

1962年,他又出版了《Principles of Neurodynamics: Perceptrons and the theory of brain mechanisms》一书,向大众深入解释感知机的理论知识及背景假设。此书介绍了一些重要的概念及定理证明,例如感知机收敛定理。

8. 前馈神经网络

深度前馈网络 (deep feedforward network),也叫作前馈神经网络(feedforward neural network)或者 多层感知机 (multilayer perceptron,MLP)。对深度前馈网络的理解,从感知机的角度可能更易。感知机又被成为最简单的神经网络,顾名思义,多层感知机就是在感知机的基础上设计添加了更多层。

前馈网络的目标是近似一个函数 ,意思是说对于目标函数 ,网络学习的最终目标是输出一个函数 ,并且 尽可能接近 。举个例子,一个二分类器 会将输入 映射到一个类别 ,前馈网络会定义一个新的映射 ,然后通过学习参数 的值,使得新的映射能够得到最佳的函数映射。

对于深度前馈网络,如图1.1,由输入层、隐藏层、输出层和各层之间的连接组成,其中隐藏层根据模型的大小和复杂程度可以设计成数量任意的多层,各层之间的连接一般实际表示特征的权重。“深度”是指一个神经网络模型通常是由不止一层组成的,设计的层数越多,深度就越大,模型也越复杂。对于前馈网络中的“前馈”,因为网络中的数据流向是单向的, 只会按照输入层-隐藏层-输出层的顺序流动,即数据流经当前一层处理后,只会作为下一层的输入流入,而不会对上一层有任何影响和反馈。如果当前层会对前面一层给出反馈或影响,这样的网络模型叫做循环神经网络。

神经网络之所以被成为“网络”,是因为我们可以认为这样的一个模型是由许多不同的函数复合在一起组成的,也就是说神经网络的每一层可以认为是一个函数,加上层与层之间的连接,就表示了多个函数复合在一起的过程。例如,对于一组输入 ,我们希望得到的输出是 ,现在有三个函数 ,那么经过 的复合,就能产生近似的输出,其中每一个函数就可以认为是神经网络的一层。我们只关注模型的输入和输出,而对于具体的复合过程,也就是层与层之间的连接细节并不关注,因此将这层处理的层成为“隐藏层”。

深度前馈网络又叫多层感知机,那么从很早就被提出的感知机模型到多层感知机,有怎样的区别和变化呢?

感知机最大的局限是只能处理线性的样本空间,如图2.1左,而对于线性不可分的数据无能为力。为了将线性不可分的样本空间变换到线性可分,从而可以利用线性函数近似,就引入了隐藏层,即通

过隐藏层的处理,原有的样本空间就变成了新的可以使用线性模型处理的样本空间。

异或问题是指对于给定的两个二进制输入,通过异或逻辑门得到一个预测输出,当输入不相等时输出1,否则输出0。图3.1展示了异或函数所有可能结果。

为什么这里是解决异或问题,而不是与、或问题?前者的样本空间是非线性的,而与、或问题的样本空间都是线性可分的,即通过引入一个线性函数就能解决,如图3.2。

本问题的全部样本空间是四个样本点:(0,0)(0,1)(1,0)(1,1),首先需要选取损失函数 ,这里我们使用均方误差函数(MSE)

                                           

训练一个神经网络模型与其他机器学习算法一样,一般都需要三个步骤:选择一个优化模型、确定代价函数和输出单元的形式。那么,我们应该怎样选取优化模型呢?一般说来,线性模型是优先被考虑的,假如 是线性函数, 包含 和 ,那么模型可以定义为:

                                                       

使用正规方程,可以解得 。我们发现线性模型在任意一点都输出0.5,所以线性模型不能用来表示XOR函数。根据已有经验,我们总是希望能够通过使用一个线性模型来解决问题,但XOR问题的特征空间不允许这样做,如果能够使用一个模型来学习一个不同的特征空间,在这个新学得的空间上线性模型能够表示这个解,那么问题就能得到解决,这样的思路正是神经网络隐藏层的设计需要达到的目的。

为了学的一个新的特征空间,我们引入一个非常简单的前馈神经网络,如图3.3。该神经网络含

有一层隐藏层,包含两个单元,对于输入 ,神经网络将其变换到一个新的特征空间 ,在新学得的空间中,使用一个线性模型就能得到期望的输出 。

                                           

                                        

完整的模型是

现在 是明确的使用线性模型,那么 应该是那种函数呢?

如果 是线性的,那么前馈网络作为一个整体对于输入依然是线性的,因此 必须是非线性的。

神经网络通过仿射变换之后紧跟一个被成为激活函数的固定非线性函数来实现 。定义: ,其中 是权重矩阵, 是偏置。

现代神经网络中,默认推荐使用 定义的整流线性单元作为激活函数。那么我们问题的整体模型就是:

                           

至此,我们已经导出了使用含有一层隐藏层的前馈神经网络解决异或问题的完整模型。最后给出XOR问题的一个解。

9. 感知机是监督还是非监督

感知机属于有监督的学习,生成的模型称为判别模型。

其通过特定的函数将输入的特征向量,输出为实例的类别(+1或-1),该函数即为将实例划分为两类的分离超平面。为获得最优化的超平面,感知机引入了基于误分类的损失函数。感知机是神经网络和支持向量机的基础。

感知机主要用于解决线性可分数据集的分类问题。线性可分数据集是指能够找到一个超平面,完全正确的将数据集分割在该超平面的两侧。

有监督学习分为生成模型和判别模型两种

其分别含义如下:

(1)生成模型:通过输入数据学习联合概率分布P(X,Y)得到的条件概率分布P(Y|X)作为预测模型;

(2)判别模型:通过输入数据直接学习得到的决策函数f(x)或条件概率分布P(Y|X)作为预测模型。

10. CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别

如下:

1、DNN:存在着一个问题——无法对时间序列上的变化进行建模。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。对了适应这种需求,就出现了另一种神经网络结构——循环神经网络RNN。

2、CNN:每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被称为前向神经网络。

3、RNN:神经元的输出可以在下一个时间戳直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!

介绍

神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。

在实际应用中,所谓的深度神经网络DNN,往往融合了多种已知的结构,包括卷积层或是LSTM单元。

阅读全文

与感知机是什么网络相关的资料

热点内容
网络共享中心没有网卡 浏览:521
电脑无法检测到网络代理 浏览:1373
笔记本电脑一天会用多少流量 浏览:573
苹果电脑整机转移新机 浏览:1376
突然无法连接工作网络 浏览:1056
联通网络怎么设置才好 浏览:1224
小区网络电脑怎么连接路由器 浏览:1031
p1108打印机网络共享 浏览:1211
怎么调节台式电脑护眼 浏览:693
深圳天虹苹果电脑 浏览:930
网络总是异常断开 浏览:612
中级配置台式电脑 浏览:988
中国网络安全的战士 浏览:630
同志网站在哪里 浏览:1413
版观看完整完结免费手机在线 浏览:1459
怎样切换默认数据网络设置 浏览:1110
肯德基无线网无法访问网络 浏览:1286
光纤猫怎么连接不上网络 浏览:1471
神武3手游网络连接 浏览:965
局网打印机网络共享 浏览:1000