吴恩达机器学习Week4神经网络表述

神经元模型

定义:神经网路是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应[Kohomen,1988]。

神经网络中最基本的成分是神经元(Neuron)模型,即上述定义中的“简单单元”。这些神经元(也叫做**单元,activation unit)采纳一些特征作为输出,冰洁根据本身的模型提供一个输出。

下面是神经网络的一个示例
吴恩达机器学习Week4神经网络表述图片来源:coursera 机器学习
我们要来向量化这个表达式,定义新的变量zk(j)z_k^{(j)},(其中j表示第j层,k表示第k个)来表达g函数里面的内容
吴恩达机器学习Week4神经网络表述
所以我们得到
吴恩达机器学习Week4神经网络表述
x和z的向量化表达
吴恩达机器学习Week4神经网络表述
图片来源:coursera 机器学习

zk(2)z_k^{(2)}的表达式,使用向量知道z(2)=Θ(1)×xz^{(2)}=\Theta^{(1)}\times x
x=a(1)x=a^{(1)},则z(2)=Θ(1)×a(1)z^{(2)}=\Theta^{(1)}\times a^{(1)}
推而广之,z(j)=Θ(j1)×a(j1)z^{(j)}=\Theta^{(j-1)}\times a^{(j-1)}

We are multiplying our matrix Θ(j1)Θ^{(j−1)} with dimensions sj×(n+1)s_j\times (n+1) (where sjs_j is the number of our activation nodes,sjs_j 是神经元的数量) by our vector a(j1)a^{(j−1)} with height (n+1).这样我们得到z(j)z^{(j)}高度是sjs_j

于是第j层的神经元的数量
a(j)=g(z(j))a^{(j)}=g(z^{(j)})
然后增加一个偏置单元a0(j)=1a_0^{(j)}=1
吴恩达机器学习Week4神经网络表述图片来源:coursera 机器学习

我们有了a(1)a^{(1)}的输入,考虑如何计算a(2)a^{(2)}。需要第一层的Θ(1)\Theta^{(1)}a(1)a^{(1)}的乘积,然后这个乘积通过g函数即可。
测试题

吴恩达机器学习Week4神经网络表述图片来源:coursera 机器学习

神经网络中,单层神经网络(无中间层)可以用来表示逻辑运算,比如逻辑与(AND),逻辑或(OR).
AND Θ(1)=[30,20,20]\Theta^ {(1)}=[-30 ,20,20]
NOR Θ(1)=[10,20,20]\Theta^ {(1)}=[10 ,-20,-20]
OR:Θ(1)=[10,20,20]\Theta^ {(1)}=[-10 ,20,20]

测试题
吴恩达机器学习Week4神经网络表述这是一个逻辑或,需要hΘ(x)=g(10+20x1+20x2)h_\Theta (x)=g(-10+20x_1+20x_2),然后根据sigmoid函数的性质
得到真值表

x1 x2 hΘ(x)h_\Theta (x)
0 0 0
0 1 1
1 0 1
1 1 1

吴恩达机器学习Week4神经网络表述

本周测试题
测试结果
吴恩达机器学习Week4神经网络表述
测试内容
吴恩达机器学习Week4神经网络表述分析
第二项是错误的,没有隐藏层的两层神经网络不能表达异或(XOR),因为hΘ(x)=g(a+bx1+cx2)h_\Theta(x)=g(a+bx_1+cx_2),其中g为sigmoid函数

x1x_1 x2x_2 XOR hΘ(x)h_\Theta(x)
0 0 0 g(a)=0,即a<0
0 1 1 g(a+c)=1,即a+c>0,则c>0 ,且abs(c)>abs(a)abs(c)>abs(a)
1 0 1 g(a+b)=1,a+b>0,则b>0,且abs(b)>abs(a)abs(b)>abs(a)
1 1 0 g(a+b+c)=0,即a+b+c<0,由于abs(c)>abs(a)abs(c)>abs(a)abs(b)>abs(a)abs(b)>abs(a)得出矛盾

因此,没有隐藏层的两层神经网络不能表达异或(XOR)。

吴恩达机器学习Week4神经网络表述

吴恩达机器学习Week4神经网络表述
吴恩达机器学习Week4神经网络表述吴恩达机器学习Week4神经网络表述吴恩达机器学习Week4神经网络表述
分析
笔者是计算出来的,带入具体的值,因为两次反转,发现结果不变。

参考资料:coursera Machine Learning