深度学习:自编码器、神经网络基础
来源:互联网 发布:海川新盟行情软件 编辑:程序博客网 时间:2024/06/01 09:40
基本的自编码器(Autoencoder)是一个含有输入、隐含、输出的三层神经网络,它的目的是尽可能复现输入输出的关系。
一. 神经元
神经网络的最小组成单元是神经元,神经元的结构如下:
左边的
接着每个由输入到中间的那个圆圈的各条箭头线都附有权值
中间的圆圈代表激活函数
最后的
二. 神经网络结构
最基本的神经网络由输入、隐含、输出三层结构组成,如下图:
除了最后一层输出层,每一层的数据都包含额外的一项偏置结点,也就是之前说的截距。每一条带箭头的直线都代表一个权值(
从第一层开始向后一步一步进行加权和激活运算,这个过程叫做前向传播。合理的神经网络会尽可能拟合现有数据的输入输出关系,而要想达到这一目的,我们需要找到每一层网络上的合适的权重
三. 反向传播算法(Backpropagation,BP)
首先我们要设定一个代价函数来评价神经网络求解结果的好坏,和线性拟合的代价函数类似,都是二次损失。整体的代价函数如下:
那么这里为什么要多一规则项(也称权重衰减项)
因为我们为了稳定性要限制
我们的目标是针对参数
需要再次强调的是,要将参数进行随机初始化,而不是全部置为0。如果所有参数都用相同的值作为初始值,那么所有隐藏层单元最终会得到与输入值有关的、相同的函数。
梯度下降法的本质其实就是迭代求编导数:
其中
(1)进行前馈传导计算,利用前向传导公式,得到
(2)对于第
(3)对
以上逐次从后向前求导的过程即为“反向传导”的本意所在
(4)计算我们需要的偏导数,计算方法如下:
反向传播是批量梯度下降中的重要一步,上述公式的具体推导可以看这里 。
现在给出批量梯度下降中的一次完整迭代:
(1)对于所有
(2)对于
①使用反向传播算法计算
②计算
③计算
(3)更新权重参数:
现在,我们可以重复梯度下降法的迭代步骤来减小代价函数
四.参考资料
UFLDL教程
- 深度学习:自编码器、神经网络基础
- 深度学习基础(三)(稀疏)自编码器
- 深度学习基础(八)—— 稀疏自编码器
- 自编码器和深度学习
- [深度学习]深度自编码器简述
- 深度学习笔记:稀疏自编码器(1)——神经元与神经网络
- 深度学习笔记一:稀疏自编码器
- 关于深度学习自编码器理解
- 深度学习之自编码器AutoEncoder
- 深度学习入门 ---稀疏自编码器
- 深度学习笔记: 稀疏自编码器
- 深度学习基础(十一)—— 稀疏自编码器(二)
- 深度自编码器原理
- 系统学习深度学习(二) --自编码器,DA算法,SDA,稀疏自编码器
- 深度学习笔记:稀疏自编码器(4)——稀疏自编码器代码练习
- 稀疏自编码器 栈式自编码器 深度学习预训练
- 深度学习:卷积神经网络基础
- 【Deep Learning】1.深度学习:稀疏自编码器
- LICEcap方便快捷制作gif图片的工具
- mysql 连接url中useUnicode=true&characterEncoding=UTF-8 的作用
- oracle的安装与删除
- adb shell
- CentOs上面安装jdk、Tomcat
- 深度学习:自编码器、神经网络基础
- JS获取url中的字段的值
- git版本控制的使用及介绍
- Android-support-v4 v7 v8 v13 v17 的区别和特性说明
- pwm互补输出是什么意思
- yii2.0 发送邮件带word小附件
- 九度OJ-1112:拦截导弹
- (PAT)1111. Online Map(迪杰斯特拉算法)
- 转完圈后显示完成动画的ProgressDialog