神经元模型
定义:神经网路是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应[Kohomen,1988]。
神经网络中最基本的成分是神经元(Neuron)模型,即上述定义中的“简单单元”。这些神经元(也叫做**单元,activation unit)采纳一些特征作为输出,冰洁根据本身的模型提供一个输出。
下面是神经网络的一个示例
图片来源:coursera 机器学习
我们要来向量化这个表达式,定义新的变量zk(j),(其中j表示第j层,k表示第k个)来表达g函数里面的内容

所以我们得到

x和z的向量化表达

图片来源:coursera 机器学习
由zk(2)的表达式,使用向量知道z(2)=Θ(1)×x
令x=a(1),则z(2)=Θ(1)×a(1)
推而广之,z(j)=Θ(j−1)×a(j−1)
We are multiplying our matrix Θ(j−1) with dimensions sj×(n+1) (where sj is the number of our activation nodes,sj 是神经元的数量) by our vector a(j−1) with height (n+1).这样我们得到z(j)高度是sj
于是第j层的神经元的数量
a(j)=g(z(j))
然后增加一个偏置单元a0(j)=1
图片来源:coursera 机器学习
我们有了a(1)的输入,考虑如何计算a(2)。需要第一层的Θ(1)与a(1)的乘积,然后这个乘积通过g函数即可。
测试题
图片来源:coursera 机器学习
神经网络中,单层神经网络(无中间层)可以用来表示逻辑运算,比如逻辑与(AND),逻辑或(OR).
AND Θ(1)=[−30,20,20]
NOR Θ(1)=[10,−20,−20]
OR:Θ(1)=[−10,20,20]
测试题
这是一个逻辑或,需要hΘ(x)=g(−10+20x1+20x2),然后根据sigmoid函数的性质
得到真值表
| x1 |
x2 |
hΘ(x) |
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
1 |

本周测试题
测试结果

测试内容
分析
第二项是错误的,没有隐藏层的两层神经网络不能表达异或(XOR),因为hΘ(x)=g(a+bx1+cx2),其中g为sigmoid函数
| x1 |
x2 |
XOR |
hΘ(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)
|
| 1 |
0 |
1 |
g(a+b)=1,a+b>0,则b>0,且abs(b)>abs(a)
|
| 1 |
1 |
0 |
g(a+b+c)=0,即a+b+c<0,由于abs(c)>abs(a)和abs(b)>abs(a)得出矛盾
|
因此,没有隐藏层的两层神经网络不能表达异或(XOR)。





分析
笔者是计算出来的,带入具体的值,因为两次反转,发现结果不变。
参考资料:coursera Machine Learning