【Machine Learning, Coursera】机器学习Week4 Neural Networks: Application

Neural Networks: Application

本节内容:用神经网络实现同或(XNOR)和异或(XOR)运算


XNOR:两个输入相同取真,相异取假
XOR:两个输入相同取假,相异取真
XNOR和XOR互为非运算
这里写图片描述


一、神经网络的简单例子

在解决上述问题之前,先看几个简单的逻辑运算:AND, OR和NOT

(一) x1 x 1 AND x2 x 2

实现AND运算只需要一个两层的神经网络,它只包含输入层和输出层,不包含隐藏层。输入层有三个节点:偏置单位、 x1 x 1 x2 x 2 。 偏置单位取值总为1, x1 x 1 x2 x 2 取值0或1。三个节点的权重分别为-30, 20和20。输出层只有一个输出单元。
通过粉色方框中的真值表,我们可以看到这个最简单的神经网络是如何实现AND运算的。
首先,我们需要知道当z的绝对值大于4.6时,逻辑函数g(z)的值就已经非常接近0或1了。
x1=x2=0 x 1 = x 2 = 0 时, z=Θx=30 z = Θ x = − 30 ,因此 hΘ(x)=g(z)0 h Θ ( x ) = g ( z ) ≈ 0
x1=0x2=1 x 1 = 0 , x 2 = 1 x1=1x2=0 x 1 = 1 , x 2 = 0 时, z=Θx=10 z = Θ x = − 10 ,因此 hΘ(x)=g(z)0 h Θ ( x ) = g ( z ) ≈ 0
x1=x2=1 x 1 = x 2 = 1 时, z=Θx=10 z = Θ x = 10 ,因此 hΘ(x)=g(z)1 h Θ ( x ) = g ( z ) ≈ 1 .

这里写图片描述

(二) x1 x 1 OR x2 x 2

OR运算和AND运算实现方式类似,只是输入层三个节点的权重分别为-10, 20和20。

这里写图片描述

(三)(NOT x1 x 1 ) AND (NOT x2 x 2 )

计算逻辑非运算的总体思路是,在你希望取非运算的变量前放上一个绝对值大的负数
NOT x1 x 1 :输入层两个节点,权重分别为10和-20
(NOT x1 x 1 ) AND (NOT x2 x 2 ):输入层三个节点,权重分别为10, -20和-20

这里写图片描述

二、 x1 x 1 XNOR x2 x 2

将上述三个简单的逻辑运算组合在一起,就实现了同或门运算。
从输入层到隐藏层,进行 x1 x 1 AND x2 x 2 和(NOT x1 x 1 ) AND (NOT x2 x 2 )这两个逻辑运算
从隐藏层到输出层,进行一个OR运算
这里写图片描述

总结:本节用一个直观的例子证明了神经网络可以通过建立隐藏层实现更为复杂的函数计算。在实际应用中,通过运用更深的层数,我们可以解决更复杂的非线性分类问题,如手写数字的辨识等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值