机器学习(三):神经网络
来源:互联网 发布:太原知达常青藤中学校 编辑:程序博客网 时间:2024/06/08 10:11
一、神经网络
考虑一个监督学习问题,我们有一些有标签的数据()。神经网络经证明可以表示任意复杂的、非线性的决策空间,可以近乎完美的与输入数据相拟合。
为了表示一个神经网络,我们从描述一个最简单的神经网络,即单个神经元开始。一个神经元如下图所示:
一个神经元类似于一个计算单元,在上图中,其输入为x1,x2,x3和一个+1常数项,而输出为:
其中,f()函数为:
因此,对于单个神经元来说,其输入输出是相当于一个logistic regression的。
尽管在激发时选择使用了sigmoid函数,但这并没有什么特别的用意,也可以是tanh函数,如:
最近的研究给出了新的激活函数模型,the rectified linear function,在深度神经网络中表现比较好。这个函数与sigmoid和tanh的区别在于其不是严格有界或连续可微的。其表示为:
以下是sigmoid,tanh和rectified linear函数的图像:
一个浅层的神经网络模型如下图所示:
图中分为三个部分,分别是输入层,隐藏层和输出层。+1代表的是偏置的bias项。
神经网络的前向传播算法很简单,就此略过,重点看神经网络的反向传播算法(BP)。
对于总计L层的神经网络,从第L层往前推,第L层的误差为:
这个误差就是输出的估计和实际结果之间的误差。
向前传播:
其中,是经过sigmoid函数处理后的。现在要通过sigmoid gradient 去除这样一个影响:
下一步是误差积累:
然后在每层之间使用梯度下降算法进行修改。
其实,基本思路是这样的:
1、 先计算最后一层的误差
2、 通过上一层的误差计算前一层的误差
3、 将前一层的误差作为输入,通过梯度下降思路,由链式法则推导,调整两层之间的参数矩阵,使得下一层的误差减小
4、 循环2,3两步直到收敛
在此就不详细推导BP算法的细节了。- 机器学习(三):神经网络
- 机器学习--学习笔记(三)--神经网络
- 系统学习机器学习之神经网络(三)--GA神经网络与小波神经网络WNN
- 机器学习(神经网络)
- python机器学习之神经网络(三)
- python机器学习之神经网络(三)
- python机器学习之神经网络(三)
- python机器学习之神经网络(三)
- 神经网络学习(三)
- 机器学习----神经网络(python)
- 机器学习(5)-神经网络
- 机器学习(6)-神经网络
- 《机器学习》学习笔记(二):神经网络
- Andrew Ng机器学习笔记+Weka相关算法实现(三)神经网络和参数含义
- 【机器学习】动手写一个全连接神经网络(三):分类
- AI机器学习(三)神经网络在图片上的应用(C#)
- 机器学习与神经网络(三):自适应线性神经元的介绍和Python代码实现
- 机器学习:利用卷积神经网络实现图像风格迁移 (三)
- iOS 安装使用CocoaPods
- openat()函数的用法示例
- android studio for android learning (十三) 一个简单的图片查看器示例
- Optimus双显卡笔记本上用MediaCoder转换iPhone/iPod 4视频
- Gits使用心得
- 机器学习(三):神经网络
- Java学习路线 重点 与目标
- mysql忘记密码怎么办
- iOS利用HealthKit框架从健康app中获取步数信息
- ==,equal的区别
- Ubuntu下print报错:Warning:unknown mime-type for ...(未解决)
- net开发面试题
- HTTP协议个人理解
- Lisp的精髓