机器学习(十二):人工神经网络(ANN)
- 一、人工神经元
- 1. 感知器
- 2. S型神经元
- 3. tanhtanhtanh 神经元
- 4. 修正线性神经元(rectified linear neuron)或者修正线性单元(rectified linear unit),简记为 ReLU
- 二、神经网络
- 1. 神经网络的架构
- 2. 神经网络的代数形式
- 三、反向传播算法(backpropagation)
- 1. Hadamard 乘积
- 2. 代价函数
- 3. 梯度下降算法
- 4. 关于代价函数的两个假设
- 5. 误差
- 6. 反向传播的四个方程式
- 7. 反向传播算法
- 四、过度拟合和规范化
- 1. L2规范化
- 2. L1规范化
tb店铺搜:FUN STORE玩物社,专业买手挑选送礼好物
一、人工神经元
1. 感知器
感知器是一种人工神经元,在 20 世纪五、六⼗年代由科学家Frank Rosenblatt发明。⼀个感知器接受⼏个二进制输⼊x1,x2,...x_1, x_2, . . .x1,x2,...,并产⽣⼀个二进制输出:
⽰例中的感知器有三个输⼊:x1,x2,x3x_1, x_2, x_3x1,x2,x3,引入权重w1,w2,w3w_1, w_2, w_3w1,w2,w3表⽰相应输⼊对于输出重要性的实数。输出值0或者1,则由分配权重后的总和∑jwjxj\sum_jw_jx_j∑jwjxj小于或者大于一些阈值决定。和权重⼀样,阈值是⼀个实数,⼀个感知器的参数。⽤更精确的代数形式:
把阈值移到不等式的另⼀边,并⽤感知器的偏置 b≡−thresholdb ≡ −thresholdb≡−threshold 代替。⽤偏置⽽不是阈值,那么感知器的规则可以重写为:
2. S型神经元
S 型神经元和感知器类似,但是被修改为权重和偏置的微⼩改动只引起输出的微⼩变化。正如⼀个感知器,S 型神经元有多个输⼊x1,x2,...x_1, x_2, . . .x1,x2,...,但是这些输⼊可以取0和1中的任意值,如0.618…是⼀个 S 型神经元的有效输⼊,⽽不仅仅是二进制输入0或1。同样,S 型神经元对每个输⼊有权重w1,w2,...w_1, w_2, . . .w1,w2,...和⼀个总的偏置 bbb,但输出不再是0或1,而是 σ(w⋅x+b)σ(w · x+b)σ(w⋅x+b),这⾥ σσσ 被称为S型函数,定义为:
σ(z)≡11+e−zσ(z) ≡ \frac1{1+e^{-z}}σ(z)≡1+e−z1
把它们放在⼀起来更清楚地说明,⼀个具有输⼊x1,x2,...x_1, x_2, . . .x1,x2,...,权重w1,w2,...w_1, w_2, . . .w1,w2,...和偏置 bbb 的S型神经元的输出是:
11+e−∑jwjxj−b=11+exp(−∑jwjxj−b)\frac1{1+e^{-\sum_jw_jx_j-b}} = \frac1{1+exp(-\sum_jw_jx_j-b)}1+e−∑jwjxj−b1=1+exp(−∑jwjxj−b)1
3. tanhtanhtanh 神经元
tanhtanhtanh 函数的定义为:
tanh(z)≡ez−e(−z)ez+e(−z)tanh(z) ≡ \frac{e^z - e^(-z)}{e^z + e^(-z)} tanh(z)≡ez+e(−z)ez−e(−z) S型神经元和 tanhtanhtanh 神经元之间的⼀个差异就是 tanhtanhtanh 神经元的输出的值域是 (−1, 1) ⽽⾮ (0, 1)。这意味着如果你构建基于 tanhtanhtanh 神经元,你可能需要正规化最终的输出(取决于应⽤的细节,还有你的输⼊),跟S型神经元略微不同。
4. 修正线性神经元(rectified linear neuron)或者修正线性单元(rectified linear unit),简记为 ReLU
输⼊为 xxx,权重向量为 www,偏置为 bbb 的 ReLUReLUReLU 神经元的输出是:
max(0,w⋅x+b)max\ (\ 0, w · x + b\ ) max ( 0,w⋅x+b )
二、神经网络
本文我们讨论的神经⽹络,都是以上⼀层的输出作为下⼀层的输⼊。这种⽹络被称为前馈神经⽹络。这意味着⽹络中是没有回路的,信息总是向前传播,从不反向回馈。
1. 神经网络的架构
上图⽹络中最左边的称为输⼊层,其中的神经元称为输⼊神经元。最右边的称为输出层,其中的神经元称为输出神经元,在本例中,输出层只有⼀个神经元。中间层既不是输⼊也不是输出,被称为隐藏层。
2. 神经网络的代数形式
我们⾸先给出⽹络中权重的清晰定义。我们使⽤ wjklw_{jk}^lwjkl 表⽰从 (l−1)th(l − 1)^{th}(l−1)th 层的 kthk^{th}kth 个神经元到 lthl^{th}lth 层的 jthj^{th}jth 个神经元的链接上的权重。例如,下图给出了⽹络中第⼆层的第四个神经元到第三层的第⼆个神经元的链接上的权重:
我们对⽹络的偏置和激活值也会使⽤类似的表⽰。显式地,我们使⽤ bjlb_j^{l}bjl 表⽰在 lthl^{th}lth 层第 jthj^{th}jth 个神经元的偏置,使⽤ ajla_j^{l}ajl 表⽰ lthl^{th}lth 层第 jthj^{th}jth 个神经元的激活值(即神经元的输出)。下⾯的图清楚地解释了这样表⽰的含义:
有了这些表⽰,lthl^{th}lth 层的第 jthj^{th}jth 个神经元的激活值 ajla_j^{l}ajl 就和 (l−1)th(l − 1)^{th}(l−1)th 层的激活值通过⽅程关联起来了(其中 σσσ 称为激活函数,本文选用S型神经元进行讨论,即选择激活函数为S型函数)
ajl=σ(∑kwjklakl−1+bjl){a_j}^l = σ(\sum_kw_{jk}^la_k^{l-1}+b_j^l) ajl=σ(k∑wjklakl−1+bjl) 其中求和是在 (l−1)th(l − 1)^{th}(l−1)th 层的所有 kkk 个神经元上进⾏的。为了⽤矩阵的形式重写这个表达式,我们对每⼀层 lll 都定义⼀个权重矩阵 wlw^lwl。权重矩阵 wlw^lwl 的元素正是连接到 lthl^{th}lth 层神经元的权重,更确切地说,在第 jthj^{th}jth ⾏第 kthk^{th}kth 列的元素是 wjklw_{jk}^lwjkl。类似的,对每⼀层 lll,定义⼀个偏置向量,blb^lbl,偏置向量的每个元素其实就是前⾯给出的 bjlb_j^{l}bjl,每个元素对应于 lthl^{th}lth 层的每个神经元。最后,我们定义激活向量 ala^lal,其元素是那些激活值 ajla_j^{l}ajl。最后引入激活函数(如 σ)来按照矩阵形式重写上述公式,得
al=σ(wlal−1+bl)a^l = σ(w^la^{l−1} + b^l) al=σ(wlal−1+bl) 在计算 ala^lal 的过程中,我们计算了中间量 zl≡wlal−1+blz^l ≡ w^la^{l−1} + b^lzl≡wlal−1+bl,我们称 zlz^lzl 为 lll 层神经元的带权输⼊。同样要指出的是 zlz^lzl 的每个元素是 zjl≡∑kwjklakl−1+bjl{z_j}^l ≡ \sum_kw_{jk}^l{a_k}^{l-1}+b_j^lzjl≡∑kwjklakl−1+bjl,其实 zjlz_j^lzjl 就是第 lll 层第 jjj 个神经元的激活函数的带权输⼊。
三、反向传播算法(backpropagation)
1. Hadamard 乘积
特别地,假设 sss 和 ttt 是两个同样维度的向量。那么我们使⽤ s⊙ts ⊙ ts⊙t 来表⽰按元素的乘积。所以 s⊙ts ⊙ ts⊙t 的元素就是$ (s ⊙ t)_j = s_j t_j$。给个例⼦,
这种类型的按元素乘法有时候被称为 Hadamard 乘积,或者 Schur 乘积。我们这⾥取前者。好的矩阵库通常会提供 Hadamard 乘积的快速实现,在实现反向传播的时候⽤起来很⽅便。
2. 代价函数
在神经网络的代数形式中,我们希望有⼀个算法,能让我们找到权重和偏置,以⾄于⽹络的输出 y(x)y(x)y(x) 能够拟合所有的训练输⼊ x。为了量化我们如何实现这个⽬标,在使用神经网络做项目的时候,我们往往需要定义一个代价函数。
为了便于接下来的讨论,本文定义一个二次代价函数。C(w,b)≡12n∑x∣∣y(x)−aL(x)∣∣2C(w, b) ≡ \frac1{2n}\sum_x||y(x)-a^L(x)||^2 C(w,b)≡2n1x∑∣∣y(x)−aL(x)∣∣2从上式可以看出,训练的⽬的,应该是最⼩化代价函数。我们使⽤梯度下降算法来最小化代价函数。
3. 梯度下降算法
在线性模型一文已经详细介绍过梯度下降算法,这里只做简单描述。
梯度下降算法是一种迭代算法,选取适当的初值w和b,不断迭代,更新w和b的值,进行目标函数的极小化,直到收敛。由于负梯度方向是使函数值下降最快的方向,在迭代的每一步,以负梯度方向更新w和b的值,从而达到减少函数值的目的。即每一次迭代,新的w和b都会由旧的w和b减去梯度乘以步长(或称速率eta)得到,代数形式为:
新w=旧w−∂C/∂w∗eta新w = 旧w - ∂C/∂w*eta新w=旧w−∂C/∂w∗eta新b=旧b−∂C/∂b∗eta新b = 旧b - ∂C/∂b*eta 新b=旧b−∂C/∂b∗eta 而反向传播算法,可用于快速计算代价函数C梯度,从而能够更快地更新w和b的值。
4. 关于代价函数的两个假设
反向传播的⽬标是计算代价函数 CCC 分别关于 www 和 bbb 的偏导数 ∂C/∂w∂C/∂w∂C/∂w 和 ∂C/∂b∂C/∂b∂C/∂b。为了让反向传播可⾏,我们需要做出关于代价函数的两个主要假设。
第一个假设是代价函数可以被写成⼀个在每个训练样本 xxx 上的代价函数 CxC_xCx 的均值 C=1n∑xCxC = \frac1{n}\sum_xC_xC=n1∑xCx。以⼆次代价函数为例,其中对每个独⽴的训练样本其代价是 Cx=12∣∣y(x)−aL(x)∣∣2C_x = \frac12||y(x)-a^L(x)||^2Cx=21∣∣y(x)−aL(x)∣∣2。
第二个假设是代价可以写成神经⽹络输出的函数。例如对于一个单独的训练样本x,可以写作:
C=12∣∣y−aL∣∣2=12∑j(yj−ajL)2C = \frac12||y-a^L||^2 = \frac12\sum_j(y_j-a_j^L)^2C=21∣∣y−aL∣∣2=21j∑(yj−ajL)2
5. 误差
反向传播其实是对权重和偏置变化影响代价函数过程的理解。最终极的含义其实就是计算偏导数 ∂C/∂wjkl∂C/∂w_{jk}^l∂C/∂wjkl 和 ∂C/∂bjl∂C/∂b_j^l∂C/∂bjl。但是为了计算这些值,我们⾸先引⼊⼀个中间量,δjlδ_j^lδjl,这个我们称为在 lthl^{th}lth 层第 jthj^{th}jth 个神经元上的误差。
为了理解误差是如何定义的,假设在神经⽹络上有⼀个调⽪⻤:
这个调⽪⻤在 lll 层的第 jthj^{th}jth 个神经元上。当输⼊进来时,调⽪⻤对神经元的操作进⾏搅局。他会增加很⼩的变化 ∆zjl∆z_j^l∆zjl 在神经元的带权输⼊上,使得神经元输出由 σ(zjl)σ(z_j^l)σ(zjl) 变成 σ(zjl+∆zjl)σ(z_j^l + ∆z_j^l)σ(zjl+∆zjl)。这个变化会向⽹络后⾯的层进⾏传播,最终导致整个代价产⽣ ∂C∂zjl∆zjl\frac{∂C}{∂z_j^l}∆z_j^l∂zjl∂C∆zjl 的改变。
现在,这个调⽪⻤变好了,试着帮助你来优化代价,它试着找到可以让代价更⼩的 ∆zjl∆z_j^l∆zjl。假设 ∂C∂zjl\frac{∂C}{∂z_j^l}∂zjl∂C有⼀个很⼤的值(或正或负)。那么这个调⽪⻤可以通过选择与 ∂C∂zjl\frac{∂C}{∂z_j^l}∂zjl∂C 相反符号的 ∆zjl∆z_j^l∆zjl 来降低代价。相反,如果 ∂C∂zjl\frac{∂C}{∂z_j^l}∂zjl∂C 接近 0,那么调⽪⻤并不能通过扰动带权输⼊ zjlz_j^lzjl 来改善太多代价。在调⽪⻤看来,这时候神经元已经很接近最优了。所以这⾥有⼀种启发式的认识, ∂C∂zjl\frac{∂C}{∂z_j^l}∂zjl∂C 是神经元的误差的度量。
按照上⾯的描述,我们定义 lll 层的第jthj^{th}jth 个神经元上的误差 δjlδ_j^lδjl 为:
δjl≡∂C∂zjlδ_j^l ≡ \frac{∂C}{∂z_j^l}δjl≡∂zjl∂C
证明:
代价函数C是关于z的函数,此处不妨假设 C=(1−z)2C = (1 - z)^2C=(1−z)2,函数图像如下图。∂C∂z\frac{∂C}{∂z}∂z∂C 为函数的斜率,则 zzz 带来的微小变化 ∆z∆z∆z,会如图中所示,导致整个C产生 ∂C∂z∆z\frac{∂C}{∂z}∆z∂z∂C∆z 的变化。
6. 反向传播的四个方程式
① 输出层误差 δLδ^LδL 的⽅程
δL=∇aC⊙σ′(zL)δ^L = ∇_aC ⊙ σ′(z^L) δL=∇aC⊙σ′(zL)证明:
δjL=∂C∂zjL=∑k∂C∂akL∂akL∂zjLδ_j^L = \frac{∂C}{∂z_j^L} = \sum_k\frac{∂C}{∂a_k^L}\frac{∂a_k^L}{∂z_j^L} δjL=∂zjL∂C=k∑∂akL∂C∂zjL∂akL因为
akL=σ(zkL)a_k^L = σ(z_k^L) akL=σ(zkL)当 k≠jk ≠ jk=j,∂akL∂zjL\frac{∂a_k^L}{∂z_j^L}∂zjL∂akL 消失;当 k=jk = jk=j,∂akL∂zjL=σ′(zjL)\frac{∂a_k^L}{∂z_j^L} = σ′(z_j^L)∂zjL∂akL=σ′(zjL) 。
固输出层 LLL 层每个元素定义如下:
δjL=∂C∂ajLσ′(zjL)δ_j^L = \frac{∂C}{∂a_j^L}σ′(z_j^L) δjL=∂ajL∂Cσ′(zjL)以矩阵形式定义 LLL 层误差得:
δL=∇aC⊙σ′(zL)δ^L = ∇_aC ⊙ σ′(z^L)δL=∇aC⊙σ′(zL)
② 使⽤下⼀层的误差 δl+1δ^{l+1}δl+1 来表⽰当前层的误差 δlδ^lδl
δl=((wl+1)Tδl+1)⊙σ′(zl)δ^l = ((w^{l+1})^Tδ^{l+1}) ⊙ σ′(z^l) δl=((wl+1)Tδl+1)⊙σ′(zl)证明:
δjl=∂C∂zjl=∑k∂C∂zkl+1∂zkl+1∂zjl=∑k∂zkl+1∂zjlδkl+1δ_j^l = \frac{∂C}{∂z_j^l} = \sum_k\frac{∂C}{∂z_k^{l+1}}\frac{∂z_k^{l+1}}{∂z_j^l} = \sum_k\frac{∂z_k^{l+1}}{∂z_j^l}δ_k^{l+1} δjl=∂zjl∂C=k∑∂zkl+1∂C∂zjl∂zkl+1=k∑∂zjl∂zkl+1δkl+1因为
zkl+1=∑jwkjl+1ajl+bkl+1=∑jwkjl+1σ(zjl)+bkl+1z_k^{l+1} = \sum_jw_{kj}^{l+1}a_j^l + b_k^{l+1} = \sum_jw_{kj}^{l+1}σ(z_j^l) + b_k^{l+1} zkl+1=j∑wkjl+1ajl+bkl+1=j∑wkjl+1σ(zjl)+bkl+1做微分,得到
∂zkl+1∂zjl=wkjl+1σ′(zjl)\frac{∂z_k^{l+1}}{∂z_j^l} = w_{kj}^{l+1}σ′(z_j^l) ∂zjl∂zkl+1=wkjl+1σ′(zjl)代入 δjlδ_j^lδjl,得出当前层 lll 层每个元素误差定义如下:
δjl=∑kwkjl+1δkl+1σ′(zjl)δ_j^l = \sum_kw_{kj}^{l+1}δ_k^{l+1}σ′(z_j^l)δjl=k∑wkjl+1δkl+1σ′(zjl)
③ 代价函数关于⽹络中任意偏置的改变率
∂C∂bjl=δjl\frac{∂C}{∂b_j^l} = δ_j^l ∂bjl∂C=δjl证明:
δjl=∂C∂zjl=∑k∂C∂bkl∂bkl∂zjlδ_j^l = \frac{∂C}{∂z_j^l} = \sum_k\frac{∂C}{∂b_k^l}\frac{∂b_k^l}{∂z_j^l} δjl=∂zjl∂C=k∑∂bkl∂C∂zjl∂bkl因为
zjl=∑kwjklakl−1+bjl⇒bjl=zjl−∑kwjklakl−1z_j^l = \sum_kw_{jk}^la_k^{l-1} + b_j^l\ \ \ \ \ \Rightarrow \ \ \ \ \ b_j^l = z_j^l - \sum_kw_{jk}^la_k^{l-1} zjl=k∑wjklakl−1+bjl ⇒ bjl=zjl−k∑wjklakl−1当 k≠jk ≠ jk=j,∂bkl∂zjl\frac{∂b_k^l}{∂z_j^l}∂zjl∂bkl 消失;当 k=jk = jk=j,∂bkl∂zjl=1\frac{∂b_k^l}{∂z_j^l} = 1∂zjl∂bkl=1 。
代入 δjlδ_j^lδjl,得:
δjl=∂C∂bjlδ_j^l = \frac{∂C}{∂b_j^l}δjl=∂bjl∂C
④ 代价函数关于任何⼀个权重的改变率
∂C∂wjkl=akl−1δjl\frac{∂C}{∂w_{jk}^l} = a_k^{l-1}δ_j^l ∂wjkl∂C=akl−1δjl证明:
∂C∂wjkl=∑i∂C∂zil∂zil∂wjkl\frac{∂C}{∂w_{jk}^l} = \sum_i\frac{∂C}{∂z_i^l}\frac{∂z_i^l}{∂w_{jk}^l} ∂wjkl∂C=i∑∂zil∂C∂wjkl∂zil因为
zil=∑kwiklakl−1+bilz_i^l = \sum_kw_{ik}^la_k^{l-1} + b_i^l zil=k∑wiklakl−1+bil当 i≠ji ≠ ji=j,∂zil∂wjkl\frac{∂z_i^l}{∂w_{jk}^l}∂wjkl∂zil 消失;当 i=ji = ji=j,∂zil∂wjkl=akl−1\frac{∂z_i^l}{∂w_{jk}^l} = a_k^{l-1}∂wjkl∂zil=akl−1。再将 δjl=∂C∂zjlδ_j^l = \frac{∂C}{∂z_j^l}δjl=∂zjl∂C代入得:
∂C∂wjkl=akl−1δjl\frac{∂C}{∂w_{jk}^l} = a_k^{l-1}δ_j^l ∂wjkl∂C=akl−1δjl
7. 反向传播算法
算法1 (反向传播算法)
输入:输入层向量 xxx
输出:代价函数的梯度 ∂C/∂wjkl∂C/∂w_{jk}^l∂C/∂wjkl 和 ∂C/∂bjl∂C/∂b_j^l∂C/∂bjl
① 计算各层对应的激活值 ala^lal
② 前向传播:对每个 l=2,3,...,Ll = 2,3,...,Ll=2,3,...,L 计算相应的 zl=wlal−1+blz^l = w^la^{l-1} + b^lzl=wlal−1+bl 和 al=σ(zl)a^l = σ(z^l)al=σ(zl)
③ 输出层误差δLδ^LδL:计算向量 δL=∇aC⊙σ′(zL)δ^L = ∇_aC ⊙ σ′(z^L)δL=∇aC⊙σ′(zL)
④ 反向误差传播:对每一个 l=L−1,L−2,...,2l = L-1,L-2,...,2l=L−1,L−2,...,2,计算 δl=((wl+1)Tδl+1)⊙σ′(zl)δ^l = ((w^{l+1})^Tδ^{l+1}) ⊙ σ′(z^l)δl=((wl+1)Tδl+1)⊙σ′(zl)
⑤ 根据 ∂C∂bjl=δjl\frac{∂C}{∂b_j^l} = δ_j^l∂bjl∂C=δjl 和 ∂C∂wjkl=akl−1δjl\frac{∂C}{∂w_{jk}^l} = a_k^{l-1}δ_j^l∂wjkl∂C=akl−1δjl 计算可得代价函数的梯度
四、过度拟合和规范化
增加训练样本的数量是⼀种减轻过度拟合的⽅法。另外的,本文要介绍的减轻过度拟合的方法为L1规范化和L2规范化。
1. L2规范化
L2规范化也叫权重衰减(weight decay)。L2 规范化的想法是增加⼀个额外的项到代价函数上,这个项叫做规范化项。下⾯是规范化的代价函数,其中 C0C_0C0 是原始代价函数:C=C0+λ2n∑ww2C = C_0 + \frac{λ}{2n}\sum_ww^2 C=C0+2nλw∑w2 其中第⼀个项就是原始代价函数的表达式。第⼆个现在加⼊的就是所有权重的平⽅的和。然后使⽤⼀个因⼦ λ/2nλ/2nλ/2n 进⾏量化调整,其中 λ>0λ > 0λ>0 可以称为规范化参数,⽽ nnn 就是训练集合的⼤⼩。
λλλ 越小,偏向于最小化原始代价函数,反之,倾向于小的权重。
2. L1规范化
L1规范化是在未规范化的代价函数上加上⼀个权重绝对值的和:C=C0+λn∑w∣w∣C = C_0 + \frac{λ}{n}\sum_w|w| C=C0+nλw∑∣w∣
以上全部内容参考书籍如下:
Michael Nielsen《Neural Networks and Deep Learning》
机器学习(十二):人工神经网络(ANN)相关推荐
- 福利 | 从生物学到神经元:人工神经网络 ( ANN ) 简介
文末有数据派THU福利哦 [ 导读 ] 我们从鸟类那里得到启发,学会了飞翔,从牛蒡那里得到启发,发明了魔术贴,还有很多其他的发明都是被自然所启发.这么说来看看大脑的组成,并期望因此而得到启发来构建智能 ...
- DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介、应用、经典案例之详细攻略
DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介.应用.经典案例之详细攻略 相关文章 DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类 ...
- 人工神经网络ANN建模基础须知
链接文章:机器学习基础须知.神经网络建模实践,其他博文 人工神经网络ANN 0.感知机:包括输入节点.输出节点两部分,输入节点和输出节点用一个表示权重的值连接.感知机的输出值是计算输入节点的加权和,减 ...
- 实现人工神经网络ANN对医疗数据分类
2.3 使用ANN对医疗数据分类 IBM在2015年5月宣布推出Watson Health服务,收集健康数据交给Watson超级计算机进行分析.目前IBM Waston Health最主要的应用便是在 ...
- 人工神经网络ANN的算法总结
用笔记,记录自己的点滴进步:用行动,驱赶心中的彷徨 --杰 人工神经网络ANN的算法总结 前言 卷积神经网络 相关名词解释 卷积层 激励层 池化层 全连接层 补充 参考资料与原文 前言 人工神经网络( ...
- ann matlab,人工神经网络ann及其matlab仿真.ppt
人工神经网络ann及其matlab仿真 人工神经网络 的研究方法及应用刘 长 安2004. 12. 31 引 言 利用机器模仿人类的智能是长期以来人们认识自然.改造自然和认识自身的理想. 研究ANN目 ...
- 人工神经网络 ANN
卷积神经网络CNN图解 本文参考人工神经网络ANN 神经网络是一门重要的机器学习技术.它是深度学习的基础. 神经网络是一种模拟人脑的神经网络以期望能够实现人工智能的机器学习技术.人脑中的神经网络是一个 ...
- 深度学习(一)多层感知器MLP/人工神经网络ANN
目录 一.定义和公式 1. 多层感知器 Multi Layer Perceptron MLP 2. MLP实现非线性分类 3. Keras介绍 二. 代码实战 1. 建立MLP模型实现二分类 1.1 ...
- 机器学习实战-57: 人工神经网络分类算法(Artificial Neural Network)
机器学习实战-57: 人工神经网络分类算法 深度学习原理与实践(开源图书)-总目录,建议收藏,告别碎片阅读! 人工神经网络(Artificial Neural Network)分类算法属于监督学习算法 ...
- 机器学习:支持向量机SVM和人工神经网络ANN的比较
在统计学习理论中发展起来的支持向量机(Support Vector Machines, SVM)方法是一种新的通用学习方法,表现出理论和实践上的优势.SVM在非线性分类.函数逼近.模式识别等应用中有非 ...
最新文章
- 使用消息来处理多线程程序中的一些问题
- 使用Docker-Compose,如何执行多个命令
- 面向对象中的session版的购物车
- 在linux下实现mysql自动备份数据
- Apache的RewriteRule规则详细介绍
- Python学习 资料[转]
- 方法的重载与重写区别
- LSTM网络(Long Short-Term Memory )
- 一个简单的三层架构之仓库管理系统的入库出库
- 物联网现状及未来发展趋势
- 什么是Portal认证
- linux每日命令(3):ln命令
- winedt103系统找不到指定文件_latex排版(CTeX winEdit输出“系统找不到指定的文件”的终极解决办法)...
- 计算机到点就有音乐怎么清除缓存垃圾,QQ音乐缓存文件在哪 QQ音乐缓存清理方法-电脑教程...
- Docker无法启动start request repeated too quickly for docker.service
- Flurry、友盟、TalkingData,Google analytic移动应用统计分析对比
- android 应用变量,真正免root的应用变量详细使用教程
- 德银天下招股书再度“失效”,陕汽控股集团提前“套现”约5亿元
- 在数控机床上加工零件,主要取决于加工程序
- gallery3D(3)