您的位置:首页 > 其它

感知器训练算法-----连续多输出

2013-11-27 10:32 246 查看
用公式wij=wij+α(yj-oj)xi取代了离散输出中是否是错误(若实际输出与期望输出不同,则为错误)的判断

yj与oj之间的差别对wij的影响由α(yj-oj)xi表现出来,不管是否错误都进行修正,只是在正确的时候,修正要加减的数为0

好处:不仅使得算法的控制在结构上更容易理解,而且还使得它的适应面更宽

1.用适当的小伪随机数初始化权矩阵W;

2.初置精度控制参数ε,学习率α,精度控制变量d=ε+1;

3.Whiled≥εdo

3.1d=0;

3.2for每个样本(X,Y)do

3.2.1输入X(=(x1,x2,…,xn));

3.2.2求O=F(XW);

3.2.3修改权矩阵W:

for i=1 to n,j= 1 to m do

wij=wij+α(yj-oj)xi;

3.2.4累积误差

forj=1tomdo

d=d+(yj-oj)*(yj-oj)

程序实现:ε、α、d、i、j、n、m为简单变量来表示,W为n行m列的二维数组。样本集二维数组

感知器的局限性

由于感知器的激活函数采用的是阀值函数,输出矢量只能取0或1,所以只能用它来解决简单的分类问题;

感知器仅能够线性地将输入矢量进行分类。

感知器还有另外一个问题,当输入矢量中有一个数比其他数都大或小得很多时,可能导致较慢的收敛速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: