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

 

Bien, creo que he descubierto cuál es mi error. De hecho, ¡consigo que la longitud del vector de entrenamiento sea igual al número de pesos! Porque acumulo correcciones comparando la salida de una neurona con cada muestra del vector de entrenamiento, mientras que necesito compararla sólo con la n+1ª muestra. Estoy escribiendo un nuevo código.

Por eso los gráficos son tan anormales.

 

Toma, echa un vistazo:


El azul es la muestra de entrenamiento, el rojo es la muestra de prueba. Los valores de la tangente están en la esquina superior izquierda de la imagen.

Curiosamente, he tenido que eliminar por completo la inicialización de las escalas. Sólo entonces los resultados se hicieron repetibles. Todavía hay algunas preguntas, pero ya he terminado... -:)

Adjunto el listado. Lo siento, aún no hay comentarios al respecto, pero se hace de forma muy sencilla, sin un montón de funciones diferentes - todo en un procedimiento, excepto las tangentes y el mnc.

Archivos adjuntos:
neyrona.rar  132 kb
 

Me parece que tienes una lógica muy complicada de numeración del vector luuch...

Puede que el error sea una confusión trivial de índices, o que esté poniendo a cero los pesos sólo una vez durante todo el procedimiento del conjunto estadístico(W[i]<-0):

Tenga en cuenta que su vector D, que es la entrada al NS, no se recalcula con el conjunto de estadísticas (índice i). Tal vez me equivoque, porque no estoy del todo familiarizado con ella. Me resultó más fácil introducir la numeración consecutiva en su código, y eso es lo que conseguí:

Ahora, tu chica percibe la aleatoriedad inicial de los pesos y aprende adecuadamente (ambas líneas pasan por el origen). El rojo es la muestra de entrenamiento, el azul es el examen. A continuación se adjunta un archivo con la versión modificada.

Archivos adjuntos:
modif.zip  16 kb
 

Conociendo...

Dime, Sergey, ¿por qué tu neurona de salida de dos capas (y lo has dicho desde el principio) no tiene función de activación? ¿Y entonces cómo cambiaría la derivada? Es decir, fue (para th) (1-OUT^2)

y se convierte en (1-OUT) ?

P.D. Gracias por su ayuda

 

¡Ahá! Por fin entiendo cómo funciona esta cosa. ¿No se necesitan las entradas únicas sólo para el periodo de aprendizaje, y luego se utilizan como todas las demás: para los datos?

¡Ni siquiera había pensado en algo así! Además, las entradas son todas simples, sin hipertensiones. ¿Es porque BP es una función regular, o sólo por el ejemplo?

Y otra pregunta: si la chica está ligeramente desentrenada -bueno dale sólo 5-7 épocas- entonces las tangentes de ambos mncs serán mayores que la unidad, ¿no indica eso que la chica está mirando al futuro (no hablo del seno)?

 

Se puede demostrar rigurosamente (citando los trabajos de los matemáticos) que para una NS de una sola capa, la activación de la salida por una función no lineal no añade potencia de cálculo en comparación con la salida lineal. Por lo tanto, una sola neurona con FA no lineal no tiene sentido.

En el caso de la NS bicapa, la activación de la neurona de salida no añade potencia computacional (esta arquitectura ya tiene la máxima o igual potencia computacional de todas las arquitecturas posibles - 3, 4, etc.), por lo que la activación de la neurona de salida mediante la hipertangente es razonable utilizarla si la salida se interpreta además como probabilidad de predicción precisa.

En el caso de la salida lineal, la derivada no es (1-OUT) sino simplemente 1 - es la derivada de la función lineal y(x)=1*x.

En cuanto a las entradas individuales, se utilizan, por supuesto, tanto durante el entrenamiento como durante el funcionamiento. ¡Bien hecho por descubrirlo! Se me pasó este error. La forma correcta de representar una neurona es ésta:

W[0] es un peso que siempre se alimenta con 1. En el caso de una sola neurona, el efecto de utilizar un desplazamiento no es muy notable. Aunque no es difícil simular una situación en la que desempeñaría un papel importante para acelerar el proceso de aprendizaje también en este caso.

если девушку слегка недообучить - ну дать её всего 5-7 эпох - то тангенсы обеих мнк будут больше единицы, не говорит ли это о том, что девушка заглядывает в будущее(я не об синусе)?

No, sólo indica una pequeña cantidad de material estadístico y un aprendizaje deficiente. Juzgue usted mismo: no se puede conocer algo mejor de lo que realmente es. Este caso límite corresponde a tg()=1 y sólo puede ser mayor que 1 debido a la variación estadística de los datos.

 
Neutron >> :

...citar el trabajo de los matemáticos


-:) Espero que te des cuenta de lo inútil que es... al menos en mi caso.

Voy a hacer otro intento con esta neurona. Necesito tenerlo todo resuelto en mi cabeza, y quiero dividir el código en bloques sencillos, y mañana intentaré añadir otra capa a mi novia. Pero tengo una pregunta un poco tonta: al reescribir el código de Matkad a MQL, ¿cómo se comprueba lo que se ha hecho? No se puede reescribir directamente - Matcad es un entorno diferente y su lógica de programa no es la misma que en MQL.

 

Ahí es donde se complica la cosa.

Por ejemplo, saco la tangente de la pendiente (en caso de entradas válidas) como una característica integral del rendimiento de NS o el porcentaje de signos adivinados correctamente (en caso de binarios) y lo comparo con los de Matcad. Sin embargo, hasta este punto, es necesario peripisear NS-ka por la norma ACM, es cuando el recuento de cero es último y más en profundidad (en Matkadeck viceversa). Además, es necesario comprobar la corrección de NS en el proceso de viner, que es cuando la BP se obtiene por integración de una variable aleatoria. Aquí tu chica debería obtener una "D" de hierro en los exámenes, y te dirá que no está haciendo trampas, es decir, la tangente del ángulo de la pendiente debe tender a cero con el número de experimentos tendiendo a infinito como 1/n.

Este es el generador de una serie Wiener:

 

Está en el vinaire:


 

Un momento: no ha quedado nada de mi último gráfico, donde iba a buscar la causa del "milagro" - iFractals me ha vuelto a engañar descaradamente. En cuanto escribí mis propios iFractales todo se aclaró, es decir, el milagro desapareció :)

Buena suerte, colegas

Razón de la queja: