周志华的《机器学习》算作一本入门的宝书。本文是对周志华的机器学习第五章神经网络的学习笔记。在第五章主要涉及的内容:神经网络、常见激活函数、感知机、多层前馈神经网络 、反向传播算法(BP算法)、全局最小和局部极小、其他神经网络(RBF、ART、SOM等网络)、递归神经网络(如Boltzmann机、Elman网络)。如果哪里有不对的地方,请不吝指点!

一、什么是神经网络?

关于神经网络的定义有很多,本文对于神经网络的定义:神经网络是由具有适应性的简单单元(实际上是神经元)组成的广泛并且互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
    神经网络的基本模型为神经元模型(unit或neuron)。我们基本上都可以想到的是,当神经元刺激后,就会相它相邻的神经元发送“信号”,进而激活其他神经元,当其他神经元的点位超过一定值(阈值),它就会向其他神经元继续发送化学物质了。这是其中一个激活过程。下面是常见的M-P神经元模型

M-P神经元模型的工作流程大致描述如下:神经元接收到来自其他n个神经元传过来的输入,在通过带权重的连接,最后这个总输入就会和该神经元的阈值比较,看所得到的“刺激”能否让该神经元继续传递下去。最后通过激活函数处理输出。

常见的激活函数又包含阶跃函数、sigmoid函数、softmax函数、ReLU函数等。

(1)阶跃函数

阶跃函数的定义:值呈阶梯式变化,阶跃函数以0为界限,输出从 0 切换为 1(或从 1切换 0)。

(2)sigmoid函数

sigmoid函数是一种很高效的激活函数。它的函数图形是一条平滑的曲线,输出sigmoid(x)随着输入x发生连续性的变化。而阶跃函数是发生突变式的变化。

(3)softmax函数

softmax函数主要用于分类问题。主要公示为:

该函数的分子是输入信号的指数函数,分母是所有输入信号的指数函数的和。 在这篇blog中,用到了softmax作正则化的处理,让最终的输出为概率,也就是说可以生成百分数的结果,这样做不仅可以找到最大概率的分类,而且可以知道各个分类计算的概率值。

(4)ReLU函数

其实这个函数我了解的不是很多,在一篇关于两层神经网络的知乎文章中有了解过一点。在神经网络发展的历史上,sigmoid函数很早就开始被使用了,而最近则主要使用ReLU(Rectified Linear Unit)函数。这里简单解释一下。ReLU函数,当输入为负值时,输出为0,当输入为非负,输出等于输入。

看到这里我们可以更直观、更简单的描述神经网络神经网络是许多神经元按照某一结构层次组合起来的。

二、感知机(perceptron)和多层前馈神经网络

感知机是由两层神经元组成(两个)。输入层接收外界输入信号给输出层,输出层是M-P神经元。由此可以知道感知机只拥有一层功能神经元,它只有输出层可以进行激活函数的处理,这个处理能力对我们现实的问题的处理是远远不够的。感知机能处理与、或、非问题。两层感知机能处理异或问题。两层感知机包含输入层、输出层、隐藏层。

多层前馈神经网络:不存在跨层连接,但是同层间可以多条连接,每层神经元与下一层神经元实现全互连。注意:这里的前馈不代表信号不能往回传!而是指网络拓扑结构上不存在环或回路。注意:只要包含隐层就是多层网络,隐层中包含功能神经元!!

所以神经元到底学的什么??神经网络的学习过程,是根据训练数据来调整神经元之间的“连接权”以及每个功能神经元的阈值

三、反向传播算法(BP算法)

BP算法是一种迭代学习算法,它主要应用于多层前馈神经网络和其他类型的神经网络。BP算法给予梯度下降侧列,以目标的负梯度方向对参数进行调整,BP算法的最终目标是最小化训练集D上的累积误差。它的算法过程如下。


   标准的BP算法每次针对一个训练样例更新连接权和阈值,更新参数很频繁,这样可能将这个更新的效果“抵消”。除了上述“标准”BP算法外,还有累计BP算法。累计BP算法:直接针对累积误差最小化,它读取整个训练集D,读完一遍后才对参数更新,更新的频次要少得多。但是累计BP算法对于训练集非常大时,当累计误差下降到一定程度后,进一步下降会很缓慢很缓慢,这是一个会舍弃累计BP算法的原因。

BP算法会出现一个缺点:过拟合。解决它的策略有两种:(1)早停;(2)正则化。

四、全局最小和局部极小

有高等数学的基础,实际上我们可以很直观的理解什么是全局最小?什么是局部极小?狭义来讲全局最小一定是局部极小,反之不成立。我们在实际的算法操作中,是想要直接遇到全局最小,而不是局部最小。所以提出了很多可能的能跳出局部极小的方案。(虽然实际上,可能跳出的是全局最小
 (1)从多个不同的初始点开始搜索,这样可能会陷入不同的局部极小,然后选最接近全局最小的。
 (2)模拟退火技术。在每一步都以一定的概率接受比当前解更差的结果,从而有助于跳出。这样在每次迭代过程中,我接受比当前更差的概率会减小,这样可以保证算法稳定。
 (3)随机梯度下降法。加入了随机因素,这样即便陷入了局部极小,计算出来的梯度也不为0,这样就还有机会继续搜索。
    除此之外还有遗传算法,也常用来训练神经网络。

虽然在书上,第五章只有短短三十页左右。一篇篇幅也是很难完整记录下来的,今天就写到这里吧。

学习笔记----周志华《机器学习》第五章(神经网络)(一)相关推荐

  1. 【周志华机器学习】五、神经网络

    文章目录 参考资料 1. 基本概念 1.1 神经元模型 2. 感知机与多层网络 隐藏层的解释 3. BP神经网络算法 3.1 算法思想 3.2 过拟合问题 4. 全局最小与局部最小 5. 深度学习 5 ...

  2. 学习笔记----周志华《机器学习》第五章(神经网络)(二)

    周志华<机器学习>第五章(神经网络)的学习笔记上篇连接在这里:<上篇>.上篇讲到了神经网络.常用的激活函数.感知机和多层前馈神经网络.局部极小和全局最小,今天继续补上昨天落下得 ...

  3. 根据《机器学习》(周志华)第五章内容,用Python实现标准BP算法

    BP神经网络由一层输入层.任意隐层(一般为1).一层输出层组成.假定输入向量为n维向量,即输入神经元数量为n,隐层的层数为num,每一层隐层的神经元数量为eachCount,输出向量为yCount维向 ...

  4. 周志华机器学习--绪论

    周志华机器学习–绪论 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 文章目录 周志华机器学 ...

  5. 周志华机器学习-决策树

    周志华机器学习-决策树 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 文章目录 周志华机器 ...

  6. 周志华机器学习-支持向量机

    周志华机器学习-支持向量机 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 – 文章目录 周 ...

  7. 周志华机器学习(西瓜书)学习笔记(持续更新)

    <周志华机器学习>笔记 第1章 绪论 1.1 引言 1.2 基本术语 1.3 假设空间 1.4 归纳偏好 1.5 发展历程 1.6 应用现状 第2章 模型评估与选择 2.1 经验误差与过拟 ...

  8. 【读书笔记】周志华 机器学习 第二章 模型评估和选择

    第二章 模型评估和选择 1 欠拟合和过拟合 偏差和方差 1.1 欠拟合和过拟合 1.2 偏差和方差 2 评估方法 性能度量 2.1 评估方法 2.1.1 留出法 2.2.2 交叉验证法 2.2.3 自 ...

  9. 周志华机器学习--模型评估与选择

    周志华机器学习–模型评估与选择 第一章 绪论 第二章 模型评估与选择 第三章 线性模型 第四章 决策树 第五章 支持向量机 第六章 神经网络 第七章 贝叶斯分类器 第八章 集成学习和聚类 文章目录 周 ...

最新文章

  1. 面试题--特别是字节对齐
  2. 第 15 章 Framework Design
  3. [转载]浅析jQuery框架与构造对象
  4. 组播,单播,广播,多播,泛洪的概念
  5. Faster R-CNN的安装及测试(Python版本和Matlab版本)
  6. HDOJ 2018 母牛的故事
  7. CSS3 多列布局的跨列
  8. 训练代码_无需一行代码,完成模型训练和部署,这个AI工具开始公测
  9. 2.2 LayoutInflater 加载布局文件源码
  10. 显式Intent 和隐式 Intent 的区别
  11. python bp神经网络进行预测_python实现BP神经网络回归预测模型
  12. [BZOJ 5074]小B的数字
  13. php函数默认参数放在哪测,php函数默认参数的实例代码
  14. 双线性映射matlab,[Matlab]双线性变换法设计数字带通滤波器
  15. 求大佬帮帮忙 ubuntu 安装完成vsftpd后用windows10的上安装的cutftp连接出现下面的情况 远程主机主动拒绝了对其进行的连接尝试
  16. jenkins(一)------Windows环境下jenkins下载和安装
  17. python中def demo是什么意思_python中def是什么意思
  18. 那些不能在一起吃的水果搭配
  19. 【习题之局域网及组网技术篇】子网划分分配方案
  20. 智能门锁物联卡开启智能家庭新模式,引领智能家居新征程

热门文章

  1. 高德技术开放日 | 聊聊技术与成长那些事,大量实习岗、社招岗开放
  2. 全球顶会论文作者,28天手把手带你复现顶会论文
  3. 当深度学习遇上量化交易——公开信息篇
  4. CVPR 2020 | 港中文提出3D目标检测新框架DSGN
  5. 飞桨端到端开发套件揭秘:四大秘密武器,让你的开发效率直线提升
  6. Wannafly summer camp
  7. 邮件excel html,小数点分隔符在电子邮件(HTML/CSS)在Excel的VBA编程
  8. 【Java报错】借助@PostConstruct解决使用@Component注解的类用@Resource注入Mapper接口为null的问题(原因解析+解决方法)
  9. BugKuCTF WEB 本地包含
  10. 【学习笔记】操作系统之哲学原理