吴恩达机器学习Week4神经网络表述
神经元模型
定义:神经网路是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应[Kohomen,1988]。
神经网络中最基本的成分是神经元(Neuron)模型,即上述定义中的“简单单元”。这些神经元(也叫做**单元,activation unit)采纳一些特征作为输出,冰洁根据本身的模型提供一个输出。
下面是神经网络的一个示例图片来源:coursera 机器学习
我们要来向量化这个表达式,定义新的变量,(其中j表示第j层,k表示第k个)来表达g函数里面的内容
所以我们得到
x和z的向量化表达
图片来源:coursera 机器学习
由的表达式,使用向量知道
令,则
推而广之,
We are multiplying our matrix with dimensions (where is the number of our activation nodes, 是神经元的数量) by our vector with height (n+1).这样我们得到高度是
于是第j层的神经元的数量
然后增加一个偏置单元图片来源:coursera 机器学习
我们有了考虑如何计算。需要第一层的与的乘积,然后这个乘积通过g函数即可。
测试题
图片来源:coursera 机器学习
神经网络中,单层神经网络(无中间层)可以用来表示逻辑运算,比如逻辑与(AND),逻辑或(OR).
AND
NOR
OR:
测试题这是一个逻辑或,需要,然后根据sigmoid函数的性质
得到真值表
x1 | x2 | |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
本周测试题
测试结果
测试内容分析
第二项是错误的,没有隐藏层的两层神经网络不能表达异或(XOR),因为,其中g为sigmoid函数
XOR | |||
---|---|---|---|
0 | 0 | 0 | g(a)=0,即a<0 |
0 | 1 | 1 | g(a+c)=1,即a+c>0,则c>0 ,且 |
1 | 0 | 1 | g(a+b)=1,a+b>0,则b>0,且 |
1 | 1 | 0 | g(a+b+c)=0,即a+b+c<0,由于和得出矛盾 |
因此,没有隐藏层的两层神经网络不能表达异或(XOR)。
分析
笔者是计算出来的,带入具体的值,因为两次反转,发现结果不变。
参考资料:coursera Machine Learning