赞
踩
人工神经元是人工神经网络的基本构成元素,如下图所示,
=
[
x
1
,
x
2
,
x
3
.
.
.
x
m
]
T
,
W
=
[
w
1
,
w
2
,
.
.
.
w
m
]
T
=\left[ x_1,x_2,x_3...x_m \right] ^T,W=\left[ w_1,w_2,...w_m \right] ^T
=[x1,x2,x3...xm]T,W=[w1,w2,...wm]T为连接权,于是网络输入
u
=
∑
i
=
1
m
w
i
x
i
u=\sum_{i=1}^m{w_ix_i}
u=∑i=1mwixi,其向量形式为
u
=
W
T
X
u=W^TX
u=WTX
上图为单层感知器神经元模型,其中m为输入神经元的个数
v = ∑ i = 1 m w i x i , y = { 1 v ≥ 0 0 v < 0 v=\sum_{i=1}^m{w_ix_i},y=v=∑i=1mwixi,y={1v≥00v<0{1v≥00v<0
激活函数也乘激励函数,活化函数,用来执行对神经元所获得的网络输入的变换,一般有以下四种:
线性函数 f ( u ) = k u + c f(u)=ku+c f(u)=ku+c
非线性斜面函数
f
(
u
)
=
{
γ
,
u
≥
θ
k
u
,
∣
u
∣
<
θ
−
γ
,
u
≤
−
θ
f\left( u \right) =
其中
θ
,
γ
\theta ,\gamma
θ,γ为非负实数,
γ
\gamma
γ称为饱和值,即
γ
\gamma
γ为神经元的最大输出
阈值函数/阶跃函数
f
(
u
)
=
{
β
,
u
>
θ
−
γ
,
u
≤
θ
f\left( u \right) =
在logistic回归中介绍过sigmoid函数,该函数将区间负无穷到正无穷映射到(0,1)
sigmoid函数的公式为:
f
(
u
)
=
1
1
+
e
−
u
f\left( u \right) =\frac{1}{1+e^{-u}}
f(u)=1+e−u1
tanh函数讲教育sigmoid函数要常见一些,该函数将区间负无穷到正无穷映射到(-1,1),其公式为:
f
(
u
)
=
e
u
−
e
u
e
u
+
e
−
u
f\left( u \right) =\frac{e^u-e^u}{e^u+e^{-u}}
f(u)=eu+e−ueu−eu
例:
采用单一感知器神经元解决简单的分类的问题:将四个输入向量分为两类,其中两个向量对应的目标值为1,另外两个向量对应的目标值为0,即输入向量构成矩阵:
[
−
0.5
−
0.5
0.3
0
−
0.5
0.5
−
0.5
1
]
\left[
其中每一列1列是一个输入的取值,且目标分类向量T=[1,1,0,0]。试预测新输入向量
p
=
[
−
0.5
,
0.2
]
T
p=\left[ -0.5,0.2 \right] ^T
p=[−0.5,0.2]T的目标值:
from sklearn.linear_model import Perceptron
import numpy as np
x0=np.array([[-0.5,-0.5,0.3,0.0],[-0.5,0.5,-0.5,1.0]]).T
y0=np.array([1,1,0,0])
md=Perceptron().fit(x0,y0)#构造并拟合模型
print("模型系数和常数项分别为:",md.coef_,",",md.intercept_)
print("模型精度:",md.score(x0,y0))#模型检验
print("预测值为:",md.predict([[-0.5,0.2]]))
记两个指标变量分别为 x 1 , x 2 x_1,x_2 x1,x2,求得分类函数为 v = − 1.3 x 1 − 0.5 x 2 v=-1.3x_1-0.5x_2 v=−1.3x1−0.5x2。新输入向量p的目标值为1
BP神经网络最大优点是具有极强的非线性映射能力,他主要用于以下四个方面
BP神经网络的具体流程如下:
(1) 初始化,给各连接权及阈值赋予[-1,1]的随机值
(2) 随机选择一模式对
X
0
=
[
x
1
0
,
x
2
0
.
.
.
.
x
n
0
]
,
Y
0
=
[
y
1
0
,
y
2
0
,
.
.
.
y
n
0
]
X_0=\left[ x_{1}^{0},x_{2}^{0}....x_{n}^{0} \right] ,Y_0=\left[ y_{1}^{0},y_{2}^{0},...y_{n}^{0} \right]
X0=[x10,x20....xn0],Y0=[y10,y20,...yn0]提供给网络
(3)用输入模式、连接权,和國值,计算中间层各单元的输入,然后用s通过活函数计算中间层各单元的输出。
(4)用中间层的输出;连接权。和阔值计算输出层各单元的输入,然后用。过激活函数计算输出层各单元的响应d。
(5)用希望输出模式、网络实际输出计算输出层各单元一般化误差。。
(6)用连接权g、输出层一般化误差、中间层输出,计算中间层各单元一般化误
的元一般化误差c、中间层各单元输出,修正连接权u,和阈值。人各单元输入,修正连接权和阙值。
(7)重新从m个学习模式中随机选取一个模式对,即返回步骤3,直至网络全局误差函数E小于预先设定的一个极小值,即网络收敛;或学习次数大于预先设定的值,即网络无法收敛
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。