机器学习09:神经网络入门

本文介绍了神经网络的基本概念,包括其在生物学中的灵感来源及其在机器学习中的应用。文章详细解释了神经网络的结构组成,如输入层、隐藏层和输出层,并通过数学公式展示了神经网络如何进行信息处理。

什么是神经网络?

在生物学中,多个神经元之间会通过轴突传递信息,神经元收到信息后会做出某种反应或者加工处理信息再传给其他神经元。利用这种机理,我们可以创造出人工神经网络,也就是机器学习中的神经网络,但机器学习中的神经网络还是有所不同的,在机器学习中,神经网络大概会呈现出下面这种形状,它包含输入层(Input Layer)、输出层(Out Layer)、隐藏层(Hidden Layer)。在这里插入图片描述
根据我的个人理解,生物学中的神经网络结构更类似于一种立体网状结构,机器学习中的神经网络更类似于一种层状结构,把上层的信息通过加工处理传递给下一层。(这种说法可能不太正确,但我们可以这样理解)。每个节点(图中的圆圈)代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。

模型表示

一般表示

用一个简单的神经网络,如下图,该神经网络一共三层,分别为输入层、隐藏层、输出层。用ai(j)a_i^{(j)}ai(j)表示第jjj层的第iii个激活单元;用Θ(j)\Theta^{(j)}Θ(j)表示从第jjj层到第j+1j+1j+1的权重矩阵。
在这里插入图片描述
第二层:
a1(2)=g(Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3) a_1^{(2)}=g(\Theta_{10}^{(1)}x_0+\Theta_{11}^{(1)}x_1+\Theta_{12}^{(1)}x_2+\Theta_{13}^{(1)}x_3) a1(2)=g(Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3)
a1(2)=g(Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3) a_1^{(2)}=g(\Theta_{20}^{(1)}x_0+\Theta_{21}^{(1)}x_1+\Theta_{22}^{(1)}x_2+\Theta_{23}^{(1)}x_3) a1(2)=g(Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3)
a1(2)=g(Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3) a_1^{(2)}=g(\Theta_{30}^{(1)}x_0+\Theta_{31}^{(1)}x_1+\Theta_{32}^{(1)}x_2+\Theta_{33}^{(1)}x_3) a1(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)) h_{\Theta}(x)=a_1^{(3)}=g(\Theta_{10}^{(2)}a_0^{(2)}+\Theta_{11}^{(2)}a_1^{(2)}+\Theta_{12}^{(2)}a_2^{(2)}+\Theta_{13}^{(2)}a_3^{(2)}) hΘ(x)=a1(3)=g(Θ10(2)a0(2)+Θ11(2)a1(2)+Θ12(2)a2(2)+Θ13(2)a3(2))
上面公式中的g(⋅)g(·)g()SigmaSigmaSigma函数.
如果第jjj层有sjs_jsj个单元,第j+1j+1j+1层有sj+1s_{j+1}sj+1个单元,那么权重矩阵Θ(j)\Theta^{(j)}Θ(j)的大小为sj+1×(sj+1)s_{j+1}\times (s_{j}+1)sj+1×(sj+1)

向量表示

还是上面的神经网络,只不过这次我们加上了偏置项。
在这里插入图片描述
在一般的表示中,
a1(2)=g(Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3) a_1^{(2)}=g(\Theta_{10}^{(1)}x_0+\Theta_{11}^{(1)}x_1+\Theta_{12}^{(1)}x_2+\Theta_{13}^{(1)}x_3) a1(2)=g(Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3)
a1(2)=g(Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3) a_1^{(2)}=g(\Theta_{20}^{(1)}x_0+\Theta_{21}^{(1)}x_1+\Theta_{22}^{(1)}x_2+\Theta_{23}^{(1)}x_3) a1(2)=g(Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3)
a1(2)=g(Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3) a_1^{(2)}=g(\Theta_{30}^{(1)}x_0+\Theta_{31}^{(1)}x_1+\Theta_{32}^{(1)}x_2+\Theta_{33}^{(1)}x_3) a1(2)=g(Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3)
提取,
z1(2)=Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3 z_1^{(2)}=\Theta_{10}^{(1)}x_0+\Theta_{11}^{(1)}x_1+\Theta_{12}^{(1)}x_2+\Theta_{13}^{(1)}x_3 z1(2)=Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3
z2(2)=Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3 z_2^{(2)}=\Theta_{20}^{(1)}x_0+\Theta_{21}^{(1)}x_1+\Theta_{22}^{(1)}x_2+\Theta_{23}^{(1)}x_3 z2(2)=Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3
z3(2)=Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3 z_3^{(2)}=\Theta_{30}^{(1)}x_0+\Theta_{31}^{(1)}x_1+\Theta_{32}^{(1)}x_2+\Theta_{33}^{(1)}x_3 z3(2)=Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3
x=[x0x1x2x3],z(2)=[z1(2)z2(2)z3(2)] \pmb{x}=\begin{bmatrix}x_0\\x_1\\x_2\\x_3\end{bmatrix},\quad \pmb{z^{(2)}}=\begin{bmatrix}z_1^{(2)}\\ z_2^{(2)}\\ z_3^{(2)}\end{bmatrix} xxx=x0x1x2x3,z(2)z(2)z(2)=z1(2)z2(2)z3(2)
用向量的运算表示为:
z(2)=Θ(1)a(1)=Θ(1)x z^{(2)}=\Theta^{(1)}\pmb{a^{(1)}}=\Theta^{(1)}\pmb{x} z(2)=Θ(1)a(1)a(1)a(1)=Θ(1)xxx
a(2)=g(z(2)) \pmb{a^{(2)}}=g(z^{(2)}) a(2)a(2)a(2)=g(z(2))
添加偏置项a0(2)=1,a_0^{(2)}=1,a0(2)=1,
z(3)=Θ(2)a(2) z^{(3)}=\Theta^{(2)}\pmb{a^{(2)}} z(3)=Θ(2)a(2)a(2)a(2)
hΘ(x)=a(3)=g(z(3)) h_\Theta(x)=a^{(3)}=g(z^{(3)}) hΘ(x)=a(3)=g(z(3))
当然,神经网络可以有很多层(如下图),但都可以通过上面的方法进行正向运算。
在这里插入图片描述

实例

为了方便理解,我们用一个较为简单的例子。用神经网络来表示逻辑关系中的AND、OR、XNOR

  1. 与运算
    令,
    x1,x2∈{0,1},y=x1ANDx2 x_1,x_2\in\left\{0,1\right\},\quad y=x_1\pmb{AND}x_2 x1,x2{0,1},y=x1ANDANDANDx2
    则,
    在这里插入图片描述

hΘ(x)=g(−30+20x1+20x2) h_\Theta(x)=g(-30+20x_1+20x_2) hΘ(x)=g(30+20x1+20x2)
根据SigmaSigmaSigma函数的性质(待补充)
在这里插入图片描述
2. 或运算
在这里插入图片描述
hΘ(x)=g(−10+20x1+20x2) h_\Theta(x)=g(-10+20x_1+20x_2) hΘ(x)=g(10+20x1+20x2)
在这里插入图片描述
3. 非运算
在这里插入图片描述
hΘ(x)=g(10−20x1) h_\Theta(x)=g(10-20x_1) hΘ(x)=g(1020x1)
在这里插入图片描述
4. XNOR运算
也许通过上面的几个运算你仍对神经网络理解的不够深刻,那么这个运算可以让你加深一下印象,同时也能让你感受一下神经网络的魅力。
先用下面几个运算作为铺垫,

  • x1ANDx2x_1ANDx_2x1ANDx2
    在这里插入图片描述
  • (NOT x1)AND(NOT x2)(NOT\,x_1)AND(NOT\,x_2)(NOTx1)AND(NOTx2)
    在这里插入图片描述
  • x1ORx2x_1ORx_2x1ORx2
    在这里插入图片描述
    XNOR运算:
    XNOR运算可以结合上面三种运算来进行计算,如下图
    在这里插入图片描述
    在这里插入图片描述
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值