Modelo de red neuronal de Hopfield
En 1982, J. Hopfield del Instituto de Tecnología de California publicó un artículo influyente sobre la investigación de redes neuronales artificiales. Propuso un modelo de red neuronal artificial de retroalimentación interconectada: la red neuronal artificial Hopfield.
La red neuronal artificial de Hopfield es una red recursiva, también llamada red de memoria autoasociativa. Su propósito es diseñar una red y almacenar un conjunto de puntos de equilibrio, de modo que cuando a la red se le dé un conjunto de valores iniciales, la red eventualmente converja a un punto de equilibrio almacenado a través de sus propias operaciones.
La red Hopfield es una red simétrica de retroalimentación completa de una sola capa, que se puede dividir en una red neuronal Hopfield discreta (DHNN) y una red neuronal Hopfield continua (CHNN) según diferentes funciones de activación. La función de activación de la red Hopfield discreta es una función de paso binario, que se utiliza principalmente para memoria asociativa, clasificación de patrones y reconocimiento de patrones. Este software es el diseño y aplicación de redes Hopfield discretas.
2. Principio del modelo de Hopfield
El propósito del diseño de la red Hopfield discreta es hacer que cualquier vector de entrada converja a una muestra de la memoria de la red a través de bucles de red.
Diseño de pesos ortogonales
La idea básica y punto de partida de este método es cumplir los siguientes cuatro requisitos:
1) Asegurar la estabilidad del sistema cuando Su propiedad funciona de forma asincrónica, es decir, los pesos son simétricos y satisfactorios.
wij=wji, I, j=1, 2..., N;
2) Asegúrese de que todos los puntos de equilibrio estables que deben memorizarse puedan converger hacia sí mismos; /p>
3) Hacer que el número de puntos pseudoestables sea lo más pequeño posible;
4) Hacer que la atracción de puntos estables sea lo más grande posible.
La fórmula de cálculo del peso de ortogonalización se deriva de la siguiente manera:
1) Se sabe que es necesario almacenar P puntos de equilibrio estable, a saber, x1, x2..., xP -1, xP ∈ RN, Calcule la matriz de orden N×(P-1), es decir, A∈RN×(P-1).
a =(x 1-xP x2-xP…xP-1-xP)T .
2) Realizar descomposición en valores singulares en a
A= USVT,
U=(u1u2…uN),
V=(υ1υ2…υP-1),
Nuevas tecnologías y modelos para la evaluación de recursos minerales en China
σ = di α g (λ 1, λ2,…, λK), O es una matriz cero.
El espacio K-dimensional es un subespacio del espacio n-dimensional, que consta de k bases independientes:
K=rαnk(A),
Sea {u1u2 ...uk} es la base ortonormal de a, y {uk+1uk+2...un} es la base ortonormal complementaria del espacio n-dimensional. La matriz U se utiliza para diseñar pesos.
3) Estructura
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China
La matriz de peso total de conexión es:
Wt =Wp- T Wm,
donde t es un parámetro mayor que -1 y el valor predeterminado es 10.
Tanto Wp como Wm satisfacen la condición de simetría, es decir,
ij=(wp)ji,
ij=(wm)ji,
Por lo tanto, los componentes en Wt también satisfacen la condición de simetría. Esto garantiza que el sistema pueda converger cuando se produzcan ciclos asincrónicos y sin límite.
4) La estructura de sesgo de la red es
bt=xP-Wt xP.
A continuación se deduce que las muestras de memoria pueden converger hacia su propia efectividad. .
(1) Para cualquier vector objetivo xp en la muestra de entrada, p=1, 2,...,p, porque (xp-xP) es un vector en A y pertenece a K definido por rango de A El vector del espacio base debe tener coeficientes α1, α2,..., αK, entonces,
xP-xP =α1u 1+α2 U2+...+αKuK,
es decir
xP =α1u 1+α2 U2+…+αKuK+xP,
Para cualquier interfaz de usuario en U, existen
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China
Según la ortogonalidad, en la fórmula anterior,
Cuando i=j,;
Cuando i ≠ j.
Para el modo de entrada xi, la salida de la red es
yi=sgn(Wtxi+bt)
=sgn(Wpxi-T Wmxi+xP-WpxP+ T WmxP)
=sgn[Wp(xi-xP)-T Wm(xi-xP)+xP]
=sgn[(Wp-T Wm)(xi-xP )+xP]
=sgn[Wt(xi-xP)+xP]
=sgn[(xi-xP)+xP]
=xi .
(2) Para el modo de entrada xP, la salida de la red es
yP=sgn(WtxP+bt)
=sgn(WtxP+xP- WtxP )
=sgn(xP)
=xP .
(3) Si la entrada no es X de la muestra de memoria, la salida de red es
y=sgn(Wtx+bt)
=sgn[(Wp-T Wm)(x-xP)+xP]
=sgn[Peso( x-xP) +xP].
Debido a que X no es una muestra de memoria aprendida y x-xP no es un vector en A, debe haber uno.
Wt(x-xP)≠x-xP,
Y durante el proceso de rediseño, se puede controlar ajustando el tamaño del parámetro T en WT = WP-T WM ( x-xP) y xP, asegurando así que haya suficiente equilibrio de tamaño entre el vector de entrada X y las muestras de memoria para que sgn(Wtx+bt)≠x no pueda converger consigo mismo.
Dado un conjunto de puntos de equilibrio objetivo a través de la entrada, la función HopfieldDesign() puede diseñar los pesos y sesgos de la red Hopfield para garantizar que la red pueda converger a un punto de equilibrio estable para el vector objetivo dado.
Después de diseñar la red, puede usar la función HopfieldSimu() para clasificar los vectores de entrada. Los vectores clasificados se acercarán al punto de equilibrio objetivo y finalmente encontrarán sus vectores objetivo como vectores de entrada.
3. Algoritmo general
1. El peso de la red Hopfield W[N][N], la desviación b[N] se utiliza para diseñar el algoritmo general.
La red Hopfield se diseña utilizando el método de diseño de pesos ortogonales.
De acuerdo con el diseño del vector objetivo dado, genere el peso W[N][N] y la desviación b[N];
Haga que el vector de salida estable de la red Hopfield sea consistente con el objetivo dado Los vectores son consistentes.
1) Ingrese al modo de entrada P X=(x[1], x[2],…, x[P-1], x[P])
Parámetros de entrada, Incluyendo t y h;
2) Construya un [n][P-1]=(x[1]-x[P], x[2]-x[P],…,x [ pág-1]-X.
3) A[N][P-1]A = descomposición en valor singular de usvt
4) Encuentra el rango de A[N][P-1];
5) Construir WP[n] a partir de U=(u[1], u[2],…,u[K]
6) Construir WP[n] a partir de U=(u[ K+1],…,u[N]) Construir WM[N][N];
7) Construir wt[n][n]= WP[n][n ]-t * WM [n][n];
8) Constructo Bt[n]= x[n][p]-wt[n][n]* x[n][p] ;
9) Construir w [n] [n] (9 ~ 13),
Construir w 1[n][n]= h * wt[n][n] ;
10) Encuentre la matriz de valores propios Val[N][N] de W1[n] (los elementos diagonales son valores propios, el resto son 0) y la matriz de vectores propios VEC[N][N] ;
11)Encuentra eval[n][n]= diag { exp[diag(val)]}[n][n];
12) Encuentra la inversa [ n] de vec [n] ][n];
13) Construye w[n][n]= vec[n][n]* eval[n][n]* invec[n] [n];
14) Estructura b[N], (14 ~ 15),
C1=exp(h)-1,
C2 = -(exp(-T * h)-1)/T;
15) Estructura
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales de China
u \uTransposición;
16) Salida W[N][N], b[N];
17) Fin.
2. La predicción de la red Hopfield aplica el algoritmo general.
La red Hopfield está formada por una capa de n neuronas con una función de pendiente.
La red Hopfield se diseña utilizando el método de diseño de pesos ortogonales.
Según el diseño del vector objetivo dado, se generan el peso W[N][N] y la desviación b[N].
La salida inicial es X[N][P],
Calcular X[N][P]=f(W[N][N]*X[N][ P ]+b[N]),
Ejecutar la iteración de prueba,
devolver la salida final X[N][P], que puede considerarse como la clasificación de la inicial producción.
3. Función de pendiente
Nueva tecnología y nuevo modelo de evaluación de recursos minerales de China
Rango de producción [-1, 1].
4. Diagrama de flujo de datos
El diagrama de flujo de datos de la red Hopfield se muestra en la Figura 3.
Descripción de la función de llamada del verbo (abreviatura de verbo)
1. Descomposición en valores singulares de matrices reales generales
(1) Función
Utilice la transformación de Householder y el algoritmo QR deformado para realizar la descomposición de valores singulares de matrices reales generales.
(2) Descripción del método
Supongamos que a es una matriz real de m×n, entonces hay una matriz ortogonal de columna U de m×m y una matriz ortogonal de columna V de n ×n , por lo
Se establecieron nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales de China
. En...
σ= diag(σ0,σ1,…σp)p? min(m, n)-1,
Y σ0≥σ1≥...≥σP > 0,
La fórmula anterior se llama descomposición en valores singulares de la matriz real A. , σ i ( i = 0, 1, ..., p) se llama valor singular de A.
La descomposición del valor singular se divide en dos pasos:
La primer paso: A pasa por la Casa Hall De transformada en una matriz diagonal. Es decir
Nuevas tecnologías y nuevos modelos para la evaluación de los recursos minerales de China
En...
Nuevas tecnologías y nuevos modelos para la evaluación de los recursos minerales de China
Cada transformación UJ (j = 0, 1, ..., k-1) en A cambia el elemento bajo la diagonal principal de la columna J en A a 0, mientras que cada transformación VJ (j = 0) en A ,1,...,l-1) Cambie los elementos debajo de la diagonal principal de la columna J en A a 0.
]]
j tiene la siguiente forma:
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China
donde ρ es el factor de escala para evitar el desbordamiento en En el proceso de cálculo y acumulación de errores, Vj es un vector de columna. Es decir,
Vj=(υ0, υ1,…, υn-1),
Reglas
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China.
En...
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China
Paso 2: Utilice el algoritmo QR deformado para calcular de forma iterativa todos los valores singulares . Es decir, mediante una serie de transformaciones de rotación plana, la matriz bidiagonal B se transforma gradualmente en una matriz diagonal.
En cada iteración se utiliza transform.
Nuevas tecnologías y modelos para la evaluación de recursos minerales en China
La transformación cambia los elementos distintos de cero bajo la diagonal principal de la columna j en B a 0, y al mismo tiempo, en La transformación Vj aparece un elemento distinto de cero en el lado derecho del elemento subdiagonal en la fila j, j + 1 cambia un elemento 0 en el lado derecho del elemento subdiagonal en la fila j-1 a 0, y aparece un elemento distinto de 0 Debajo del elemento diagonal principal en la columna j. Por lo tanto, después de una iteración (j = 0, 1, ..., p-1), B' sigue siendo una matriz diagonal dual. Pero a medida que avanzan las iteraciones. Finalmente converge a una matriz diagonal, y los elementos de la diagonal son todos valores singulares.
En cada iteración, después de la transformación inicial V01, aparecerá un elemento distinto de cero debajo de la diagonal principal de la columna 0. En la transformación V01, la fórmula de cálculo para seleccionar el trasplante de bits u es la siguiente:
Nueva tecnología y nuevo modelo de evaluación de recursos minerales de China
Finalmente, los valores singulares deben ser ordenados en orden no creciente.
En el proceso de transformación anterior, si es un elemento subdiagonal ej, se cumple.
|ej|? ε(|sj+1|+|sj|)
Entonces se puede considerar que ej es 0.
Si el elemento diagonal sj satisface
|sj|? ε(|ej-1|+|ej|)
Entonces se puede considerar que sj es 0 (es decir, el valor singular de 0). donde ε es el requisito de precisión dado.
(3) Descripción de la llamada
int bmuav(double*a, int m, int n, double*u, double*v, double eps, int ka),
Esta función devuelve un valor de indicador entero. Si el valor del indicador devuelto es menor que 0, significa que no se encontró el valor singular después de 60 iteraciones. En este momento, la fórmula de descomposición de la matriz es UAVT; si el valor del indicador devuelto es mayor que 0, significa retorno normal.
Descripción de los parámetros formales:
A——Puntero a una matriz de números reales de doble precisión con un volumen de m×n Almacena la matriz real a de m×n; , sus líneas diagonales dan valores singulares (en orden no creciente), otros elementos son 0
m - variable entera, el número de filas de la matriz real A
n - variable entera, el número de columnas de la matriz real A;
El puntero u apunta a la matriz real de doble precisión, el volumen es m×m y se almacena el vector singular izquierdo u cuando se devuelve;
υ——Apunta a la doble precisión Un puntero a una matriz real con un volumen de n Tipo de variable, su valor es max(m,n)+1.
2. El método jacobiano de buscar la verdad a partir de los valores propios y vectores propios de matrices simétricas.
(1) Función
El método jacobiano se utiliza para encontrar todos los valores propios y los vectores propios correspondientes de una matriz simétrica.
(2) Descripción del método
La idea básica del método Jacobi es la siguiente.
Supongamos que la matriz a de orden n es una matriz simétrica. Seleccione un elemento con el valor absoluto más grande de los elementos fuera de la diagonal de la matriz simétrica A de orden n y configúrelo como apq.
Transformación de similitud ortogonal de la matriz de transformación de rotación plana R0(p, q, θ) a a;
A1=R0(p, q, θ)TA,
donde R0(p, q, θ) los elementos son
rpp=cosθ, rqq=cosθ, rpq=sinθ,
rqp=sinθ, rij=0, I, j≠p, q. p>
Si el ángulo θ está determinado por la siguiente fórmula,
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China
Después de la transformación anterior, el ángulo no diagonal ángulo de la matriz simétrica A La suma de los cuadrados de los elementos disminuye, la suma de los cuadrados de los elementos diagonales aumenta, mientras que la suma de los cuadrados de todos los elementos de la matriz permanece igual. Por tanto, cada vez que se transforma la matriz simétrica A, la suma de los cuadrados de los elementos no diagonales está "un paso más cerca de cero". Entonces, siempre que se repita la transformación anterior, la matriz A puede convertirse gradualmente en una matriz diagonal. Los elementos diagonales λ0, λ1,..., λn-1 en la matriz diagonal son valores propios, y la I-ésima columna (I = 0, 1,..., n-1) del producto de la matriz de rotación plana en cada paso es la característica correspondiente al vector λ i.
En resumen, los pasos para utilizar el método jacobiano para encontrar los valores propios y los vectores propios correspondientes de la matriz simétrica A de orden n son los siguientes:
1) Sea S =In (In es la matriz de identidad);
2) Seleccione el elemento fuera de la diagonal con el valor absoluto más grande en A y configúrelo en apq;
3) Si | < ε, el proceso de iteración finaliza. En este momento, el elemento diagonal AII (I = 0, 1,..., n-1) es el valor propio λi, y la I-ésima columna de la matriz S es el vector propio correspondiente a λi; de lo contrario, continúe con el siguiente paso;
4) Calcular los elementos de la matriz de rotación del plano y su matriz de transformación A1. La fórmula de cálculo es la siguiente
Nuevas tecnologías y nuevos modelos para la evaluación de recursos minerales en China
5) s = s r (p, q, θ), turno (2).
Al seleccionar el elemento con el valor absoluto más grande en la línea fuera de la diagonal, utilice el siguiente método:
Primero calcule la raíz cuadrada de la suma de los cuadrados de la línea fuera de la diagonal. elementos diagonales de la matriz simétrica real A.
Nuevas tecnologías y modelos para la evaluación de recursos minerales en China
Luego establezca la puerta υ1=υ0/n y seleccione el primer elemento con un valor absoluto mayor o igual a υ1 de los elementos fuera de la diagonal mediante escaneo de línea. Cada elemento αpq sufre una transformación de rotación plana hasta que el valor absoluto de todos los elementos no diagonales es menor que υ1. Establezca el paso υ2=υ1/n nuevamente y repita el proceso. Por analogía, este proceso funciona hasta que υ k < ε.
(3) Descripción de la llamada
void cjcbj(double*a, int n, double*v, double eps).
Descripción del parámetro formal: p> p>
A es un puntero a una matriz de números reales de doble precisión. El volumen de la matriz es n×n y almacena una matriz simétrica real A de orden n. Cuando se devuelve, su diagonal almacena n valores propios. ;
n - variable entera, orden de la matriz real A;
υ - puntero a una matriz de números reales de doble precisión con una capacidad de n×n, que devuelve un vector de características, en cuya columna I corresponde al vector propio λi (es decir, el αii, i = 0, 1,..., n-1 devuelto);
Variable real de doble precisión. Dados los requisitos de precisión.
3. Inversión de matrices
(1) Función
Encontrar la matriz inversa de la matriz real A de orden N mediante la eliminación de Gauss-Jordan de todos los componentes principales. .
(2) Descripción del método
Los pasos del método Gaussiano-Jordan (seleccionando todos los componentes principales) son los siguientes:
Primero, k de 0 a n-1 Realice los siguientes pasos:
1) Comenzando desde la k-ésima fila y la k-ésima columna, seleccione el elemento con el valor absoluto más grande del subarreglo en la esquina inferior derecha, recuerde el número de fila y el número de columna. de este elemento, y luego intercambie las filas y columnas para cambiar a la posición del elemento principal.
Este paso se llama seleccionar todos los elementos principales;
2);
3), I, j=0, 1,..., n-1 (i, j≠k). );
4)αij-, I, j=0, 1,..., n-1 (i, j≠k
5)-, I, j=0, 1,...,n-1(I≠k);
Finalmente, con base en la información intercambiada entre filas y columnas registrada en el proceso de selección de todos los pivotes, el principio de recuperación es de la siguiente manera: después de seleccionar todos los pivotes Durante el proceso, las filas y columnas intercambiadas primero se restauran al intercambio de fila (columna) original mediante el intercambio de columna (fila);
Figura 8-4 Resultados de clasificación de depósitos de cobre basados en el modelo HOPFIELD en el borde norte de la Cuenca Oriental Kunlun-Qaidam
(3) Descripción de la llamada
int brinv( double*a, int n).
Esta función devuelve un indicador de número entero. Si el indicador devuelto es 0, significa que la matriz A es singular y también se genera el mensaje "err * * not inv" si el indicador devuelto no es 0, significa retorno normal;
Descripción formal del parámetro:
A——Puntero a una matriz de números reales de doble precisión con un volumen de n × n. Al regresar, almacene la matriz original a; matriz inversa A- 1;
variable n-entera, orden de la matriz.
Ejemplos de verbos intransitivos
Ejemplo: Clasificación y predicción de depósitos de cobre en la zona norte de Qaidam-East Kunlun.
Se seleccionaron ocho factores, a saber, el signo de presencia de anomalía de arena pesada, el signo de presencia de anomalía de hidratación, el valor máximo de anomalía geoquímica, el valor de entropía del mapa geológico, el signo de presencia de Ms, la presencia signo de Gs, distancia de Shdadlie al área y densidad lineal de líneas de construcción.
Construya variables originales y construya un modelo de predicción basado en datos originales.
Configuración de parámetros del modelo HOPFIELD: dimensión del modo de entrenamiento 8, número de muestras de predicción 774, número de parámetros 8 y número de iteraciones 330.
Los resultados se dividen en 44 categorías (Figura 8-4, Tabla 8-5).
Tabla 8-5 Tabla de datos originales y resultados de clasificación (parte)
Continuación