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

模型表示

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

x1x2x3[   ]hθ(x) [ x 1 x 2 x 3 ] → [       ] → h θ ( x )

神经网络的输入是特征 x1,x2,x3 x 1 , x 2 , x 3 ,输出是假设函数的结果
在神经网络中,仍采用同样的逻辑函数 hθ(x)=11+eθTx h θ ( x ) = 1 1 + e − θ T x
在神经网络中,也称逻辑函数为激励函数, θ θ 参数为权重。
这里写图片描述
x0 x 0 为偏置单元,它的值总是等于1
上图中,输入节点Layer1称为输入层,输出假设函数结果的Layer3称为输出层,介于输入层与输出层之间的称为隐藏层。
位于隐藏层的节点(或神经元)称为激励单元。
x0x1x2x3a(2)1a(2)2a(2)3hθ(x) [ x 0 x 1 x 2 x 3 ] → [ a 1 ( 2 ) a 2 ( 2 ) a 3 ( 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+1 a i ( 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) a 1 ( 2 ) = g ( Θ 10 ( 1 ) x 0 + Θ 11 ( 1 ) x 1 + Θ 12 ( 1 ) x 2 + Θ 13 ( 1 ) x 3 ) a 2 ( 2 ) = g ( Θ 20 ( 1 ) x 0 + Θ 21 ( 1 ) x 1 + Θ 22 ( 1 ) x 2 + Θ 23 ( 1 ) x 3 ) a 3 ( 2 ) = g ( Θ 30 ( 1 ) x 0 + Θ 31 ( 1 ) x 1 + Θ 32 ( 1 ) x 2 + Θ 33 ( 1 ) x 3 ) h Θ ( x ) = a 1 ( 3 ) = g ( Θ 10 ( 2 ) a 0 ( 2 ) + Θ 11 ( 2 ) a 1 ( 2 ) + Θ 12 ( 2 ) a 2 ( 2 ) + Θ 13 ( 2 ) a 3 ( 2 ) )

假设在Layer j有 sj s j 个单元,Layer j+1有 sj+1 s j + 1 个单元,那么 Θ(j) Θ ( j ) 表示从第j层到第j+1层的权重矩阵,是一个 sj+1×(sj+1) s j + 1 × ( s j + 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)33x3 z 1 ( 2 ) = Θ 10 ( 1 ) x 0 + Θ 11 ( 1 ) x 1 + Θ 12 ( 1 ) x 2 + Θ 13 ( 1 ) x 3 z 2 ( 2 ) = Θ 20 ( 1 ) x 0 + Θ 21 ( 1 ) x 1 + Θ 22 ( 1 ) x 2 + Θ 23 ( 1 ) x 3 z 3 ( 2 ) = Θ 30 ( 1 ) x 0 + Θ 31 ( 1 ) x 1 + Θ 32 ( 1 ) x 2 + Θ 33 ( 1 ) x 3

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

x x zj的向量形式为
x=x0x1xn,z(j)=z(j)1z(j)2z(j)n x = [ x 0 x 1 ⋯ x n ] , z ( j ) = [ z 1 ( j ) z 2 ( j ) ⋯ z n ( j ) ]

x=a(1) x = a ( 1 ) ,可以写出向量表示的等式 zj=Θ(j1)a(j1) z j = Θ ( j − 1 ) a ( j − 1 ) , Θ(j1) Θ ( j − 1 ) sj×(n+1) s j × ( n + 1 ) 的矩阵, a(j1) a ( j − 1 ) (n+1)×1 ( n + 1 ) × 1 的矩阵,得出 zj z j sj×1 s j × 1 的矩阵, a(j)=g(z(j)) a ( j ) = g ( z ( j ) ) 把函数g作用到 z(j) z ( j ) 的每一个元素上。
在计算了 a(j) a ( j ) 后,增加偏置单元 a(j)0=1 a 0 ( j ) = 1 ,得到 zj+1=Θ(j)a(j) z j + 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] A N D : Θ ( 1 ) = [ − 30 20 20 ] N O R : Θ ( 1 ) = [ 10 − 20 − 20 ] O R : Θ ( 1 ) = [ − 10 20 20 ]

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

这里写图片描述

神经网络多类别分类

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值