《机器学习:算法视角(原书第2版)》 —3.2 神经网络

举报
华章计算机 发表于 2019/12/21 14:33:42 2019/12/21
【摘要】 本节书摘来自华章计算机《机器学习:算法视角(原书第2版)》 一书中第3章,第3.2节,作者是[新西兰] 史蒂芬·马斯兰(Stephen Marsland),高 阳 商 琳 等译。

3.2 神经网络

有一点可能很明显,单一的神经元不会引起我们的兴趣。它所能做的很有限,无非是在提供输入后,激活或者是不激活而已。事实上,单一的神经元甚至不能学习。如果我们重复不断地提供给一个神经元相同的输入集合,它的输出从不改变——激活或者是不激活。因此,为了让神经元模型更加具有吸引力,我们需要解决如何使它学习的问题,这就需要我们把一系列的神经元放置在一起,形成神经网络(neural network),这样才能做一些有用的事情。

首先,我们要思考的问题是,如何使神经元能够学习。在下面几章中,我们将要研究监督学习(supervised learning),意思是算法将通过样例来学习:在学习的数据集中,每一个数据点都有一个正确的输出值与之相对应。乍一看,这似乎毫无意义,既然你已经知道了正确的答案,为什么还要去学习呢?这里的关键在于1.2节提到的泛化(generalisation)的概念。假设数据中存在某一种模式,通过给神经网络一些已知的样例,我们希望它能够发现这种模式,并且正确地预测其他样例。这有时被称为模式识别(pattern recognition)。

在我们过多担心这些之前,首先来思考一下,什么是学习?前一章中,我们认为学习意味着你在某一件事情上做得更好。所以如果你在第一个学期不会编程,在第二个学期会编程了,那么可以说,你学会了编程。这一过程是由于某些物质发生了变化(或者说适应),很可能是在你的大脑中,从而使得你能够完成一些原本不会的工作。我们再来看一下McCulloch和Pitts的神经元(如图3-1),并且尝试去发现,在那样一个模型中,什么是可以变化的。这个神经元只是由这样一些东西组成——输入、权重以及阈值,并且一个神经元可以有多个输入,但只有一个阈值。输入无法改变,因为它们是外在的,所以我们只能改变权重和阈值。这很有趣,因为它告诉我们大部分的学习过程与权重有关,但权重根本就不能算作神经元的一部分,它只不过是突触的模型。如果我们过多地关注神经元本身,则会忽视一些重要的东西,那就是学习是发生在神经元与神经元之间的,这需要它们相互连接起来。

因此,为了让我们的模型能够学习,需要问这样一个问题:

我们应该如何改变神经元的权重和阈值,使网络能够更频繁地得到正确的结果?

既然我们知道了要问的正确的问题,下面来看看历史上第一个神经网络——感知器(perceptron)。这听起来仿佛来自于太空时代,后面我们将研究如何使用它来解决问题(事实上,它于1958年被提出,那确实是一个太空时代)。当我们了解了感知器的算法,以及明白了它是如何工作的之后,我们将考虑哪些事情是感知器能够做的,哪些事情是它做不了的,然后再研究如何应用统计学的知识加深对学习的理解。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。