Neural Networks and Deep Learning 学习笔记(三)
2016-06-16 19:41
411 查看
1. 怎么理解C(w,b)≡12n∑x∥y(x)−a∥2
首先,∥v∥是指范数范函是一个函数,其为矢量空间内的所有矢量赋予非零的正长度或大小
好吧,这其实是个均方误差函数,可自行查阅百度百科,但是不明白为什么是12n。
2. 什么是梯度下降,为什么要用梯度下降算法。
首先,梯度就是标量场某一点增长最快的方向向量,向量大小是这个最大变化率。就比如一元函数(就是y=f(x)这种)函数,那么梯度的大小为其导数,因为导数就是δy/δx,就是函数在这一点的变化率。而方向为切线方向,因为在x方向的变化量只有δx,y方向的变化量只有δy,而切线方向则为二者平方和的根号,显然切线方向增长最快。
我们知道沿梯度方向是增长最快的方向,那么沿着梯度的反方向就是减小最快的方向了。此时的减小率为最大也就是斜率。而x−最大减小率乘以步长,可以保证x在越接近极值点时x减小程度越小。
所以神经网络中用梯度下降法逼近真实值非常好,不至于一次减小的过大造成更大偏差。
相关文章推荐
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#递归算法之分而治之策略
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- C#算法函数:获取一个字符串中的最大长度的数字
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 经典排序算法之冒泡排序(Bubble sort)代码
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法