单层神经网络:原理、改进与应用
1. 单层网络代码示例
在单层网络中,有如下代码片段用于更新获胜单元的权重:
units[winner}.weight[m] = units[winner}.weight[m] -
end if;
end do;
alpha * (patterns[j].weight[m] -units[winner).weight[m])
end. {Program}
此代码的作用是对获胜单元的权重进行调整,其中 alpha 为学习率, patterns[j].weight[m] 是输入模式的权重, units[winner].weight[m] 是获胜单元的权重。
2. LVQ 算法的改进
2.1 LVQ2 算法
LVQ1 算法有多种改进和变体,LVQ2 算法便是其中之一。在 LVQ2 算法中,不仅更新获胜神经元(输入向量 X 的最近邻)的权重,还会更新次近邻的权重,但需满足以下条件:
- 最近邻 $W_i$ 与输入向量 X 属于不同类别。
- 次近邻 $W_j$ 与输入向量 X 属于同一类别。
- 输入向量 X 必须位于连接 $W_i$ 和 $W_j$ 的线段的中垂面定义的窗口内。从数学角度看,若 X 满足特定条件,则认为其落在宽度为 w 的“窗口”内,w 建议取值范围为 0.2 至 0.3。若 X 落在窗口内,则根据以下方程更新权重向量 $W_i$ 和 $W_j$:
-
超级会员免费看
订阅专栏 解锁全文
873

被折叠的 条评论
为什么被折叠?



