神经网络系统:由多层神经元构成,为了区分不同的神经层会有不同的名称。
输入层input layer:是直接接收信息的神经层,负责传递接收到的信息;
输出层output layer:是信息在神经元中传递和中转、分析、权衡形成输出的结果,通过这一层输出的结果可以直接地看出计算机对事物的认知;
隐藏层hidden layer:是在输入和输出层之间的众多神经元连接组成的各个层面,隐藏层可以有多层,作用是负责传入信息的加工处理
每个神经元都有属于自己的刺激函数,用这些函数给计算机一个刺激行为,当input layer接收到一个信息时,神经网络中只有部分神经元被激励,被激活的神经元传递下去的信息是计算机最为重视的信息(对输出结果最有价值的信息),根据output的对错对所有神经元参数调整,变得对真正重要信息敏感
Optimization:优化问题;Gradient Descent
cost function:误差方程,计算预测出来的值和实际值有多大差别
c
o
s
t
=
(
p
r
e
d
i
c
t
e
d
−
r
e
a
l
)
2
=
(
W
x
−
y
)
2
cost = (predicted - real)^2 = (Wx - y)^2
cost=(predicted−real)2=(Wx−y)2
W是参数,xy都是数据(数据点)
假设误差曲线如下图:假设初始化W在蓝点位置,该位置斜率为这条线,cost误差最小的地方是该曲线最低的地方,蓝点的w不知道何处误差最低,只有目前梯度线指明方向,需要朝着蓝色梯度线下降的方向下降一点点再做一条切线,若发现还能下降继续该过程,直到梯度线躺平,此时无法指出方向,找到了w最理想值
实际神经网络中的W是一个矩阵,很多情况误差曲线具有多个梯度躺平的地方,不同的W初始化位置将带来不同的下降区域,不同下降区域会带来不同w的解(有多个局部最优)
对于一个有分类能力的神经网络,拆掉output,套上另一个神经网络,用这种移植的方式再进行训练, 让它处理不同的问题