La etiqueta del mercado o los buenos modales en un campo de minas - página 42

 
Neutron >> :

Matcad permite visualizar el proceso de recuento en cualquier paso. Experimento.

¿Podemos hablar de eso? Sólo tengo gráficos cuando todos los cálculos están completos.

 

Yo también :-(

Lo que quería decir es que puedes mostrar cualquier información que te interese y presentarla de forma adecuada para su posterior análisis.

 
Has escrito en algún sitio que a lo largo del vector de entrenamiento la red aprende a reconocer sólo la n+1ª referencia. ¿Debe entenderse que durante N épocas la posición del dato de entrenamiento no se mueve? En realidad lo hice así (en ese listado donde había un montón de funciones diferentes), es decir, en todo el vector error se calculó como TEST-OUT, donde TEST era la n+1ª muestra. Ahora, en esta implementación, TEST es el recuento que sigue a la última (mayor) entrada. Es decir, se desplaza a lo largo de todo el sector de d+1 a n+1. ¿Podría haber un error aquí?
 

Espera un momento.

Suministramos un vector de datos de longitud d a la entrada del NS, donde d es el número de entradas de información de la red (sin contar el desplazamiento). En la SALIDA de la red, para entrenarla, alimentamos d+1 cuentas. Los pesos son aleatorios en este paso. En este paso hemos obtenido un delta para la corrección de cada vector. Recuérdalo (no corrijas nada). Muévete una medida y repite el procedimiento. Añade la corrección y sus casillas por separado. Repetir el procedimiento tres veces (sin corrección de pesos). Finalmente, la primera vez que corregimos todos los pesos, es la PRIMERA época de aprendizaje. Ahora, vuelva a empezar con los mismos datos, pero empiece con los pesos ya encontrados. Al final los pesos correctos, esto es la SEGUNDA época de aprendizaje. Hazlo 100 veces (por ejemplo), lo que hace 100 épocas de entrenamiento. Eso es todo. La red está preparada para hacer una predicción. Se alimenta el vector de datos completo con el último recuento más reciente y recibimos la previsión. Después de que llegue el recuento real (no el previsto), vuelva a entrenar la red, con la aleatorización de los pesos.

 
Entonces no hay ningún error.
 

Interesante discusión:) Neutrón, por cierto, ¿todavía no has respondido a mi pregunta sobre los pesos iniciales después de todo? Sólo has hablado de cómo reentrenar la red. Pero incluso sin eso, si se vuelve a entrenar la red al menos una vez, tendrá un error e incluso uno importante. Hablo de mi experiencia con el backprop:). En realidad sólo me interesa esta pregunta, todo lo demás en la técnica de la rejilla no es importante. Los comités de redes, ¿cómo se ven, y es necesario en absoluto, tal vez es posible ajustar los pesos inicialmente, de modo que la red estaba cerca de mínimo global en el inicio de la formación, por lo que los comités no eran necesarios?

 
paralocus писал(а) >>
Entonces no hay ningún error.

Al pasar de una época a otra, empujo cada peso con un wo como "push-up":

Esto evita que los pesos entren en la zona de saturación y los mantiene en el rango de +/-5 durante el entrenamiento.

Registred escribió >>

Neutrón, por cierto, ¿todavía no has respondido a mi pregunta sobre los pesos iniciales? Sólo has hablado de cómo reentrenar la red. Pero incluso sin eso, si entrenas la red al menos una vez, tendrá un error e incluso uno importante. Hablo de mi experiencia con el backprop:). En realidad sólo me interesa esta pregunta, todo lo demás en la técnica de la rejilla no es importante. Los comités de redes, ¿cómo se ven, y es necesario en absoluto, tal vez usted puede de alguna manera ajustar los pesos inicialmente, por lo que la red está cerca de mínimo global en el inicio de la formación, por lo que los comités no sería necesario?

Aleatorizo los pesos iniciales con un valor aleatorio distribuido en un estante en el rango +/-1. Hago esto en cada cuenta. El reentrenamiento de la rejilla en cada paso encuentra, por término medio, exactamente el mínimo global y esto es una ventaja del reentrenamiento en cada paso, comparado con una rejilla entrenada una vez y para siempre. Puede que accidentalmente se encuentre con un agujero local y que todas sus predicciones sean inadecuadas. En este caso, es muy importante buscar formas de optimizar el punto de partida de las balanzas. No he resuelto este problema.

En cuanto a comprometer las redes, es algo útil, pero requiere muchos recursos. Podemos demostrar que el simple aumento del número de neuronas en una capa oculta es en esencia un commit, pero más intensivo en recursos que la versión clásica, pero más potente debido a la no linealidad integrada de los miembros del commit. Aquí es donde debes experimentar.

 
Neutron >> :

Al pasar de una época a otra, empujo cada peso con un wo como "push-up":

Esto evita que los pesos se desborden en la zona de saturación y los mantiene en el rango de +/-5 mientras se aprende.

Simplemente comprimo el intervalo al normalizar no desde [-1;1], sino desde [-0,9;0,9], el efecto es el mismo, no hay saturación. Me refiero a algo diferente, los coeficientes de ponderación iniciales en el proceso de ajuste del peso pueden simplemente no alcanzar los valores óptimos debido a la llamada credibilidad de la función. Estoy luchando con esto, para ser honesto. Y es probable que tampoco haya resuelto este problema, por lo que es difícil sacar algo que merezca la pena del mercado con un retroceso, incluso si la base de pruebas es buena para el modelado.

 
Neutron >> :

Aleatorizo los pesos iniciales con un valor aleatorio distribuido en un rango de estantería de +/-1. Lo hago en cada cuenta atrás. La rejilla, reentrenada en cada paso, encuentra por término medio exactamente el mínimo global y ésta es la ventaja de reentrenar en cada paso, comparado con la rejilla entrenada una vez y para siempre. Puede que accidentalmente se encuentre con un agujero local y que todas sus predicciones sean inadecuadas. En este caso, es muy importante buscar formas de optimizar el punto de partida de las balanzas. No he resuelto este problema.

En cuanto a comprometer las redes, es algo útil, pero requiere muchos recursos. Se puede demostrar que el simple aumento del número de neuronas en una capa oculta es, en esencia, un commit, pero más intensivo en recursos que la versión clásica, pero más potente debido a la no linealidad integrada de los miembros del commit. Aquí hay que experimentar.

Esto es lo que estropea todo:). Por cierto, como resultado de mis observaciones, la mejor aleatorización de pesos que aprende rápidamente la malla está en el intervalo [-0,07; +0,07]. No sé por qué es así:)

 
registred писал(а) >>

Simplemente comprimo el intervalo al normalizar no desde [-1;1], sino desde [-0,9;0,9], el efecto es el mismo, no hay saturación. Me refiero a algo diferente, los coeficientes de ponderación iniciales en el proceso de ajuste de pesos pueden simplemente no alcanzar los valores óptimos debido a la llamada credibilidad de la función. Estoy luchando con esto, para ser honesto. Y probablemente tampoco haya resuelto este problema, por eso es difícil conseguir algo que valga la pena en el mercado con backprop, aunque la base de pruebas sea buena para el modelado.

¡Dios se encargará del tipo correcto! El procedimiento de backproping no es difícil, y el aprendizaje de NS no se resiente: es un método eficaz.

En cuanto a no alcanzar los valores óptimos, eso es un puro farol para nuestros BP. Entiendo que si está prediciendo una onda sinusoidal. - Entonces sí, hay valores óptimos. Pero, ¿qué son los del traqueteo del mercado? Ahora el óptimo está ahí, y en el siguiente paso (que usted está prediciendo), está ahí... y lo buscabas "aquí" con todas tus fuerzas. En resumen, no existe un problema de localización preciso, y se resuelve satisfactoriamente mediante el reentrenamiento en cada paso.

Razón de la queja: