课时72 代价函数
神经网络分类模型:
第10章 神经网络参数的反向传播算法
L代表层数,sl代表每层的单元数(不算bias unit)。K可以代表最后一层的sl,也就是几元分类问题。
代价函数:
第10章 神经网络参数的反向传播算法
与逻辑回归相比,神经网络可以用很多输出变量,hθ(x)是一个维度为K的向量(i表示其中的第几个元素),因变量也是同样维度的向量,就会复杂一些。但是思想都是通过代价函数来观察算法预测的结果与真实情况的误差,不同的是对每一行特征,我们都会给出k个预测,利用循环在预测中选择可能性最高的的一个,与y中的实际数据进行比较。
正则化项是排除了每层的θ0后,每一层θ矩阵的和。最里层的j循环的是所有的行(由sl+1层的**单元数决定),i循环所有的列(由该sl层的**单元数决定)。也就是hθ(x)与真实值之间的距离为每个样本-每个类输出的加和。

课时73 反向传播算法back propagation algorithm最小化代价函数的方法
第10章 神经网络参数的反向传播算法
用反向传播算法计算偏导数项:
第10章 神经网络参数的反向传播算法
δj(l)表示第l层第j个节点的误差值。δ的大写字母是三角形,三角形代表误差矩阵。上面老师写的结果是不做正则化处理的偏导结果。
注意:l表示第几层。
j表示当前层的**单元下标,也就是下一层第j个输入变量的下标。
i表示下一层中误差单元的下标。
反向传播算法求出偏导数:
第10章 神经网络参数的反向传播算法
即首先用正向传播方法计算出每一层的**单元,利用训练集的结果与神经网络预测的结果求出最后一层的误差,然后利用该误差运用反向传播计算出直至第二层的所有误差。

课时74 直观理解反向传播算法
为了更好地理解反向传播算法,我们先再看看正向传播算法:
第10章 神经网络参数的反向传播算法
z加上sigmoid函数就是a。正向传播算法是从左到右遍历神经网络,反向传播算法是从右到左。
再来看一下代价函数:第10章 神经网络参数的反向传播算法
这是只有一个输出的情况,如果是多元分类,会涉及到k了。先简单地把cost(i)考虑成某种方差函数,不考虑带log的sigmoid函数,delta项实际上是代价函数中建项的偏导数。
第10章 神经网络参数的反向传播算法
反向传播是反向计算δ:第10章 神经网络参数的反向传播算法
如何反向计算delta:
第10章 神经网络参数的反向传播算法

课时75 使用注意:展开参数unroll parameters
高级优化算法中要求初始参数theta的Theta1,Theta2,Theta3是向量而不是矩阵,gradient的D1,D2,D3也是向量,这里讲一下把矩阵转化成向量的方法:
第10章 神经网络参数的反向传播算法
reshape函数是还原列向量成矩阵。
第10章 神经网络参数的反向传播算法
过程:第10章 神经网络参数的反向传播算法

课时76 梯度检测gradient checking
当我们对一个较为复杂的模型,如神经网络,使用梯度下降的时候,可能会存在一些不易察觉的bug,即使代价在每次迭代中都在减小,但最终的结果可能并不是最优解。用gradient checking解决这个问题。
求一个点处的导数:第10章 神经网络参数的反向传播算法
上例中θ是实数,如果theta是n维向量,用偏导数检验:
第10章 神经网络参数的反向传播算法
Octave中实现:
第10章 神经网络参数的反向传播算法
梯度检测:第10章 神经网络参数的反向传播算法
注意:先用backprop反向传播计算DVec(展开的D(1)D(2)D(3)),再用梯度检测计算gradApprox看是否近似相等。然后一定要关闭梯度检测,再用反向传播计算进行训练,否则程序会很慢。

课时77 随机初始化random initialization
不可以再像逻辑回归一样把参数θ初始值全设为0了,就算不是0是别的相同的数,那样所有权重都一样,第二层所有**单元的值也都相同了。
第10章 神经网络参数的反向传播算法
课时78 组合到一起
先选择网络构架architecture:输入单元数就是有几个特征。输出单元数就是有几个分类。隐藏层数一般来说是一层,当然越多层越好。每个隐藏层的单元数一般来说是一样的,而且和输入层单元数匹配,如多几倍。
训练神经网络:
1、随机地初始化权重,初始化为一些接近0的很小的值
2、用前向传播算法计算hθ(x(i))
3、编程计算J(θ)
4、用反向传播算法计算偏导第10章 神经网络参数的反向传播算法
在for循环中,执行前向传播反向传播就得到了所有的激励值a(l)和delta项δ(l)
5、梯度检测,证明上面求的偏导是正确的,然后关闭梯度检测代码
6、用梯度下降或者优化算法和反向传播来最小化J(θ)

课时80 无人驾驶

相关文章:

  • 2021-12-25
  • 2021-04-04
  • 2021-08-03
  • 2021-10-18
  • 2021-05-10
  • 2021-11-16
猜你喜欢
  • 2021-07-31
  • 2021-11-04
  • 2021-07-07
  • 2021-12-30
  • 2021-06-26
  • 2021-09-27
相关资源
相似解决方案