Cómo formar correctamente los valores de entrada para el NS. - página 23

 
StatBars писал (а) >>

No estoy desarrollando NS, actualmente estoy buscando entradas y salidas óptimas para construir una muestra de entrenamiento, creo que el muestreo adecuado es más importante que el NS, hay muchas variantes de NS en diferentes idiomas en la web...

Sí. La arquitectura con buenos insumos no es un problema. Se podría decir: las entradas lo son todo, la arquitectura no es nada.


Aquí, los señores recogieron entradas normales y obtuvieron resultados adecuados con MTS "Сombo":




--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Esto es cuando el EA trabaja con un lote fijo. Todavía no le he añadido un MM.
respuesta 11.05.2008 14:17 zxc
Valio:

También intenté poner mi mano en este milagro. Lo he probado durante una semana, he depurado el algoritmo en la versión básica y he añadido algunas funciones propias en basicTradingSystem, es decir, he rehecho el "BTS básico" en el lenguaje del autor. Los resultados son fantásticos en los datos históricos: la rentabilidad de 8 a 12, el pago esperado es de alrededor de 1000, pero es real con mi propio indicador. Lo he probado en 1H EUR, el intervalo de tiempo es de alrededor de medio año. El próximo mes después - resultado

"el mes después - el resultado" (en inglés)

Valio, ¿qué resultado obtienes en adelante? ¡Muy interesante!

¡Es que yo también rehice este EA, y al principio la rentabilidad en euromoney durante un año (ni siquiera durante medio año, sino durante un año) por H1 era de más de 18 (y más)! Pero los delanteros resultaron no ser tan buenos, por decirlo suavemente...

Ahora, después de otra revisión, la rentabilidad durante la optimización es menor (alrededor de 10), pero ahora a futuro se mantiene decentemente (más de 3 meses). A futuro más de 3 meses, la rentabilidad es más de 2,5. Todavía estoy trabajando en ello, creo que puede ser un Asesor Experto muy interesante.

respuesta
 
Reshetov писал (а) >>

Sí. La arquitectura, con las entradas adecuadas, ya no es un problema. Se podría decir: las entradas lo son todo, la arquitectura no es nada.


En este caso, los señores recogieron las entradas correctas y obtuvieron los resultados adecuados con MTS "Combo":

Estoy de acuerdo con usted hasta cierto punto. Pero, la arquitectura de la red juega un papel importante... Por ejemplo, las redes RBF son mucho mejores para resolver algunos problemas de interpolación.

 
rip писал (а) >>

Estoy de acuerdo con usted en algunos puntos. Pero, la arquitectura de la red juega un papel importante... Las redes RBF, por ejemplo, son mucho mejores para resolver algunos problemas de interpolación.

Para el comercio, los problemas de interpolación y aproximación son absolutamente inútiles, porque el mercado cambia todo el tiempo y las cotizaciones no son funciones suaves. Aquí tenemos que resolver los problemas de extrapolación, para que la estrategia de negociación pueda superar con éxito las pruebas a futuro, en lugar de limitarse a ajustarse al historial. No necesitamos saber qué valor tenía el precio entre tal y cual fecha, porque ya se conoce sin necesidad de interpolación.


Así que no pierdas el tiempo con interpolaciones y arquitecturas. Además, la interpolación y la aproximación pueden realizarse con diferentes métodos y son mucho más fáciles y precisas.


Elija las entradas adecuadas para que la clasificación de patrones pueda realizarse incluso en una arquitectura elemental. Después ya no es necesario seleccionar la arquitectura correspondiente. Tratar de hacer lo contrario es sólo una pérdida de tiempo.


Para construir una casa, lo más importante son los cimientos, no el acabado. Aunque el acabado parece más atractivo que la base.


Y también la arquitectura de la NS. Sin duda añade funcionalidad, pero sólo si las entradas son adecuadas. Si es inadecuado, el yeso no salvará la casa del colapso, si los cimientos se derrumban.

 
Reshetov писал (а) >>

Lo más importante para construir una casa son los cimientos, no el acabado. Aunque el acabado es más atractivo que la base.

También lo hace la arquitectura de la NS. Sin duda añade funcionalidad, pero sólo si las entradas son adecuadas. Si son inadecuados, el yeso no salvará la casa del colapso si los cimientos se derrumban.

Vale, estoy de acuerdo: las señales de entrada y salida son importantes. Este es el planteamiento del problema que define la arquitectura NS. La clasificación de patrones, es una de ellas.

Digamos, ¿por qué una señal de entrada no puede ser la determinación del signo de la siguiente barra + la determinación de la extrema de la misma barra? ¿Qué ocurre?


Incluso para la clasificación, la cuestión importante será qué NS se toma y cómo se preparan los datos. Una red no es una herramienta precisa, no puede

Para dar el resultado a las centésimas, pero puede dar el criterio ... en relación con la cual otra herramienta dará el cálculo.

 
Reshetov писал (а) >>

Para el comercio, los problemas de interpolación y aproximación son absolutamente inútiles, porque el mercado cambia todo el tiempo y las cotizaciones no son funciones suaves. Aquí tenemos que resolver los problemas de extrapolación, para que la estrategia de negociación supere con éxito las pruebas a futuro, en lugar de limitarse a ajustarse al historial. No necesitamos saber cuál era el valor del precio entre tal y tal fecha, porque ya se conoce sin necesidad de interpolación.

Así que no pierdas el tiempo con interpolaciones y arquitecturas. Además, la interpolación y la aproximación pueden realizarse por otros métodos y es mucho más fácil y precisa.


Elija las entradas adecuadas para que la clasificación de patrones pueda realizarse incluso en una arquitectura elemental. Después ya no es necesario seleccionar la arquitectura correspondiente. Tratar de hacer lo contrario es sólo una pérdida de tiempo.


Para construir una casa, lo más importante son los cimientos, no el acabado. Aunque el acabado parece más atractivo que la base.


También lo hace la arquitectura de la NS. Ciertamente añade funcionalidad, pero sólo si las entradas son adecuadas. Si es inadecuado, el yeso no salvará la casa del colapso si los cimientos se derrumban.

Estoy totalmente de acuerdo. Como me dijo un respetado camarada (Steve Ward) - "Busca entradas" )))))

 
TheXpert писал (а) >>

¡¡Congela!! Ya tengo una libc de VC++ preparada.

Sólo que hay dos problemas:

1. vinculación a Boost, quiero deshacerme de ella, es mejor serializarla manualmente, de todas formas tiene fallos.

2. algo con tono adaptable.


¿Por qué hacer una bicicleta? Especialmente allí

1. MLP con posibilidad de crear una estructura de árbol.

2. std::valarray + optimización agresiva de las operaciones para un recuento más rápido.

3. hay un paso adaptativo

4. patrones con auto-normalización.

5. Amplias oportunidades de expansión.



Ы ?

Sí, está muy bien, gracias por la sugerencia. Pero como dicen es mejor hacerlo una vez por uno mismo :)

Realmente he aprendido mucho este fin de semana.

Sobre todo cuando he conseguido reducir el número de bucles de 10e7 a unos 10e4.

Lo hice de dos maneras.

1. La neurona con el mayor error se corrige a doble velocidad. (trató de sustituirlo por una neurona con un error mínimo - peor)

2. Si la corrección de una neurona es inferior a un mínimo (por ejemplo, 10e-6), su corrección se multiplica por 10.

Me ha gustado mucho. :)

En cuanto a usar lo de otro, hasta que no entiendas la necesidad de algo por ti mismo, no lo necesitas todavía.

Sobre todo porque la velocidad es importante aquí, y aumentar la funcionalidad a expensas de la velocidad es inaceptable. En mi opinión, es mejor escribir una parrilla para una tarea específica. Por supuesto, no sin tener objetos normales y una estructura bien pensada, pero...

Sobre el punto 2 y 3 ya es interesante. ¿Hay alguna forma de averiguar los métodos que utiliza?

-----------------------------------

He leído los mensajes. Lástima que todavía esté ahí. :) Lo único que hago es escribir ¡¡¡Cuán importantes son las entradas!!!.La arquitectura no es nada - las entradas lo son todo, Busca las entradas. etc.

Pero no hay nada concreto. ¿Quizás los gurús quieran compartirlo? А?

 
rip писал (а) >>

>> ¿Qué es un lib?

El mío, lo he publicado en RSDN antes. Todavía no he llegado a SourceForge, y necesita algo más de trabajo...

 
sergeev писал (а) >>

Lo hice de dos maneras.

1. La neurona con el mayor error se corrige a doble velocidad. (trató de sustituirlo por una neurona con un error mínimo - peor)

2. Si la corrección de una neurona es inferior a un mínimo (por ejemplo, 10e-6), su corrección se multiplica por 10.

Me ha gustado mucho. :)

Sí, genial, ¿por qué no lo construyo yo mismo?

En cuanto a usar lo de otro, hasta que no entiendas la necesidad de algo por ti mismo, no lo necesitas todavía.

Además, la velocidad es importante en este caso, y el aumento de la funcionalidad a expensas de la velocidad es inadmisible. En mi opinión, es mejor escribir una parrilla para una tarea específica. Por supuesto, no sin tener objetos normales y una estructura pensada, pero...

En cuanto a la velocidad, he hecho lo que he podido, creo que puedo acelerar el código de mi librería en un 3-5% como máximo. Y no será fácil :).

En cuanto a los puntos 2 y 3, ya tengo curiosidad. ¿Hay alguna manera de saber qué métodos se utilizan?

2. "Lenguaje C++", Bjorn Straustrup, busca una optimización agresiva, se trata de reducir las operaciones de copia.

3. Los apuntes de la conferencia de V. Golovko, intenten buscar sus trabajos o busquen en Google "adaptive step learning", ahora no puedo dar un enlace concreto.

5. La extensión no va en detrimento de la velocidad, las plantillas mandan :).

 
sergeev писал (а) >>

-----------------------------------

He leído los mensajes. Es una pena que siga ahí. :) Todos acaban de escribir ¡¡¡Cómo es de importante crear entradas!!! La arquitectura no es nada - las entradas lo son todo, Buscar entradas, etc.

Y la especificidad es nula. ¿Quizás los gurús lo compartan? А?

Más concretamente, puedo aconsejarle sobre cómo buscar las aportaciones adecuadas.


Tomemos el perceptrón más sencillo (véase Cómo encontrar una estrategia de trading rentable ) y conectemos a su entrada ciertos indukes y sus combinaciones. Lo que da el mayor factor de beneficio en este mismo perceptrón, es decir, el mejor ajuste en la prueba con lote constante (sin MM), es muy probable que pase la prueba de avance en una arquitectura más compleja. Por qué, es fácil de explicar. Al fin y al cabo, el perceptrón es una clasificación lineal. Lo que significa que obtendremos separabilidad lineal en las entradas por patrones. Mediante la arquitectura añadiremos la clasificación por parámetros no lineales y obtendremos un resultado mejorado.


Si haces lo contrario, no consigues nada. La arquitectura sofisticada consume inmensos recursos y busca los signos de los patrones a la vez mediante la separabilidad no lineal ignorando la separabilidad lineal. Y la no linealidad sin la linealidad no es más que un mero encaje. Lo que obtenemos es una pérdida de tiempo.


Un bocadillo más. Si la rejilla es entrenable, nunca se debe entrenar hasta el final. Siempre debe estar infradotado. Por ejemplo, para entrenar completamente necesita 1000 épocas, divida por 3 y obtendrá unas 300 épocas. Esto es suficiente. ¿Por qué? Si sobreentrenamos completamente la red, sólo será adecuada para entornos estacionarios. Y los instrumentos financieros son entornos conmutables no estacionarios. Es decir, sólo puede pasar parcialmente de un estado estacionario a otro en algún momento, permaneciendo en su estado anterior en su mayor parte. O también puede volver al estado anterior. Por lo tanto, un reentrenamiento completo de la malla es un ajuste desnudo a algún entorno temporal conmutable.


Y, por último, para los frikis que piensan que las capacidades de interpolación de NS son necesarias para el comercio, puedo darles un contraargumento específico. Simplemente tome cualquier indicador u oscilador de redibujo y obtendrá una interpolación sorprendente sobre la historia sin necesidad de redes neuronales y arquitecturas complicadas. Por supuesto, los operadores evitan redibujar los índices porque lo que es adecuado para la interpolación o la aproximación no es adecuado para la extrapolación en condiciones de no estacionariedad.



 
Reshetov писал (а) >> Un bocadillo más. Si la red es entrenable, nunca debe ser entrenada hasta el final. Siempre debe estar infradotado. Por ejemplo, se necesitan 1000 épocas para entrenarlo completamente, divídelo por 3 y obtendrás unas 300 épocas. Esto es suficiente. ¿Por qué? Si sobreentrenamos completamente la red, sólo será adecuada para entornos estacionarios. Y los instrumentos financieros son entornos conmutables no estacionarios. Es decir, sólo puede pasar parcialmente de un estado estacionario a otro en algún momento, permaneciendo en su estado anterior en su mayor parte. O también puede volver a su estado anterior.
Yo reforzaría aún más este consejo: dividir por 10. Por alguna razón me viene a la mente una rama sobre la resonancia estocástica. El aprendizaje de la malla hasta el final puede llevar a la función objetivo a un mínimo profundo, es decir, a un estado estacionario. Los estados estables no son en absoluto típicos de los mercados financieros. Son cuasi estables, es decir, que están dispuestos a convertirse en un desastre (tendencia) en cualquier momento bajo la influencia de un mínimo "ruido". Pero esto es sólo un pensamiento filosófico...
Razón de la queja: