神经网络基础知识梳理
神经网络是什么
说明:
我们在机器学习中谈论的神经网络是指“神经网络学习”,即机器学习与神经网络这两个学科领域的交叉部分。生物学意义上神经网络的最基本成分是神经元,计算机科学中的神经网络的最基本成分是神经元模型。
最广泛的一种定义是:
神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应。
这里的简单单元,指的就是神经元模型。
对于后半句话,其实我们可以不考虑神经网络是否真的模拟了生物神经网络,只需将1个神经网络视为包含了许多参数的数学模型,这个模型是由若干个函数相互嵌套而得。
神经元模型
- 1943年,McCulloch and Pitts将生物神经网络中的神经元作用原理抽象成一直沿用至今的“M-P神经元模型”。
- 在这个模型中,神经元接收到n个来自其他神经元传递过来的输入信号,这些信号有不同的权重,接收到的总输入值会被与神经元的阈值(临界值)进行比较,在经过响应(又称激活)函数处理后产生输出。
- 理想的响应函数是阶跃函数,可以直接将输入值映射为0/1,但由于其具有不连续、不光滑的缺点,常常采用Sigmod函数作为阶跃函数,可以将较大范围的输入值映射到(0,1),故又称挤压函数。
神经网络的学习
- 学什么: 如上所述,神经网络是一个包含许多参数、由若干函数相互嵌套而得的数学模型。(例如10个神经元组成的网络,就包含了10个阈值和90个连接权重)一般情况下,给定训练数据集,权重和阈值通过学习来得到。
- 如何学: 如果阈值看作固定输入,那么只需针对权重学习。学习规则很简单,对训练样例,如果预测正确,则权重不发生改变;否则根据偏差大小对错误进行调整。
多层神经网络
- 让我们首先来认识一个基本的,不属于多层的神经网络——感知机。它是由两层神经元组成的,输入层和输出层。其中输入层负责接受外界的输入信号并传递给输出层,即不负责函数处理,输出层神经元属于M-P神经元,会进行激活函数处理。也就是说,感知机它只拥有一层功能神经元,这就使得它的学习能力十分有限。
- 怎么办呢?我们需要在输入层和输出层中间加入更多的功能神经元,这些中间层被称为隐藏层。只需包含隐层,就可称为多层神经网络。例如,单隐层神经网络共包含三层:输入,隐藏和输出。
- 神经网络多为层级结构,每层神经元与下一层神经元全互联,不存在同层l和跨层连接。这样的结构称为多层前馈神经网络。注意,前馈不意味着信号不能相候船,而是指网络拓扑结构上不存在环或回路。
深度学习
- 理论上来说,参数越多的模型复杂度越高,“容量”越大,这意味着它能完成更复杂的学习任务。但是呢,这也就意味着复杂模型训练起来更困难。而随着云计算、大数据时代的到来,计算能力的大幅提高极大地提升了训练的效率,训练数据的大幅增加则可降低过拟合风险。这使得以深度学习为代表的复杂模型开始受到人们关注。
- 典型的深度学习模型是很深层的神经网络。多隐层神经神经网络有一下两种有效的训练手段。
① 无监督逐层训练
基本思想:“预训练+微调”。
每次训练一层隐节点,训练时将上一层隐节点的输出作为输入,而本层隐节点的输出作为下一层隐节点的输入,这称为“预训练”。
在预训练全部完后曾后,再对整个网络进行“微调”训练。
应用:DBN 深度信念网络
②权共享
基本思想:让一组神经元使用相同的连接权重。
应用: CNN 卷积神经网络 - 理解深度学习的另一个角度。
无论DBN还是CNN,其多隐层堆叠,每层对上一层的输出进行处理的机制,可看作是在对输入信号进行逐层加工,从而把初始的、与输出目标之间联系不太密切的输入表示,转化成与输出目标联系更密切的表示,使得原来仅基于最后一层输出映射难以完成的任务成为可能。
换言之,通过多层处理,逐渐将初始的底层特征转化为高层特征表示后,用简单模型即可完成复杂的分类等学习任务。由此可以将深度学习理解为进行“特征学习”。
出处:周志华《机器学习》
神经网络基础知识梳理相关推荐
- Python基础知识梳理(一)
Python基础知识梳理: 转载于:https://blog.51cto.com/10412806/2095116
- C#基础知识梳理系列十:异常处理 System.Exception
C#基础知识梳理系列十:异常处理 System.Exception 参考文章: (1)C#基础知识梳理系列十:异常处理 System.Exception (2)https://www.cnblogs. ...
- python语法基础知识总结-Python基础知识梳理 - 第01部分
在开始Python基础知识梳理前, 先安装下环境. 以下过程是在Linux操作系统, root用户下进行的, 主要安装了2.7版本的python, 和pip, ipython, virtualenv等 ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- 深度学习:神经网络基础知识总结
[神经网络基础知识总结]: 定义: 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它 ...
- python入门题目及答案_Python基础自测题答案和基础知识梳理
Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...
- mysql 算子 谓词_[SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式
SQL 基础知识梳理(六)- 函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为"参数",输出值称 ...
- Js基础知识梳理系列
小序:总是感觉自己的技术一直在原地踏步,想学习一些新的技术,但学起来很吃力,而且总是没有什么实际的收获,似乎进入了所谓的"瓶颈期".问了一些前辈是否也遇到过同样的问题,他们给我的解 ...
- python理论知识选择题_Python基础自测题答案和基础知识梳理
Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...
最新文章
- cannot import name ‘izip‘ from ‘itertools‘
- leetcode算法题--二叉树中的列表★
- BZOJ 3910 并查集+线段树合并
- 聊聊缓存机制:双写兜兜转转,又回到了串行化
- linux中匿名用户怎么登陆_Linux网络配置 | FTP 实战-匿名用户登录
- Leecode刷题热题HOT100(4)——寻找两个正序数组的中位数
- Spring cloud Gateway(二) 一个Http请求的流程解析
- yolov3代码详细解读
- 白话空间统计二十四:地理加权回归(六)ArcGIS的GWR工具参数说明一
- Three.js的人物动画与交互
- C语言知识点——函数参数
- [资源分享]yslow 与firebug 修复版本Firefox35【绿色版本下载】
- python定义一个矩形类_矩形类Python
- 中国新鲜杏子行业市场供需与战略研究报告
- IKBC键盘win键失效
- Unity全面的面试题(包含答案)
- 微信商家收款码怎么申请
- cpu2017的526.blender编译出错原因
- 用koomail有条不紊分类管理邮件
- 深圳市华宇讯科技有限公司(卖座网)打靶归来