机器学习笔记——人工神经网络(1)

本文介绍了神经网络的基本构成,包括输入层、隐藏层和输出层的概念,详细解释了神经元的激活函数及其计算过程,并展示了如何使用矩阵运算来简化计算。此外,还通过XNOR示例演示了多层神经网络的工作原理。

模型表示

简单的神经网络表示
这里写图片描述

x1x2x3[   ]hθ(x)[x1x2x3]→[   ]→hθ(x)

神经网络的输入是特征x1,x2,x3x1,x2,x3,输出是假设函数的结果
在神经网络中,仍采用同样的逻辑函数hθ(x)=11+eθTxhθ(x)=11+e−θTx
在神经网络中,也称逻辑函数为激励函数,θθ参数为权重。
这里写图片描述
x0x0为偏置单元,它的值总是等于1
上图中,输入节点Layer1称为输入层,输出假设函数结果的Layer3称为输出层,介于输入层与输出层之间的称为隐藏层。
位于隐藏层的节点(或神经元)称为激励单元。
x0x1x2x3a(2)1a(2)2a(2)3hθ(x)[x0x1x2x3]→[a1(2)a2(2)a3(2)]→hθ(x)

a(j)i="activation" of unit i in layer jΘ(j)=matrix of weights controlling function mapping from layer j to layer j+1ai(j)="activation" of unit i in layer jΘ(j)=matrix of weights controlling function mapping from layer j to layer j+1

a(2)1a(2)2a(2)3hΘ(x)=a(3)1=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3)=g(Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3)=g(Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3)=g(Θ(2)10a(2)0+Θ(2)11a(2)1+Θ(2)12a(2)2+Θ(2)13a(2)3)a1(2)=g(Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3)a2(2)=g(Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3)a3(2)=g(Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3)hΘ(x)=a1(3)=g(Θ10(2)a0(2)+Θ11(2)a1(2)+Θ12(2)a2(2)+Θ13(2)a3(2))

假设在Layer j有sjsj个单元,Layer j+1有sj+1sj+1个单元,那么Θ(j)Θ(j)表示从第j层到第j+1层的权重矩阵,是一个sj+1×(sj+1)sj+1×(sj+1)的矩阵

向量化计算

z(2)1z(2)2z(2)3=Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3=Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3=Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3z1(2)=Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3z2(2)=Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3z3(2)=Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3

即,这里写图片描述,得到如下表示
a(2)1=g(z(2)1)a(2)2=g(z(2)2)a(2)3=g(z(2)3)a1(2)=g(z1(2))a2(2)=g(z2(2))a3(2)=g(z3(2))

xxzj的向量形式为
x=x0x1xn,z(j)=z(j)1z(j)2z(j)nx=[x0x1⋯xn],z(j)=[z1(j)z2(j)⋯zn(j)]

x=a(1)x=a(1),可以写出向量表示的等式zj=Θ(j1)a(j1)zj=Θ(j−1)a(j−1),Θ(j1)Θ(j−1)sj×(n+1)sj×(n+1)的矩阵,a(j1)a(j−1)(n+1)×1(n+1)×1的矩阵,得出zjzjsj×1sj×1的矩阵,a(j)=g(z(j))a(j)=g(z(j))把函数g作用到z(j)z(j)的每一个元素上。
在计算了a(j)a(j)后,增加偏置单元a(j)0=1a0(j)=1,得到zj+1=Θ(j)a(j)zj+1=Θ(j)a(j),进一步计算出最终结果
hΘ(x)=a(j+1)=g(z(j+1))hΘ(x)=a(j+1)=g(z(j+1))

Example XNOR

AND:Θ(1)NOR:Θ(1)OR:Θ(1)=[302020]=[102020]=[102020]AND:Θ(1)=[−302020]NOR:Θ(1)=[10−20−20]OR:Θ(1)=[−102020]

同或XNOR可以通过与AND、异或NOR、或OR组合得到,在神经网络Layer2计算AND和NOR,再通过Layer3输出层计算OR最终得到XNOR的输出。
x0x1x2[a(2)1a(2)2][a(3)]hΘ(x)[x0x1x2]→[a1(2)a2(2)]→[a(3)]→hΘ(x)

这里写图片描述

神经网络多类别分类

当进行多类别分类时,使假设函数hΘ(x)hΘ(x)的输出值为一个向量。
例如对有4种类别的分类,令这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值