ANN: algoritmo de aprendizaje de la red neuronal autoorganizada (SONN)

Requisito previo: ANN | Red neuronal autoorganizada (SONN)

En la red neuronal autoorganizada (SONN), el aprendizaje se realiza cambiando los pesos de las conexiones inactivas a las activas. Las neuronas que se ganaron se seleccionan para aprender junto con sus neuronas vecinas. Si una neurona no responde a un patrón de entrada específico, entonces el aprendizaje no se realizará en esa neurona en particular.

Algoritmo de aprendizaje de red neuronal autoorganizado:

Paso 0:

  • Inicialice los pesos sinápticos $W_{ij}$a valores aleatorios en un intervalo específico como [-1, 1] o [0, 1].
  • Asigne parámetros topológicos de vecindad.
  • Defina la tasa de aprendizaje $\alpha$(por ejemplo, 0,1).

Paso 1: Hasta que se alcance la condición de terminación, hacer un ciclo: Pasos 2-8

  • Paso 2: para el vector de entrada elegido al azar$X$del conjunto de muestras de entrenamiento, haga un ciclo: Pasos 3-5 .
  • Paso 3: Vector de peso sináptico$W_{j}$de la neurona ganadora$j$para el vector de entrada$X$. Para cada$j$, la distancia euclidiana se calcula entre un par de vectores (n X 1)$X$y$W_{j}$se representa mediante:

    \[$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}$\]

    Este es un criterio para encontrar similitud entre dos conjuntos de muestras. Se evalúan los Nodes (neuronas) de la red para determinar el vector de entrada más probable según sus pesos

  • Paso 4: Para seleccionar la neurona ganadora$j_{\mathbf{X}}$, que mejor coincida con el vector de entrada$X$, para queD(j)sea mínimo.

    \[$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$\]

    Donde: $n$es el número de neuronas en la capa de entrada,
    $m$es el número de neuronas en la capa de Kohonen.
    El Node ganador generalmente se denomina como la mejor unidad de coincidencia (BMU).

  • Paso 5: Ahora es la fase de Aprendizaje; para actualizar los pesos sinápticos. Para todos los Nodes$j$dentro de la vecindad de esa neurona, para cada$i$:

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

    ¿Dónde $\Delta w_{i j}(p)$está la corrección de peso en la iteración $p$?
    Este proceso de actualización de peso se basa en la regla de aprendizaje competitivo:

    \[$\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.$\]

    ¿Dónde $\alpha$está la tasa de aprendizaje?
    Aquí, la función de vecindad se centró en la neurona ganadora se lo lleva todo $j_{\mathbf{X}}$en la iteración $p$. Cualquier neurona dentro del radio de la BMU se modifica para hacerla más similar al vector de entrada.

  • Paso 6: actualice la tasa de aprendizaje$\alpha$. Siguiendo la ecuación-

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

  • Paso 7: en momentos específicos, reduzca el radio de la BMU de vecindad topológica. A medida que avanza el proceso de agrupación, el radio del vecindario alrededor de una unidad de agrupación también disminuye en consecuencia.
  • Paso 8: Verifique la condición de terminación.
  • Ejemplo con iteraciones:
    Tome un vector de entrada de 2 – Dimensión:$\mathbf{X}=\left[\begin{array}{l}0.52 \\ 0.12\end{array}\right]$

    1. Los vectores de pesos iniciales, $W_{\mathbf{j}}$, están dados por
    2. \[$\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]$\]

    3. Encontramos la neurona ganadora (mejor coincidencia) $j_{\mathbf{X}}$que satisface el criterio euclidiano de distancia mínima:
    4. \[$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$\]

    5. La neurona 3 es la ganadora y su vector de pesos $W_{\mathbf{3}}$se actualiza siguiendo la regla de aprendizaje competitivo.
    6. \[$\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$\]

    7. El vector de peso actualizado $W_{\mathbf{3}}$en la iteración $(p + 1)$se calcula como:
    8. \[$\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]\]$

    9. El vector de peso $W_{\mathbf{3}}$de la neurona ganadora 3 se vuelve más cercano al vector de entrada $X$en cada iteración.

    Publicación traducida automáticamente

    Artículo escrito por goodday451999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *