Adaline神经网络
Adaline利用了最小二乘法的思想,相较于感知机神经网络,对于数据的线性可分的要求更低一些,可以允许一些异常数据。 上面描述了迭代求解的过程,但是在
x0(k+1)
这里没看懂,如果是更新
θ
应该是
w0(k+1)
才对。应该是PPT有错。 我们来说明下迭代求解需要注意的地方。 首先,将
θ
并入到
w
中去,因为θ前面的系数始终是1,所以
x
也多了一列,这一列都是1。
x=[1,x1,x2,⋯,xn]Tw=[θ,w1,⋯,wn] 然后是迭代的结束条件。在代码实现中,是计算
w(k−1)
与
w(k)
之间的差来判断的,如果差很小很小,说明梯度下降很缓慢,也就是快到达极值点了。
MATLAB实现迭代求解
Adaline.m
function [ w, t ] = Adaline( X,step, init_w, init_t )