Perzeption 感知机 算法,这个看一下李航 统计学习方法 里面讲的很好理解
1. gegeben Lerndatenmenge PUN 一直学习数据正例和反例
2. Erzeuge der Gewichtsvektor w 随机生成w参数
3. während Zähler < Schwellenwert:
4. Wähle ein Trainingsbeispiel x in PUN zufällig
5. Wenn x in P:
6. wenn w*x>0(korrekter Klassifiziert)
7. dann tue nichts
8. wenn w*x<=0:
9. setze w<- w+x (这里是把那个系数设为1了
10. x in N
11. wenn alle x richtig klafisiert:
12. break
13. update zähler
perzeption的问题:
两个几乎平行的向量间寻找,很容易振荡很久最后还是不拟合
解决方案就是用梯度下降法
或者是|w|>>|x|
那么拟合的速度很慢
所以需要归一化
Perzeptron -> Neuron
利用梯度下降法,那么就不能像用和perzeptron一样的aktivierungsfunktion
要求就是可微分differenzierbar 在0也可求导
perzeptron不能解决的问题就是表示XOR异或问题,但是通过很多的neuron的结合就可以实现
Kernel Perzeptron的算法
注意更新处a
MLNN 多层神经网络
xij: i-te Eingabe des Neuron j
wij: das Gewicht zwischen Neuron i und Neuron j
netj:
∑
i
=
1
n
w
i
j
x
i
j
\sum_{i=1}^nw_{ij}x_{ij}
∑i=1nwijxij Propagierungsfunktion
f(x): Aktivierungsfunktion
oj: Ausgabe des Neuron j
tj: Zielausgabe(target des Ausgabeneuron j
O: Mengen der Ausgabeneuron
Lj: direkte Nachfolger neuronen des Neurons j
真的不想打这些,没办法,考试有可能考
Nichtlinear-funktion:
1. Sigmoid=
1
1
+
e
−
x
,
偏
微
分
f
(
x
)
(
1
−
f
(
x
)
)
\frac{1}{1+e^{-x}},偏微分f(x)(1-f(x))
1+e−x1,偏微分f(x)(1−f(x))
2. Tangens Hyperbolius: f(x)=tanh(x),偏微分(1+f(x))(1-f(x))
Backpropagation Algorithm
随机得到w,然后求出估测结果值根据神经网络,然后根据与额定值的差来判断,
这样分配误差
这样调整
证明太长了。。。复习再推一遍
Problem/ Optimierung
Gradientabstieg 的优化 加入了
归一化每一步
学习率也要灵活
RPROP(Resilient Propogation)利用了归一化的每一步和学习率调整加速了收敛
Adam-Adaptive Moment Estimation 每一个参数要加入均值和方差
梯度的方差,这样就可以得到震动曲线的极小值了
要不然他就很容易在平坦的高原flaches Plateau上停止
初始化参数Xavier-Initialierung
要考虑neuron j 进出的neuron数目
想要处理图的问题还是不可以Topologie
Cascade correlation cascade 相关性
为了能表示拓扑学,隐藏层的加入
Dropout
由于神经网络太大,所以一起训练很不切实际,把他们分成子集,然后同时训练
gradient vanisching/ exploding 一开始的gradient 传到最底层的神经网络可能会出现的情况
改进方法gradient clipping 梯度修剪,给梯度设定阀值
residual learning 跳过层学习,使得底下的层可以接受更大的错误