📜  ANN – 自组织神经网络 (SONN) 学习算法

📅  最后修改于: 2022-05-13 01:58:08.922000             🧑  作者: Mango

ANN – 自组织神经网络 (SONN) 学习算法


先决条件: ANN |自组织神经网络 (SONN)

在自组织神经网络 (SONN) 中,通过将权重从非活动连接转移到活动连接来执行学习。选择获胜的神经元与它们的邻域神经元一起学习。如果神经元对特定输入模式没有响应,那么学习将不会在该特定神经元中进行。

自组织神经网络学习算法:

第 0 步:

  • 初始化突触权重$W_{ij}$到特定区间内的随机值,如 [-1, 1] 或 [0, 1]。
  • 分配拓扑邻域参数。
  • 定义学习率$\alpha$ (比如说,0.1)。

步骤 1:直到达到终止条件,执行循环:步骤 2-8



  • 步骤 2:对于随机选择的输入向量$X$从训练样本集中,执行循环:步骤 3-5
  • 第 3 步:突触权重向量$W_{j}$获胜的神经元$j$对于输入向量$X$ .对于每个$j$ , 欧氏距离是在一对 (n X 1) 向量之间计算的$X$$W_{j}$代表为——

        \[$D(j) = \left\|\mathbf{X}-\mathbf{W}_{j}\right\|=\left[\sum_{i=1}^{n}\left(x_{i}-w_{i j}\right)^{2}\right]^{1 / 2}$\]

    这是寻找两组样本之间相似性的标准。评估网络中的节点(神经元),根据其权重确定最可能的输入向量

  • 第 4 步:要选择获胜的神经元, $j_{\mathbf{X}}$ ,最匹配输入向量$X$ , 所以这样D(j)是最低限度。

        \[$j_{\mathbf{X}}(p)=\min _{j}\left\|\mathbf{X}-\mathbf{W}_{j}(p)\right\|=\left\{\sum_{i=1}^{n}\left[x_{i}-w_{i j}(p)\right]^{2}\right\}^{1 / 2}$\\ $j = 1, 2, \ldots, m$\]

    在哪里: $n$是输入层的神经元数量,
    $m$是 Kohonen 层中的神经元数量。
    获胜节点通常称为最佳匹配单元 (BMU)。

  • 第五步:现在是学习阶段;更新突触权重。对于所有节点$j$在那个神经元的邻域内,对于每个$i$

        \[$w_{i j}(p+1)=w_{i j}(p)+\Delta w_{i j}(p)$\]

    在哪里$\Delta w_{i j}(p)$是迭代时的权重修正$p$ .
    这个更新权重的过程基于竞争学习规则:

        \[$\Delta w_{i j}(p) = \left\{\begin{array}{cl}\alpha\left(x_{i}-w_{i j}(p)\right), & \text { if neuron } j \text { wins the competition } \\ 0, & \text { if neuron } j \text { loses the competition }\end{array}\right.$\]

    在哪里$\alpha$是学习率。
    这里的邻域函数以赢家通吃的神经元为中心$j_{\mathbf{X}}$在迭代$p$ . BMU 半径内的任何神经元都经过修改,使它们更类似于输入向量。

  • 第 6 步:更新学习率$\alpha$ .遵循等式 -

        \[$\alpha (t + 1) = 0.5 * \alpha(t)$\]

  • 步骤 7:在指定时间减小拓扑邻域 BMU 的半径。随着聚类过程的进行,聚类单元周围的邻域半径也相应减小。
  • 步骤 8:检查终止条件。


    迭代示例:
    取一个 2 维的输入向量: $\mathbf{X}=\left[\begin{array}{l}0.52 \\ 0.12\end{array}\right]$

    1. 初始权重向量, $W_{\mathbf{j}}$ , 由

          \[$\mathbf{W}_{1}=\left[\begin{array}{l}0.27 \\ 0.81\end{array}\right] \quad \mathbf{W}_{2}=\left[\begin{array}{l}0.42 \\ 0.70\end{array}\right] \quad \mathbf{W}_{3}=\left[\begin{array}{l}0.43 \\ 0.21\end{array}\right]$\]

    2. 我们找到获胜(最佳匹配)的神经元$j_{\mathbf{X}}$满足最小距离欧几里德准则:

          \[$d_{1}=\sqrt{\left(x_{1}-w_{11}\right)^{2}+\left(x_{2}-w_{21}\right)^{2}}=\sqrt{(0.52-0.27)^{2}+(0.12-0.81)^{2}}=0.73$\\ $d_{2}=\sqrt{\left(x_{1}-w_{12}\right)^{2}+\left(x_{2}-w_{22}\right)^{2}}=\sqrt{(0.52-0.42)^{2}+(0.12-0.70)^{2}}=0.59$\\ $d_{3}=\sqrt{\left(x_{1}-w_{13}\right)^{2}+\left(x_{2}-w_{23}\right)^{2}}=\sqrt{(0.52-0.43)^{2}+(0.12-0.21)^{2}}=0.13$\]

    3. 神经元 3 是赢家及其权重向量$W_{\mathbf{3}}$按照竞争学习规则更新。

          \[$\Delta w_{13}=\alpha\left(x_{1}-w_{13}\right)=0.1(0.52-0.43)=0.01$\\ $\Delta w_{23}=\alpha\left(x_{2}-w_{23}\right)=0.1(0.12-0.21)=-0.01$\]

    4. 更新后的权重向量$W_{\mathbf{3}}$在迭代$(p + 1)$计算如下:

          \[$\mathbf{W}_{3}(p+1)=\mathbf{W}_{3}(p)+\Delta \mathbf{W}_{3}(p)=\left[\begin{array}{l}0.43 \\ 0.21\end{array}\right]+\left[\begin{array}{r}0.01 \\ -0.01\end{array}\right]=\left[\begin{array}{l}0.44 \\ 0.20\end{array}\right]\]$

    5. 权重向量$W_{\mathbf{3}}$获胜神经元的 3 变得更接近输入向量$X$在每次迭代中。