吴恩达机器学习笔记——非线性假设与神经网络

是对应网易云课程吴恩达机器学习第九章的笔记。


线性假设的弊端


当涉及的特征变量较多时,线性假设表现出它的弊端。以逻辑回归为例,特征空间迅速膨胀,运算量过大、即使仅考虑2阶式子也过于复杂(仅考虑二次项也是n*(n+1)/2个特征)、同时容易过拟合。因此,我们引入神经网络。


神经网络相关术语


  • 偏置单元或偏置神经元:输入的x向量x=\begin{bmatrix} x_{0}\\ x_{1}\\ x_{2}\\ x_{3} \end{bmatrix} 对应一组输入节点,其中x_{0}有时被称为偏置单元或偏置神经元,因为它恒等于1故有时我们画它有时则不画,这取决于在具体的例子中加上它表示起来是不是更方便。
  • 激活函数:指代非线性函数g(z)g(z)=\frac{1}{1+e^{-z}}
  • 模型的参数(模型的权重):我们将\Theta =\begin{bmatrix} \Theta _{0}\\ \Theta _{1}\\ \Theta _{2}\\ \Theta _{3} \end{bmatrix} 称为模型的参数(权重)。
  • 输入层、隐藏层、输出层:输入层是第一层,是特征输入的节点群。中间层成为隐藏层,是在训练集中看不到的,可以有多个。输出层是最后一层,他输出假设的最终计算结果h_{\Theta }(x) 。
  • a_{i}^{(j)} :第j层第i个神经元的激活项。a_{0}^{(j)}=1 , a^{(1)}=x
  • 激活项:是由一个具体的神经元计算并输出的值。


神经网络的向量化实现过程


  • 神经网络的架构:神经网络的连接方式。
  • \Theta ^{(j)}:控制从第j层到第j+1层映射的权重(参数)矩阵。假设j层有s_{j}个神经元,则\Theta ^{(j)}是一个s_{j+1}\ast (s_{j}+1)的矩阵。
  • z^{(j+1)}:是要得到第j+1层的s_{j+1}个节点值输入到g(z)中的矩阵。z^{(j+1)}=\Theta ^{(j)}a ^{(j)}a^{(j+1)}=g(z^{(j+1)})
  • 前向传播:从输入单元的激活项开始,前向传播给隐藏层,计算隐藏层的激活项,接着继续向前传播给输出层计算输出层的激活项。假设输出层是第i层。则h_{\theta }(x) = g(z_{1}^{(i)})=g(\Theta _{10}a_{0}^{(i-1)}+\Theta _{11}a_{1}^{(i-1)}+...)

  • 神经网络在某种程度上也像逻辑回归,只不过他用于计算的x值不是原来的特征向量x,而是激活项的向量a。通过调整前面层的\theta值,就能学到不同的特征得到不同的a进行逻辑回归的训练,从而得到更好的函数。
  • 输入层的特征向量也可以是特征的任意组合,如x_{1}x_{2}
  • 经典应用:数字手写识别。

多层神经元的应用


  • 多层神经网络的思想是建立中间隐藏层,建立新的可能更为复杂的特征如图中的a_{1}^{(2)}a_{2}^{(2)},从而进行多层间的传递计算得到最终的输出结果。


神经网络的多元分类应用


操作方式:

  1. 在输出层建立多个神经元,分别输出不同的h_{\theta }(x)值,代表预测为该目标的概率。
  2. 相对于二分类中的整数y作为输出分类标签,引入一个n*1的数据结果矩阵y如y=\begin{bmatrix} 1\\ 0\\ 0\\ 0\\ 0 \end{bmatrix}y^{(i)}(第i行的值为1,其他为0)代表模型将结果判断为某种对象的矩阵y。训练集为(x^{(i)},y^{(i)}),给定一种类型的对象的图片作为输入,给出对象应对应的输出。我们的目标是训练模型使得输出值h_{\theta }(x^{(i)})约等于y^{(i)},它们都是四维向量,代表不同的类别。

猜你喜欢

转载自blog.csdn.net/weixin_39714797/article/details/87005620