神经网络最基础部分是由神经元组成,一个神经元相当于是一个一次函数,y=ax+b
即在已知x,和y情况下,怎么使用神经网络求解a和b
如下是使用excel求解的神经网络,可以方便理解神经网络运行原理
excel BP神经网络下载地址
已知 x 和y
上面第3步,损失函数为loss=
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
2
(y\_pred-y\_true)^2
(y_pred?y_true)2
其中w00,w01,w02倒数如下。导数公式证明见2.1或者2.2小节,其中用到了
x
2
x^2
x2 的导数为2x,
x
2
x^2
x2的倒数证明见第4小节。
若链式法则求导无法理解见 2.2节直接求导
loss=
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
2
(y\_pred-y\_true)^2
(y_pred?y_true)2 对w的导数为
?
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
2
?
w
0
=
2
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
?
x
0
\frac{\partial(y\_pred-y\_true)^2}{\partial w0}=2(y\_pred-y\_true)*x0
?w0?(y_pred?y_true)2?=2(y_pred?y_true)?x0
?
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
2
?
w
1
=
2
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
?
x
1
\frac{\partial(y\_pred-y\_true)^2}{\partial w1}=2(y\_pred-y\_true)*x1
?w1?(y_pred?y_true)2?=2(y_pred?y_true)?x1
?
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
2
?
w
2
=
2
(
y
_
p
r
e
d
?
y
_
t
r
u
e
)
?
x
2
\frac{\partial(y\_pred-y\_true)^2}{\partial w2}=2(y\_pred-y\_true)*x2
?w2?(y_pred?y_true)2?=2(y_pred?y_true)?x2
若不知道x^2的倒数,见第4小节
直接求导与链式求导结果一样
如下所示,数据在进行了两轮更新(共计20步)后,已从初始值0,0,0逐步收敛到真实值wTrue.
excel下载地址