吴恩达机器学习笔记——非线性假设与神经网络
是对应网易云课程吴恩达机器学习第九章的笔记。
线性假设的弊端
当涉及的特征变量较多时,线性假设表现出它的弊端。以逻辑回归为例,特征空间迅速膨胀,运算量过大、即使仅考虑2阶式子也过于复杂(仅考虑二次项也是n*(n+1)/2个特征)、同时容易过拟合。因此,我们引入神经网络。
神经网络相关术语
- 偏置单元或偏置神经元:输入的
向量
对应一组输入节点,其中
有时被称为偏置单元或偏置神经元,因为它恒等于1故有时我们画它有时则不画,这取决于在具体的例子中加上它表示起来是不是更方便。
- **函数:指代非线性函数
。
- 模型的参数(模型的权重):我们将
称为模型的参数(权重)。
- 输入层、隐藏层、输出层:输入层是第一层,是特征输入的节点群。中间层成为隐藏层,是在训练集中看不到的,可以有多个。输出层是最后一层,他输出假设的最终计算结果
。
-
:第j层第i个神经元的**项。
=1 ,
。
- **项:是由一个具体的神经元计算并输出的值。
神经网络的向量化实现过程
- 神经网络的架构:神经网络的连接方式。
-
:控制从第j层到第j+1层映射的权重(参数)矩阵。假设j层有
个神经元,则
是一个
的矩阵。
-
:是要得到第j+1层的
个节点值输入到
中的矩阵。
,
。
- 前向传播:从输入单元的**项开始,前向传播给隐藏层,计算隐藏层的**项,接着继续向前传播给输出层计算输出层的**项。假设输出层是第i层。则
。
- 神经网络在某种程度上也像逻辑回归,只不过他用于计算的x值不是原来的特征向量x,而是**项的向量a。通过调整前面层的
值,就能学到不同的特征得到不同的a进行逻辑回归的训练,从而得到更好的函数。
- 输入层的特征向量也可以是特征的任意组合,如
。
- 经典应用:数字手写识别。
多层神经元的应用
-
多层神经网络的思想是建立中间隐藏层,建立新的可能更为复杂的特征如图中的
、
,从而进行多层间的传递计算得到最终的输出结果。
神经网络的多元分类应用
操作方式:
- 在输出层建立多个神经元,分别输出不同的
值,代表预测为该目标的概率。
- 相对于二分类中的整数y作为输出分类标签,引入一个
的数据结果矩阵y如
,
(第i行的值为1,其他为0)代表模型将结果判断为某种对象的矩阵y。训练集为
,给定一种类型的对象的图片作为输入,给出对象应对应的输出。我们的目标是训练模型使得输出值
约等于
,它们都是四维向量,代表不同的类别。