机器学习笔记(七)-神经网络:学习

本次学习笔记主要记录学习机器学习时的各种记录,包括吴恩达老师视频学习、李宏毅老师视频学习、周志华老师的《机器学习》(西瓜书)以及李航老师的《统计学习方法》。作者能力有限,如有错误等,望联系修改,非常感谢!

机器学习笔记(七)-神经网络:学习

  • 一、代价函数
  • 二、反向传播算法
  • 三、反向传播算法的直观理解
  • 四、实现注意:使用参数
  • 五、梯度检测
  • 六、随机初始化
  • 七、综合
  • 八、自主驾驶(Autonomous Driving)


第一版       2022-02-08        初稿

一、代价函数

机器学习笔记(七)-神经网络:学习_第1张图片
假设神经网络的训练样本有m个,每个包含一组输入x和一组输出信号y,S_L表示最后一层中处理单元的个数。
二元分类:S_L=0 , y=0 or 1表示哪一类;
K类分类:S_L=k , y_i=1表示分到第i类;(k>2)
机器学习笔记(七)-神经网络:学习_第2张图片
下边复杂的代价函数思想是一样的,希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同是,对于每一行特征,都会给出K个预测,基本上我们可以利用循环,对每一行特征都预测K个不同结果,然后再利用循环在K个预测中选择可能性最高的一个,将其与y中的实际数据进行比较。
正则化的那一项只是排除了每一层θ_0后,每一层的θ矩阵的和。最里层的循环j循环所有的行(由s_l+1 层的激活单元数決定),循环 i 则循环所有的列,由该层(S_l层)的激活单元数所决定。即:h_θ(x)与真实值之间的距离为每个样本-每个类输出的加和,对参数进行regularization 的bias 项处理所有参数的平方和。

二、反向传播算法

机器学习笔记(七)-神经网络:学习_第3张图片
现在,为了计算代价函数的偏导数 ∂ ∂ Θ i j ( l ) J ( Θ ) \frac{\partial}{\partial \varTheta _{ij}^{\left( l \right)}}J\left( \varTheta \right) Θij(l)J(Θ),我们需要采用一种反向传播算法,也就是首先计算最后一层的误差,然后再一层一层反向求出各层的误差,直到倒数第二层。以一个例子来说明反向传播算法。
机器学习笔记(七)-神经网络:学习_第4张图片
l代表目前所计算的是第几层;
j代表目前计算层中的激活单元的下标,也将是下一层的第j个输入变量的下标;
i代表下一层中误差单元的下标,是受到权重矩阵中第i行影响的下一层中的误差单元的下标。
机器学习笔记(七)-神经网络:学习_第5张图片

三、反向传播算法的直观理解

机器学习笔记(七)-神经网络:学习_第6张图片
本节讨论反向传播算法复杂的步骤,并希望给你一个更加全面直观的感受。
机器学习笔记(七)-神经网络:学习_第7张图片
机器学习笔记(七)-神经网络:学习_第8张图片

四、实现注意:使用参数

机器学习笔记(七)-神经网络:学习_第9张图片
本节介绍一个细节的实现过程,怎样把参数从矩阵展开成向量。
机器学习笔记(七)-神经网络:学习_第10张图片
机器学习笔记(七)-神经网络:学习_第11张图片

五、梯度检测

对一个复杂模型(etc.神经网络)使用梯度下降算法时,可能存在不易观察错误。虽然cost看上去减小,但最终结果不是最优解。
为避免此情况,采取 梯度的数值检验 方法,思想是 通过估计梯度值来检验我们计算的导数值是否真的是我们要求的。
机器学习笔记(七)-神经网络:学习_第12张图片
机器学习笔记(七)-神经网络:学习_第13张图片
机器学习笔记(七)-神经网络:学习_第14张图片

六、随机初始化

机器学习笔记(七)-神经网络:学习_第15张图片

七、综合

机器学习笔记(七)-神经网络:学习_第16张图片

八、自主驾驶(Autonomous Driving)

机器学习笔记(七)-神经网络:学习_第17张图片
每秒生成12次数字化图片,并将图像传给神经网络进行训练,多个神经网络同时工作,每个网络都生成一个行驶方向,以及一个预测自信度的参数,预测自信度最高的那个神经网络得到的行驶方向。

1 2 3


  1. 机器学习-吴恩达 ↩︎

  2. 机器学习-李宏毅 ↩︎

  3. 机器学习-周志华 ↩︎

你可能感兴趣的:(机器学习,机器学习,神经网络,深度学习)