Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

推荐资料:神经网络浅讲:从神经元到深度学习

第八章 神经网络:表述(二)

第3节 应用(Applications)

8.5 示例和直观理解1

参考视频 : 8 - 5 - Examples and Intuitions I (7 min).mkv

从本质上讲,神经网络能够通过学习得出其自身的一系列特征。在普通的逻辑回归中,我们被限制为使用数据中的原始特征x1,x2,…,xn。我们虽然可以使用二项式进行组合,但是我们仍然受到这些原始特征的限制。

在神经网络中,原始特征只是输入层。在之前三层的神经网络例子中,第三层(输出层)做出的预测是利用了第二层的输出,而非输入层的原始特征。我们可以把第二层的输出看作是神经网络经过学习后得出的一系列用于预测输出变量的新特征,而且这些新特征比原始特征更加好用

可以用两层的神经网络(单计算层,无中间层)来表示逻辑运算。比如逻辑与(logical AND):
Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

比如逻辑或(logical OR):
Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

其中的g(z)=11+ez值域为[1,1],图像如下:
Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

通过改变权重矩阵的取值,我们实现了逻辑与和逻辑或。

8.6 示例和直观理解2

参考视频 : 8 - 6 - Examples and Intuitions II (10 min).mkv

我们可以用两层的神经网络(单计算层神经网络)实现二元逻辑运算符(binary logical operator),不同的运算符需要选择不同的权重。

两层的神经网络还可以实现逻辑非(logical NOT):
Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

我们可以增加神经网络的层数(三层)来实现更复杂的运算,比如逻辑同或(logical XNOR,输入的两个值必须一样,均为0或均为1)。表示XNOR的神经网络可以由表示AND、(NOT x1) ADN (NOT x2)和OR的神经网络组合而成:
Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

按这种方法我们可以逐渐构造出越来越复杂的函数,也能得到更加厉害的特征值。这就是神经网络的厉害之处。

8.7 多类别分类

参考视频 : 8 - 7 - Multiclass Classification (4 min).mkv

当我们有不止两种分类时(也就是y=1,2,3…),比如我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该由4个值。例如,第1个值为1或0用于预测是否是行人,第二个用于预测是否是汽车。
Coursera机器学习笔记 第4周 第八章 神经网络:表述(二)

过程如下:

[x0x1x2x3][a0(2)a1(2)a2(2)...][a0(3)a1(3)a2(3)...][hΘ(x)1hΘ(x)2hΘ(x)3hΘ(x)4]

最后的输入结果为下列四种可能情况之一:

[1000],[0100],[0010],[0001]