单层感知器结构的数学基础
输入是一个N维向量
其中的每一个分量都对应于一个权值"w",隐含层的输出叠加为一个标量值
输入与权值乘积和
传递函数为
其中 sgn函数为:
例如: 二维空间中的超平面是一条直线。在直线下方的点,输出-1;在直线上方的点,输出1。
分类面:b的作用为使得分割线不固定在原点,防止过原点的直线不能正确分类(如图中红色圆圈不能分类)。
在实际的应用中:
重新改写参数矩阵:
过程描述:
(1) 初始化。n=0,将权值向量 设置为随机值或全零值。
(2) 激活。输入训练样本,对每个训练样本指定其期望输出 。
(3) 计算实际输出。
(4)更新权值向量。
d(n)为目标值,y(n)为当次迭代输出值,μ为学习率,公式会用就行
(5)判断。若满足收敛条件,算法结束;若不满足,n自增1,转到第2步继续执行。
停止迭代的条件为:
1. 误差小于某个预先设定的较小的值
2. 两次迭代之间的权值变化已经很小
3. 设定最大迭代次数M,当迭代了M次之后算法就停止迭代
(实际运行中条件混合使用,防止出现算法不收敛现象。)
确定学习率
1. 不应当过大,以便为输入向量提供一个比较稳定的权值估计
2. 不应当过小,以便使权值能够根据输入的向量x实时变化,体现误差对权值的修正作用
感知器的局限性
1. 感知器的激活函数使用阈值函数,输出值只有两种取值,限制了在分类种类上的扩展 。
2. 如果输入样本存在奇异样本(1,1,10000)输入向量差异很大,网络需要花费很长的时间。
3. 感知器的学习算法只对单层有效 。