Neural Networks
来源:互联网 发布:淘宝旺铺基础版模板 编辑:程序博客网 时间:2024/05/20 05:53
继续之前的整理。
这次把多层感知机整理一下,其实多层和一层的原理都一样,都是知道误差以后,重新调整权重的过程。
其实深度学习也就是把hidden这一层不断的变多,十几层甚至几十层,当然他们的计算方法就和我马上要说的不太一样。
假设我现在的神经网络有三层,input、 hidden、 output。 他们之中分别有三个神经元i, j, k。
我首先知道了最后的结果的误差,然后对他进行downstream的计算。
我们现在要求出这一项
计算出以后为
但这一项暂时还不能用,需要继续计算
然后把这个式子拆成两个部分进行计算
另一部分
这个地方我们要提一个东西,叫做sigmoid函数,他是一个有效的映射函数,可以将值稳定的映射在0~1之间,而且导数也很好计算。具体可以参考:
https://baike.baidu.com/item/Sigmoid%E5%87%BD%E6%95%B0/7981407?fr=aladdin
然后我们就得到了
最后计算出答案:
但这还只是一半,现在只得到了output层的改变量,还需要一个hidden层的改变量。
这个量不能够通过简单的误差方法的计算,因为这个误差我们是不能够得到的,于是我们采用了一种反馈的方式,即:
上一层的使用本神经元的错误的汇总是本神经元的错误。
最后得:
最后得到改变量:
这样的话我们就得到了最后的改变量。
整理一下:
for each output unit k:
for each hidden unit h:
update each network weight:
其实最后得到的式子就是这么简单的三个,但是需要认真了解为什么是这三个,以及到底是如何计算的。
说到这里,neural networks还有一个问题,容易陷入局部最优。我们可以通过最简单的多试几次来解决这个问题,
但不仅如此,我们还可以再添加一个量,这个量由上一个时刻的量所决定,具体体现为:
当然,这个只是一个简单的感知机的实现,现在还有更多的其他的实现方式,欢迎讨论。
- Neural networks
- Neural Networks
- neural networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks网站
- Deep learning-------------Neural networks
- Neural Networks code
- Back-Propagation Neural Networks
- Convolutional Neural Networks
- 09: Neural Networks - Learning
- 神经网络(Neural Networks)
- NOTE:NEURAL NETWORKS
- 6-Neural Networks--Representation
- ORACLE 中的union(去重并集),union all(不去重并集),intersect(交集),minus(减集)
- ETL学习笔记之三:MS SQL DTS
- OD常用断点大全~
- ETL学习笔记之四:开源项目 Kettle
- 对JAVA框架SSH的理解
- Neural Networks
- 循环反思-for循环的滥用
- Java中的反射机制
- 一个非常标准的Java连接Oracle数据库的示例代码
- Game of Peace
- 纯css3饼图五等分
- the user operation is waiting for "building workspace " complete
- 安装多个jdk版本灵活切换选中开发环境
- JAVA包介绍