吴恩达机器学习课程笔记 | 第8章

吴恩达机器学习课程笔记 | 第8章
Justin本系列文章如果没有特殊说明,正文内容均解释的是文字上方的图片
机器学习 | Coursera
吴恩达机器学习系列课程_bilibili
@TOC
8 神经网络的表示
8-1 非线性假设
对于一幅图像来说,如果取出每个像素点的灰度值或其他特征表示方法来作为一个数据样本的话,数据集将会非常庞大,如果运用之前的回归算法来计算,将会产生非常大的计算成本
8-2 神经元与大脑
8-3 前向传播-模型展示I
- 上图指一个带有Sigmoid激活函数的人工神经元,在神经网络术语中,$g(z)=\frac{1}{1+e^{-θ^TX}}$称作激活函数
- 神经网络指的其实是一组神经网络的集合,第一层(Layer 1)称为输入层(Input Layer),第二层(Layer 2)称为隐藏层(Hidden Layer),第三层(Layer 3)称为输出层(Output Layer)
- 用$a_i^{(j)}$来表示第$j$层的第$i$个神经元的激活项(”activation” of unit $i$ in layer $j$),所谓激活项是指由一个具体的神经元计算并输出的值
- 用$\Theta^{(j)}$表示从第$j$层到第$j+1$层的权重矩阵(参数矩阵),就是之前的$\theta$矩阵(之前的$\theta$既可以叫做参数$parameters$也可以叫做权重$weights$)
- $a_1^{(2)}$、$a_2^{(2)}$和$a_3^{(2)}$的计算公式在上图中已写出
- 其中$\Theta^{(1)}$是一个$3×4$的矩阵
- 如果神经网络在第$j$层有$s_j$个单元,在第$j+1$层有$s_{j+1}$个单元,那么$\Theta^{(j)}$是一个$s_{j+1}×(s_j+1)$的矩阵
8-4 前向传播-模型展示II
前向传播的矢量化实现:
- 把上面式子中的$\Theta^{(1)}{10}+\Theta^{(1)}{11}+\Theta^{(1)}{12}+\Theta^{(1)}{13}$表示为$z_1^{(2)}$
- 则$a_1^{(2)}=g(z_1^{(2)})$
- 扩展到全域,第二层的激活值$a^{(2)}=g(z^{(2)})$,其中$z^{(2)}=\Theta^{(1)}a^{(1)}$,另外需要添加偏置项$a^{(2)}_0=1$
8-5 例子与理解I
8-6 例子与理解II
上图为计算$x_1$ XNOR $x_2$的神经网络
第一层到第二层先计算$x_1$ AND $x_2$得到$a_1^{(2)}$,计算(NOT $x_1$) AND (NOT $x_2$)得到$a_2^{(2)}$
再以$a_1^{(2)}$和$a_2^{(2)}$为$x_1$和$x_2$计算$x_1$ OR $x_2$得出的结果即为$x_1$ XNOR $x_2$
8-7 多元分类
这里有四种输出:pedestrian、car、motorcycle、truck
所以共有四个输出单元
输出的$y^{(i)}$为一个4维矩阵,可能是:
$$\begin{bmatrix}
1\
0\
0\
0\
\end{bmatrix}或
\begin{bmatrix}
0\
1\
0\
0\
\end{bmatrix}或
\begin{bmatrix}
0\
0\
1\
0\
\end{bmatrix}或
\begin{bmatrix}
0\
0\
0\
1\
\end{bmatrix}中的其中一个$$
分别表示pedestrian或car或motorcycle或truck