【学习笔记3】Neural Network --BP方法
来源:互联网 发布:ubuntu 中科大源 编辑:程序博客网 时间:2024/05/19 04:02
机器学习算法可以看做是对于Logistic Regression的一种升级版,其主要的思想是构建分层的神经网络结构,层与层之间以非线性映射的方法进行连接,通过这种多层的非线性关系来拟合复杂的Decision Boundary。
一个神经网络至少包含输入层和输出层,可以有一个或多个隐藏层。隐藏层就是处于输入层和输出层之间、对外不可见的层。一般来讲,隐藏层越多,学习的效果越好,但是相应的学习计算代价就越大。
对于一个神经网络,其学习参数的个数是由层数和每层中节点个数决定的。每相邻两层有一个参数矩阵
首先给出模型,输入为一个
Cost Function的定义与Logistic Regression相似,不过需要对
根据之前的经验,有了Cost Function,只要再分别计算出它关于每个参数
算法的思想是,如果对于每一个参数直接求导则运算量太大,希望通过递推的方式来求得所有的偏导数。通过分析可以发现,
由此,对倒数第二个参数矩阵求导的结果应为:
这就是Backpropagation的主要思想。除此之外,还可以使用数值方法计算每一个
还有一个需要注意的问题就是在选择初始化
init_theta = 2*epsilon*rand(m,n) - epsilon
。还有就是做Regularization的时候使用了Octave中的fmincg方法进行学习,得到了不错的效果。
有机会要研究一下神经网络背后的原理。
0 0
- 【学习笔记3】Neural Network --BP方法
- BP neural network note
- BP Neural Network
- BP Neural Network
- 机器学习笔记-Neural Network
- Principle of Bp Neural network
- 机器学习笔记——Neural Network
- Threshold function with BP neural network
- MLP && BP && RBF && SVM Neural Network
- CNTK学习笔记 -- Computation Network part3 -- Convolutional Neural Network
- 深度学习框架Keras学习系列(二):神经网络与BP算法(Neural Network and BP Algorithm)
- Neural Network 笔记
- 神经网络笔记(Neural Network)
- cs231n neural network 笔记
- 学习笔记6 Supervised Convolutional Neural Network 之 Convolutional Neural Network
- [论文笔记] CRNN(Convolutional Recurrent Neural Network)_2015 学习笔记
- 机器学习技法课程学习笔记12-- Neural Network
- UFLDL学习笔记4——Multi-Layer Neural Network
- 十个C开源项目
- 将linux默认python升级到2.7.4版本
- SMTP基本原理与C++实现向多人发送邮件
- 如何选择工业相机
- linux安装cx_oracle
- 【学习笔记3】Neural Network --BP方法
- JSP - Life Cycle
- Linux 常用命令 最常用的
- 我来说:考试判分
- 看问题的视角和接触的人
- Android判断app当前是否联网
- java中split以"."分隔和以"\"分隔
- maven + eclipse 问题记录
- Android的selector,背景选择器