MLP多层感知机的认识

目录

  • MLP(MultiLayer Perception)
    • 一、机器学习(周志华)和统计学习方法(李航)
      • 1. 感知机与多层网络
        • 1.1 感知机模型
        • 1.2 感知机学习策略
        • 1.3 感知机学习算法
        • 1.4 感知机学习算法的收敛性
        • 1.5 感知机学习算法的对偶形式
        • 1.5 西瓜书中描述的感知机
      • 2.机器学习内容小结
  • MLP神经网络的结构和原理

MLP(MultiLayer Perception)

一、机器学习(周志华)和统计学习方法(李航)

1. 感知机与多层网络

感知机是神经网络和支持向量机的基础
感知准则:特点是随意确定的判别函数初始值,在对样本分类训练过程中逐步修正直至最终确定

二类分类的线性分类模型 f ( x ) = s i g n ( w ⋅ x + b ) f(x) = sign(w\cdot x+b) f(x)=sign(wx+b)

输入:特征向量
输出:实体的类别,取+1和-1二值

思想:导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型

1.1 感知机模型

感知机模型对应于输入空间中将实例划分为正负两类的分离超平面 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0,属于判别模型

定义:假设输入空间(特征空间)是 X ∈ R n \mathcal X\in\mathcal R^n XRn,输出空间是 Y ∈ { − 1 , + 1 } \mathcal Y\in\{−1,+1\} Y{1,+1}。输入 x ∈ X x\in\mathcal X xX表示实例的特征向量,对应于输入空间的点;输出 y ∈ Y y \in \mathcal Y yY表示实例的类别。由输入空间到输出空间的如下函数:
f ( x ) = s i g n ( w ⋅ x + b ) (感知机) f(x) = sign(w\cdot x+b)\tag{感知机} f(x)=sign(wx+b)()
s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 (符号函数) sign(x)=\begin{cases}+1,&{x \geq 0}\\-1,&{x<0} \end{cases}\tag{符号函数} sign(x)={+1,1,x0x<0()
假设空间:所有线性分类模型或线性分类器
{ f ∣ f ( x ) = w ⋅ x + b } \{f|f(x)=w\cdot x+b\} {ff(x)=wx+b}
感知机模型如图所示:
几何解释:
超平面 S S S w ⋅ x + b w\cdot x+b wx+b
法向量 w w w
学习目标:寻找超平面,即求参数 w , b w,b w,b的值
MLP多层感知机的认识_第1张图片

1.2 感知机学习策略

假设训练数据集是线性可分的,感知及学习的目标是求得一个能够将训练集正负实例点完全正确分开的分离超平面,即确定感知机模型参数 w , b w,b w,b,需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化
损失函数的一个自然选择是误分类点的总数,但这样的损失函数不是参数 w , b w,b w,b 的连续可导函数,不易优化。损失函数的另一个选择是误分类点到超平面 S S S 的总距离,这是感知机所采用的、

数据集的线性可分性定义:给定一个数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } , T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}, T={(x1,y1),(x2,y2),...,(xN,yN)},

其中, x i ∈ R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , . . . , N . x_i\in\mathcal R^n,y_i\in\mathcal Y=\{+1,-1\},i=1,2,...,N. xiRn,yiY={+1,1},i=1,2,...,N.如果存在某个超平面 S S S
w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0

输入空间 R n \mathcal R^n Rn 中任一点 x 0 x_0 x0到超平面 S S S的距离:
1 ∥ w ∥ ∣ w ⋅ x 0 + b ∣ ( ∥ w ∥  是  w  的  L 2 范数  ) \frac{1}{\|w\|}|w\cdot x_0+b|\tag{$\|w\|$ 是 $w$ 的 $L_2$范数 } w1wx0+b(w  w  L2 )

证明:
MLP多层感知机的认识_第2张图片
∵ x 1 \because x_1 x1在超平面上, ∴ w x 1 + b = 0 \therefore wx_1+b=0 wx1+b=0 ∴ w x 1 = − b \therefore wx_1=-b wx1=b
∵ ∣ w ⋅ x 0 x 1 → ∣ = ∣ ∣ w ∣ ∣ x 0 x 1 → ∣ ⋅ c o s < w ⃗ , x 0 x 1 → > ∣ = ∣ w ∣ ∣ x 0 x 1 → ∣ = ( w 0 ) 2 + ( w 1 ) 2 + . . . + ( w n − 1 ) 2 ⋅ d = ∥ w ∥ ⋅ d \because|w\cdot \overrightarrow{x_0x_1}|\\=||w||\overrightarrow{x_0x_1}|\cdot cos<\vec w,\overrightarrow{x_0x_1}>|\\=|w||\overrightarrow{x_0x_1}|\\=\sqrt{(w^0)^2+(w^1)^2+...+(w^{n-1})^2}\cdot d\\=\|w\|\cdot d wx0x1 =wx0x1 cos<w ,x0x1 >=wx0x1 =(w0)2+(w1)2+...+(wn1)2 d=wd
w ⋅ x 0 x 1 → = w 0 ( x 1 0 − x 0 0 ) + w 1 ( x 1 1 − x 0 1 ) + . . . + w n − 1 ( x 1 n − 1 − x 0 n − 1 ) = w 0 x 1 0 + . . . + w n − 1 x 1 n − 1 − ( w 0 x 0 0 + . . . + w n − 1 x 0 n − 1 ) = ( − b ) − ( w 0 x 0 0 + . . . + w n − 1 x 0 n − 1 ) = − ( b + w ⋅ x 0 ) w\cdot \overrightarrow{x_0x_1}\\=w^0(x_1^0-x_0^0)+w^1(x_1^1-x_0^1)+...+w^{n-1}(x_1^{n-1}-x_0^{n-1})\\=w^0x_1^0+...+w^{n-1}x_1^{n-1}-(w^0x_0^0+...+w^{n-1}x_0^{n-1})\\=(-b)-(w^0x_0^0+...+w^{n-1}x_0^{n-1})\\=-(b+w\cdot x_0) wx0x1 =w0(x10x00)+w1(x11x01)+...+wn1(x1n1x0n1)=w0x10+...+wn1x1n1(w0x00+...+wn1x0n1)=(b)(w0x00+...+wn1x0n1)=(b+wx0)
联系上述两个推导:
∣ w ⋅ x 0 x 1 → ∣ = ∣ ∣ w ∣ ∣ ⋅ d = ∣ w 0 x 0 0 + . . . + w n − 1 x 0 n − 1 − ( − b ) ∣ = ∣ − ( b + w ⋅ x 0 ) ∣ |w\cdot \overrightarrow{x_0x_1}|\\=||w||\cdot d\\=|w^0x_0^0+...+w^{n-1}x_0^{n-1}-(-b)|\\=|-(b+w\cdot x_0)| wx0x1 =wd=w0x00+...+wn1x0n1(b)=(b+wx0)
也即: ∣ ∣ w ∣ ∣ ⋅ d = ∣ − ( b + w ⋅ x 0 ) ∣ = ∣ b + w ⋅ x 0 ∣ ||w||\cdot d=|-(b+w\cdot x_0)|=|b+w\cdot x_0| wd=(b+wx0)=b+wx0
综上:
d = 1 ∥ w ∥ ∣ w ⋅ x 0 + b ∣ d = \frac{1}{\|w\|}|w\cdot x_0+b| d=w1wx0+b

对于误分类点 ( x i , y i ) (x_i,y_i) (xi,yi),因为当 ( w x i + b ) > 0 (wx_i+b)>0 (wxi+b)>0时, y i = − 1 y_i=-1 yi=1;而当 ( w x i + b ) < 0 (wx_i+b)<0 (wxi+b)<0时, y i = + 1 y_i=+1 yi=+1。所以 − y i ( w x i + b ) > 0 -y_i(wx_i+b)>0 yi(wxi+b)>0恒成立(正确的分类点 ( x j , y j ) (x_j,y_j) (xj,yj)是满足 y j ( w x j + b ) > 0 y_j(wx_j+b)>0 yj(wxj+b)>0 的)。因此误分类点到超平面的距离为:
− y i ( w ⋅ x i + b ) ∥ w ∥ -\frac{y_i(w\cdot x_i+b)}{\|w\|} wyi(wxi+b)

假设超平面 S S S 的误分类点集合为 M M M ,那么所有误分类点到超平面的总距离为:
− 1 ∥ w ∥ ∑ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{\|w\|}\sum_{x_i \in M}{y_i(w\cdot x_i+b)} w1xiMyi(wxi+b)

由此我们可以把这个误分类点集合里的点到超平面 S S S 的总距离转化为一个损失函数,由于 ∥ w ∥ 2 = ( w 0 ) 2 + ( w 1 ) 2 + . . . + ( w n − 1 ) 2 \|w\|_2=\sqrt{(w^0)^2+(w^1)^2+...+(w^{n-1})^2} w2=(w0)2+(w1)2+...+(wn1)2 并不影响我们优化这个损失函数,反而会提升我们计算的复杂度,因此不予考虑,所以我们最后的损失函数(即感知机学习的经验风险函数)形式为:
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (1) L(w,b)=-\sum_{x_i \in M}{y_i(w\cdot x_i+b)}\tag{1} L(w,b)=xiMyi(wxi+b)(1)

损失函数 L ( w , b ) L(w,b) L(w,b)非负。如果没有误分类点,L=0
误分类点越少,误分类点离超平面越近,损失函数值越小

1.3 感知机学习算法

当感知机学习问题转化为求解损失函数(式(1))的最优化问题,最优化的方法是随机梯度下降SGD
原始形式
m i n w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (2) \mathop{min}\limits_{w,b}L(w,b)=-\sum_{x_i \in M}{y_i(w\cdot x_i+b)}\tag{2} w,bminL(w,b)=xiMyi(wxi+b)(2)

求使损失函数极小化的参数 w , b w,b w,b

具体采用随机梯度下降法:任取一个超平面 w 0 , b 0 w_0,b_0 w0,b0,然后用梯度下降法不断极小化目标函数 ( 2 ) (2) (2),极小化过程中每一次都随机选取一个误分类点使其梯度下降。
假设误分类点集合 M M M 固定,则损失函数 L ( w , b ) L(w,b) L(w,b) 的梯度为:
∇ w L ( w , b ) = − ∑ x i ∈ M y i x i ((1)对w求导) \nabla_wL(w,b)=-\sum_{x_i\in M}y_ix_i\tag{(1)对w求导} wL(w,b)=xiMyixi((1)w)

∇ b L ( w , b ) = − ∑ x i ∈ M y i ((1)对b求导) \nabla_bL(w,b)=-\sum_{x_i\in M}y_i\tag{(1)对b求导} bL(w,b)=xiMyi((1)b)

然后随机选取一个误分类点 ( x i , y i ) (x_i,y_i) (xi,yi),对 w , b w,b w,b 进行更新:
w ← w + η y i x i ( update   w ) w \leftarrow w+\eta y_ix_i\tag{\it update w} ww+ηyixi(update w)

b ← b + η y i ( update   b ) b \leftarrow b+\eta y_i\tag{\it update b} bb+ηyi(update b)

η ( 0 < η ≤ 1 ) ( 步长,又叫做学习率 learning   rate ) \eta(0<\eta\leq1)\tag{步长,又叫做学习率\it learning rate} η(0<η1)(learning rate)

感知机算法的原始形式:
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , . . . , N ; x_i \in \mathcal X = \mathcal R^n,y_i \in \mathcal Y =\{-1,+1\},i=1,2,...,N; xiX=Rn,yiY={1,+1},i=1,2,...,N; 学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta\leq1) η(0<η1)
输出: w , b w,b w,b ;感知机模型 f ( x ) = s i g n ( w ⋅ x + b ) f(x) = sign(w\cdot x+b) f(x)=sign(wx+b)
(1) 选取初值 w 0 , b 0 w_0,b_0 w0,b0
(2) 在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
(3) 如果 y i ( w ⋅ x i + b ≤ 0 ) y_i(w\cdot x_i+b\leq0) yi(wxi+b0)
w ← w + η y i x i w \leftarrow w+\eta y_ix_i ww+ηyixi

b ← b + η y i b \leftarrow b+\eta y_i bb+ηyi

(4)转至(2),直至训练集没有误分类点
算法直观解释:不断调整分离超平面向误分类点移动,从而减少误分类点到超平面的距离,直至误分类点被分类正确
注:感知机算法存在很多解,这些解与两个因素有关:初值、迭代过程中误分类点的选择顺序

1.4 感知机学习算法的收敛性

收敛:经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面和感知机模型
诺维科夫定理,证明太复杂,略…等有可能用到的时候再看吧…
定理表明:

  1. 误分类的次数 k k k是有上界的,经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。
  2. 当训练数据集线性可分时,感知及学习算法原始形式迭代是收敛的
  3. 当训练数据集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡
  4. 在感知机的基础上,为了得到唯一的超平面,需要对分离超平面增加约束条件,这就是线性支持向量机的想法。

1.5 感知机学习算法的对偶形式

对偶形式的基本想法:将 w w w b b b 表示为实例 x i x_i xi 和标记 y i y_i yi 的线性组合的形式,通过求解其系数而求得 w w w b b b
对误分类点 ( x i , y i ) (x_i,y_i) (xi,yi),对 w , b w,b w,b 进行更新:
w ← w + η y i x i ( update   w ) w \leftarrow w+\eta y_ix_i\tag{\it update w} ww+ηyixi(update w)

b ← b + η y i ( update   b ) b \leftarrow b+\eta y_i\tag{\it update b} bb+ηyi(update b)

逐步修改 w , b w,b w,b,设修改 n n n 次,则 w , b w,b w,b 关于 ( x i , y i ) (x_i,y_i) (xi,yi)的增量分别是 α y i x i \alpha y_ix_i αyixi α y i \alpha y_i αyi,其中 α = n i η \alpha=n_i\eta α=niη,则将整个学习过程整合起来有:
w = ∑ i = 1 N α y i x i ( α ≥ 0 , i = 1 , 2 , . . . , N ) w=\sum_{i=1}^{N}\alpha y_ix_i\tag{$\alpha \geq 0,i=1,2,...,N$} w=i=1Nαyixi(α0,i=1,2,...,N)

b = ∑ i = 1 N α y i ( α ≥ 0 , i = 1 , 2 , . . . , N ) b=\sum_{i=1}^{N}\alpha y_i\tag{$\alpha \geq 0,i=1,2,...,N$} b=i=1Nαyi(α0,i=1,2,...,N)

当学习率 η = 1 \eta=1 η=1 时, α i \alpha_i αi表示第 i i i 个实例点由于误分而进行更新的次数。次数越多,意味着误分类点距离分离超平面越近,也就越难正确分类。换句话说,这样的实例对学习结果影响最大。

感知机算法的对偶形式:
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , . . . , N ; x_i \in \mathcal X = \mathcal R^n,y_i \in \mathcal Y =\{-1,+1\},i=1,2,...,N; xiX=Rn,yiY={1,+1},i=1,2,...,N; 学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta\leq1) η(0<η1)
输出: α , b \alpha,b α,b ;感知机模型 f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x) = sign\left(\sum_{j=1}^{N}\alpha_j y_jx_j\cdot x+b\right) f(x)=sign(j=1Nαjyjxjx+b),其中 α = ( α 1 , α 2 , . . . , α N ) T \alpha=(\alpha_1,\alpha_2,...,\alpha_N)^T α=(α1,α2,...,αN)T
(1) α ← 0 , b ← 0 \alpha \leftarrow0,b\leftarrow0 α0,b0
(2) 在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
(3) 如果 y i ( ∑ j = 1 N α j y j x j ⋅ x + b ) ≤ 0 y_i\left(\sum_{j=1}^{N}\alpha_j y_jx_j\cdot x+b\right)\leq0 yi(j=1Nαjyjxjx+b)0
α i ← α i + η \alpha_i \leftarrow \alpha_i+\eta αiαi+η

b ← b + η y i b \leftarrow b+\eta y_i bb+ηyi

(4) 转至(2),直至训练集没有误分类点

Gram矩阵:训练集中实例点的两两内积构成的矩阵
G = [ x i ⋅ x j ] N × N = [ x 1 ⋅ x 1 x 1 ⋅ x 2 . . . x 1 ⋅ x N x 2 ⋅ x 1 x 2 ⋅ x 2 . . . x 2 ⋅ x N . . . . . . . . . . . . x N ⋅ x 1 x N ⋅ x 2 . . . x N ⋅ x N ] N × N \mathbf G =\begin{bmatrix}x_i\cdot x_j\end{bmatrix}_{N \times N}=\begin{bmatrix}{x_1\cdot x_1}&{x_1\cdot x_2}&{...}&{x_1\cdot x_N}\\{x_2\cdot x_1}&{x_2\cdot x_2}&{...}&{x_2\cdot x_N}\\{...}&{...}&{...}&{...}\\{x_N\cdot x_1}&{x_N\cdot x_2}&{...}&{x_N\cdot x_N}\end{bmatrix}_{N \times N} G=[xixj]N×N=x1x1x2x1...xNx1x1x2x2x2...xNx2............x1xNx2xN...xNxNN×N

1.5 西瓜书中描述的感知机

感知机由两层神经元组成,输入层接受外界输入信号后传递给输出层,MLP多层感知机的认识_第3张图片
权值 w i w_i wi更新公式,其中 y ^ \hat y y^表示感知机的输出, y y y表示训练样本 ( X , y ) (X,y) (X,y)里的 y y y,也就是样本的真实值,
Δ w i \Delta w_i Δwi是学习率 η ∈ ( 0 , 1 ) \eta\in (0 , 1) η(0,1) 乘差值 y − y ^ y-\hat y yy^ 再乘样本值 x i x_i xi
权值更新公式
如果感知机对训练样本 ( X , y ) (X,y) (X,y)预测正确,即 y ^ = y \hat y=y y^=y,则感知机不发生变化,否则将根据错误的程度进行权重调整。

感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元(functional neuron),学习能力非常有限。
与、或、非问题都是线性可分的,如图:

MLP多层感知机的认识_第4张图片 MLP多层感知机的认识_第5张图片 MLP多层感知机的认识_第6张图片

能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有 y i = + 1 y_i=+1 yi=+1的实例 i i i,有 w ⋅ x i + b > 0 w\cdot x_i+b>0 wxi+b>0,对所有 y i = − 1 y_i=-1 yi=1的实例 i i i,有 w ⋅ x i + b < 0 w\cdot x_i+b<0 wxi+b<0,则称数据集 T T T 为线性可分数据集。

“若两类模式是线性可分的,即存在一个线性超平面将它们分开,则感知机的学习过程一定会收敛而球的适当的权值向量 w ⃗ = ( w 1 ; w 2 ; . . . ; w n + 1 ) \vec w=(w_1;w_2;...;w_{n+1}) w =(w1;w2;...;wn+1),否则感知机学习过程将会发生振荡, w ⃗ \vec w w 难以稳定下来,不能求得合适解。”换句话说,感知机甚至不能解决如下图异或这样简单的非线性可分问题

MLP多层感知机的认识_第7张图片

所以要解决非线性可分的问题,就需要考虑使用多层功能神经元,比如用简单的两层感知机就能解决异或问题,如下图MLP多层感知机的认识_第8张图片
多出来的一层叫做隐藏层,在输入层和输出层之间,隐藏层和输出层神经元都是拥有激活函数的功能神经元,神经网络的层级结构如图所示:
MLP多层感知机的认识_第9张图片

上图中就是平时所说的多层前馈神经网络(“前馈”不意味着网络中信号不能向后传,而是指网络拓扑结构上不存在环或回路)
特点:每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,输入层神经元接受外界输入,隐藏层和输出层神经元对信号进行加工,最终结果由输出层神经元输出。

2.机器学习内容小结

神经网络的学习过程就是根据训练数据来调整神经元之间的“连接权”以及每个功能神经元的阈值。

以下部分转自知乎

神经网络的变种目前有很多,如误差反向传播(Back Propagation,BP)神经网路、概率神经网络、卷积神经网络(Convolutional Neural Network ,CNN-适用于图像识别)、时间递归神经网络(Long short-term Memory Network ,LSTM-适用于语音识别)等。但最简单且原汁原味的神经网络则是多层感知器(Muti-Layer Perception ,MLP)

使用全连接层(fully connected layer)
只接受向量(vector)作为输入

全连接层的意思就是:
z上一层的任何一个神经元与下一层的所有神经元都有连接

CNN(卷积神经网络)
采用局部连接层(locally connected layer)
可接受矩阵(matirx)作为输入
在图像处理上,CNN 使用稀疏连接层,来解决 MLP 向量输入时丢失的像素或像素之间的 2D 空间信息(spatial information)。

PS:tesorflow的一个图例

MLP神经网络的结构和原理

理解神经网络主要包括两大内容,一是神经网络的结构,其次则是神经网络的训练和学习,其就好比我们的大脑结构是怎么构成的,而基于该组成我们又是怎样去学习和识别不同事物的。

神经网络其实是对生物神经元的模拟和简化,生物神经元由树突、细胞体、轴突等部分组成。树突是细胞体的输入端,其接受四周的神经冲动;轴突是细胞体的输出端,其发挥传递神经冲动给其他神经元的作用,生物神经元具有兴奋和抑制两种状态,当接受的刺激高于一定阈值时,则会进入兴奋状态并将神经冲动由轴突传出,反之则没有神经冲动。
MLP多层感知机的认识_第10张图片

我们基于生物神经元模型可得到多层感知器MLP的基本结构,最典型的MLP包括包括三层:输入层、隐藏层和输出层,MLP神经网络不同层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)

MLP多层感知机的认识_第11张图片

神经网络主要有三个基本要素:权重、偏置和激活函数

权重:神经元之间的连接强度由权重表示,权重的大小表示可能性的大小
偏置:偏置的设置是为了正确分类样本,是模型中一个重要的参数,即保证通过输入算出的输出值不能随便激活
激活函数:起非线性映射的作用,可将神经元的输出幅度限制在一定范围内,一般限制在(-1,1)或(0,1)之间。最常用的激活函数是Sigmoid函数,其可将(-∞,+∞)的数映射到(0~1)的范围内。
MLP多层感知机的认识_第12张图片
激活函数还有tanh和ReLU等函数,tanh是Sigmoid函数的变形,tanh的均值是0,在实际应用中有比Sigmoid更好的效果;ReLU是近来比较流行的激活函数,当输入信号小于0时,输出为0;当输入信号大于0时,输出等于输入;具体采用哪种激活函数需视具体情况定。
MLP多层感知机的认识_第13张图片
一张图体现bias的作用
MLP多层感知机的认识_第14张图片
MLP的最经典例子就是数字识别,即我们随便给出一张上面写有数字的图片并作为输入,由它最终给出图片上的数字到底是几

对于一张写有数字的图片,我们可将其分解为由28*28=784个像素点构成,每个像素点的值在(0~1)之间,其表示灰度值,值越大该像素点则越亮,越低则越暗,以此表达图片上的数字并将这786个像素点作为神经网络的输入(知乎链接里有一个视频,讲解的很清楚)

你可能感兴趣的:(ML,神经网络,机器学习,线性代数,算法,人工智能)