Tensorflow 入门学习4 重要算法基础
2018-01-31 08:48
615 查看
本文学习内容来自《TensorFlow深度学习应用实践》
即:
yj=∑i=1nwijxi−θjyj=∑i=1nwijxi−θj
即逻辑回归模型。
生物神经元和MP神经元模型的对应关系如下表:
20世纪80年代中期,David Runelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分别独立发现了误差反向传播算法(Error Back Propagation Training),简称BP,系统解决了多层神经网络隐含层连接权学习问题,并在数学上给出了完整推导。人们把采用这种算法进行误差校正的多层前馈网络称为BP网。
BP神经网络具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或(Exclusive OR,XOR)和一些其他问题。从结构上讲,BP网络具有输入层、隐藏层和输出层;从本质上讲,BP算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。
随着层数的增多,反向传递的残差梯度会越来越小,这样的现象,被称作梯度消失(Vanishing Gradient)。它导致的结果是,虽然靠近输出端的神经网络已经训练好了,但输入端的神经网络仍处于随机状态。也就是说,靠近输入端的神经网络,有和没有都是一样的效果,完全体现不了深度神经网络的优越性。
和梯度消失相反的概念是梯度爆炸(Vanishing Explode),也就是神经网络无法收敛。
参考:http://blog.csdn.net/antkillerfarm/article/details/74187428?locationNum=3&fps=1
以上引自《百度百科》
ANN简史
MP模型
MP神经元模型是1943年,由Warren McCulloch和Walter Pitts提出的。即:
yj=∑i=1nwijxi−θjyj=∑i=1nwijxi−θj
即逻辑回归模型。
生物神经元和MP神经元模型的对应关系如下表:
生物神经元 | MP神经元模型 |
---|---|
神经元 | j |
输入信号 | xixi |
权值 | wijwij |
输出信号 | yjyj |
总和 | ∑∑ |
膜电位 | ∑ni=1wijxi∑i=1nwijxi |
阈值 | θjθj |
BP神经网络简介
在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工神经网络的发展发挥了极大的作用,也被认为是一种真正能够使用的人工神经网络模型,它的出现曾掀起了人们研究人工神经元网络的热潮。单层感知网络(M-P模型)做为最初的神经网络,具有模型清晰、结构简单、计算量小等优点。但是,随着研究工作的深入,人们发现它还存在不足,例如无法处理非线性问题,即使计算单元的作用函数不用阀函数而用其他较复杂的非线性函数,仍然只能解决解决线性可分问题.不能实现某些基本功能,从而限制了它的应用。增强网络的分类和识别能力、解决非线性问题的唯一途径是采用多层前馈网络,即在输入层和输出层之间加上隐含层。构成多层前馈感知器网络。20世纪80年代中期,David Runelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分别独立发现了误差反向传播算法(Error Back Propagation Training),简称BP,系统解决了多层神经网络隐含层连接权学习问题,并在数学上给出了完整推导。人们把采用这种算法进行误差校正的多层前馈网络称为BP网。
BP神经网络具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或(Exclusive OR,XOR)和一些其他问题。从结构上讲,BP网络具有输入层、隐藏层和输出层;从本质上讲,BP算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。
BP算法的缺点
传统的BP算法,理论上可以支持任意深度的神经网络,但实际使用中,很少能支持3层以上的神经网络。随着层数的增多,反向传递的残差梯度会越来越小,这样的现象,被称作梯度消失(Vanishing Gradient)。它导致的结果是,虽然靠近输出端的神经网络已经训练好了,但输入端的神经网络仍处于随机状态。也就是说,靠近输入端的神经网络,有和没有都是一样的效果,完全体现不了深度神经网络的优越性。
和梯度消失相反的概念是梯度爆炸(Vanishing Explode),也就是神经网络无法收敛。
参考:http://blog.csdn.net/antkillerfarm/article/details/74187428?locationNum=3&fps=1
最小二乘法(LS算法)
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。梯度下降算法
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。以上引自《百度百科》
相关文章推荐
- tensorflow学习笔记二:入门基础
- STL + c++ + 模板 + 重要思维 + 基础算法+ 经典算法 + 经典实例 + 编程总结+ 心得+ 入门必会 + 知识点汇总。
- java入门学习(3)—循环,选择,基础算法,API概念
- 机器学习&深度学习基础(tensorflow版本实现的算法概述0)
- TensorFlow入门深度学习--02.构建神经网络训练算法的步骤
- tensorflow学习笔记二:入门基础
- java入门学习(3)—循环,选择,基础算法,API概念
- 【算法零基础入门】 学习笔记一 什么是数据结构
- STL + c++ + 模板 + 重要思维 + 基础算法+ 经典算法 + 经典实例 + 编程总结+ 心得+ 入门必会 + 知识点汇总。+string +dfs +bfs等重要算法
- tensorflow学习记录(二):入门基础
- tensorflow学习笔记二:入门基础
- 机器学习-tensorflow入门教程一——基础内容
- [个人记录]小白书学习第6章数据结构基础算法竞赛入门经典第一版)
- TensorFlow入门深度学习--01.基础知识
- 后缀数组入门学习(1):倍增算法基础
- Tensorflow深度学习入门——基础运行流程
- tensorflow学习笔记二:入门基础
- tensorflow 学习笔记(三) - 入门基础
- TensorFlow入门学习(让机器/算法帮助我们作出选择)
- 零基础入门学习Python(36)--类和对象:给大家介绍对象