Machine Learning第五讲[神经网络: 学习] --(一)代价函数和BP算法
来源:互联网 发布:linux mv 覆盖目录 编辑:程序博客网 时间:2024/06/05 19:52
内容来自Andrew老师课程Machine Learning的第五章内容的Cost Function and Backpropagation部分。
一、Cost Function(代价函数)
1、先来看一下两个术语:L和的含义
(1)L是指神经网络的层数
(2)是指第l层的单元数目(不包含偏执神经元)
图的下半部分比较了二元分类和多元分类中,K值的大小。
2、下面是神经网络的代价函数,
神经网络的代价函数看起来比较复杂,含有嵌套的加法,但是它和logistic回归中代价函数的主要区别便是将输出的每一个元素都加起来了。
注意:在加法过程中,公式的下标是从1开始的,即不包含下标为0的值。
二、Backpropagation Algorithm(BP算法)
本部分内容主要是找出使得代价函数最小化的算法,主要是反向传播算法。
下面是神经网络的代价函数。其中红色框出的部分是正则项。
k:输出单元个数即classes个数,L:神经网络总层数,:第层的单元数(不包括偏置单元),:表示第层边上的权重即参数。
我们的目标是找出Θ,使得J(Θ)的值最小。
最先想到的方法便是求偏导(其中∈R。),J(Θ)可以由公式直接给出,关键就是如何计算其偏导。
下面给出前向传播的基本过程。
关于反向传播,就是前向传到过程反过来。
给出右图(总共有4层)所示的例子,之所以叫做反向传播,是因为先从输出层开始计算,从后往前推,类似于把输出结果的误差反向传播给了第3层,又将第3层的误差反向传给了第2层。
纠正:delta叫做残差
接下来看BP算法的原理:
1、利用forward propagation计算出每一层的“激活值”。
2、计算出最后一层即输出层每个输出单元的残差。
3、计算出第层节点的残差。
4、计算出我们需要的偏导数。
三、Backpropagation Intuition(BP算法的直观过程)
本部分主要通过2个图形来更直观地理解前向传播和反向传播的计算过程。
1、首先来看一个前向传播的计算过程,都是利用左侧的数据算出右侧的数据:
2、定义delta残差和平方误差函数的关系(忽略了正则项的影响,例子也是只有1个输出值的特例)
3、下面是反向传播的计算过程,总是利用右侧的数据计算出左侧的数据:
0 0
- Machine Learning第五讲[神经网络: 学习] --(一)代价函数和BP算法
- Machine Learning第五讲[神经网络: 学习] --(二)实践中的BP算法
- Machine Learning第一讲[单变量线性回归] --(一)模型和代价函数
- 《Machine Learning》第五讲 神经网络
- Stanford Machine Learning -- 第五讲 神经网络
- Machine Learning第四讲[神经网络: 表示] --(一)动因
- Andrew Ng《Machine Learning》第五讲——神经网络模型训练(cost function &backpropagation)
- Machine Learning第六讲[应用机器学习的建议] --(一)评估学习算法
- Machine Learning第八讲[非监督学习] --(一)聚类
- Machine Learning第四讲[神经网络: 表示] --(二)神经网络
- Machine Learning机器学习课堂笔记4(代价函数)
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(2.线性回归,代价函数)
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(3.代价函数直观理解)
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(3.代价函数直观理解)
- 今天开始学Pattern Recognition and Machine Learning (PRML),章节5.2-5.3,Neural Networks神经网络训练(BP算法)
- 今天开始学Pattern Recognition and Machine Learning (PRML),章节5.2-5.3,Neural Networks神经网络训练(BP算法)
- [Deep Learning]学习记录1-Python实现神经网络BP算法
- [Deep Learning]学习记录1-Python实现神经网络BP算法
- yaml语言简介
- C#DynamicObject和ExpandoObject
- 设计模式学习之组合模式
- SAS中常见的数组函数
- Java读写XML文件(DOM4J包)
- Machine Learning第五讲[神经网络: 学习] --(一)代价函数和BP算法
- SVM实现
- 机器学习-实战-入门-linearSVC和SVC,身高体重与胖瘦关系的分类与预测
- 矩阵分解(MF)方法及代码
- codevs 3287 货车运输
- zxing实现二维码生成和解析
- 【React Native开发】
- 开始记录一个大一新生的C语言学习之路
- ubunutu 16.04 下创建可以同时使用 python2 和 python3 的虚拟环境