¿Qué alimentar a la entrada de la red neuronal? Tus ideas... - página 67
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Cómo funcionan los árboles en el aprendizaje automático?
Деревья в машинном обучении, в частности, решающие деревья, представляют собой структуру, которая используется для классификации и регрессии. Основная идея заключается в том, чтобы разбить набор данных на более мелкие подмножества, основываясь на значениях входных признаков. Вот основные моменты, как работают деревья:
### 1. Структура дерева
- **Вершины**: Каждая вершина дерева представляет собой узел, где происходит разделение данных.
- **Корень**: Это верхний узел дерева, откуда начинается процесс разделения.
- **Листовые узлы**: Узлы, которые не имеют дочерних узлов, представляют собой конечные результаты (классификация или предсказание).
### 2. Процесс построения дерева
- **Выбор признака**: На каждом узле выбирается признак, по которому будет происходить разделение. Выбор признака осуществляется на основе критерия, который позволяет максимизировать однородность подмножеств (например, критерий Джини или энтропия для классификации).
- **Разделение данных**: Данные делятся на две или более группы в зависимости от значения выбранного признака.
- **Рекурсия**: Процесс повторяется для каждой полученной группы, пока не будет достигнуто определенное условие остановки (например, максимальная глубина дерева или минимальное количество образцов в узле).
### 3. Оценка качества
- **Критерии**: Для оценки качества разделения используются различные метрики, такие как:
- **Джини**: Мера, которая вычисляет вероятность неправильной классификации случайно выбранного элемента.
- **Энтропия**: Мера неопределенности, которая показывает, насколько данные в узле разнородны.
### 4. Устойчивость к переобучению
- **Переобучение**: Деревья могут легко переобучаться, особенно если они слишком глубокие. Для борьбы с этим применяются методы, такие как обрезка (pruning), которая удаляет менее значимые узлы.
- **Регуляризация**: Установка ограничений на максимальную глубину дерева или минимальное количество образцов в узле также помогает избежать переобучения.
### 5. Применение
- **Классификация**: Деревья могут использоваться для классификации объектов на основе их признаков.
- **Регрессия**: Деревья могут предсказывать непрерывные значения, разбивая данные на подмножества и вычисляя среднее значение в каждом листовом узле.
### 6. Ансамблевые методы
- **Случайные леса**: Это метод, который объединяет множество деревьев для улучшения точности и устойчивости модели.
- **Градиентный бустинг**: Метод, который строит деревья последовательно, где каждое новое дерево исправляет ошибки предыдущих.
Деревья являются мощным инструментом в машинном обучении благодаря своей интерпретируемости и способности обрабатывать как числовые, так и категориальные данные.
Arriba azul - iteratividad del proceso, verde - evaluación del proceso.
Abajo hay más sobre iteración y evaluación, me da pereza resaltar los colores.
¿La división en hojas es un proceso iterativo o no?
Sí, la partición en hojas en la resolución de árboles es un proceso iterativo.
Echemos un vistazo más de cerca a cómo sucede: ### Proceso de partición 1.
**Selección del nodo para la partición**: - Comienza en la raíz del árbol, donde residen todos los datos. - En cada nodo, se selecciona una característica y un valor por el que particionar.
Para ello se utilizan criterios como la reducción de entropía o el criterio de Gini. 2. **Partición de los datos**: - Se inicia en la raíz del árbol, donde residen todos los datos.
Partición de los datos**: - Los datos se dividen en dos o más grupos en función de la característica seleccionada y de su valor. - Cada grupo se convierte en un nuevo nodo (o subárbol) para la partición posterior. 3. Partición recursiva**: - En cada nodo se selecciona una característica y un valor.
**El proceso se repite para cada nuevo nodo.
En cada paso, se selecciona una nueva característica y se vuelven a dividir los datos. - Esto continúa hasta que se alcanza una condición de parada, por ejemplo: - Profundidad máxima del árbol.
- Número mínimo de muestras por nodo - Ninguna mejora significativa en la calidad de la partición ### Naturaleza iterativa - **Iteración**:
Cada paso de la partición es una iteración que da lugar a la creación de nuevos nodos y subconjuntos de datos. - **Recursión**:
El proceso de partición puede considerarse recursivo, en el que cada nodo se trata por separado y se repite el mismo proceso para cada nodo. ### Finalización del proceso - Cuando se alcanza una de las condiciones de parada, el nodo se convierte en un nodo hoja y se define un valor final para él (por ejemplo, clase para clasificación o media para regresión). Así, la partición en hojas en los árboles de decisión es de hecho un proceso iterativo y recursivo que permite refinamientos sucesivos.
¿Cuál es el criterio de evaluación durante la construcción del árbol y qué algoritmos de optimización se utilizan en este proceso?
Cuando se construyen árboles de decisión, se utilizan varios criterios de evaluación para ayudar a determinar cuál es la mejor manera de particionar los datos en cada nodo.
Entre los criterios básicos se incluyen: ### Criterios de evaluación 1.
**Entropía**: - Se utiliza en el algoritmo ID3. - Mide la incertidumbre o aleatoriedad de los datos.
Cuanto menor es la entropía, más homogéneos son los datos. - Fórmula:
\[ H(S) = -\suma_{i=1}^{C} p_i \log_2(p_i) \]donde \( p_i \) es la probabilidad de la clase \( i \) y \( C \) es el número de clases.
2.
**Criterio de Gini**: - Se utiliza en CART (árboles de clasificación y regresión) - Mide la probabilidad de clasificar erróneamente un elemento seleccionado al azar.
- Fórmula: \[ Gini(S) = 1 - \sum_{i=1}^{C} p_i^2 \] 3 .
**Entropía cruzada (pérdida logarítmica)**: - Se utiliza en algunas variaciones de árboles de decisión, especialmente para tareas de clasificación. - Estima la diferencia entre las probabilidades predichas y las etiquetas de clase reales. 4. Error cuadrático medio (ECM).
** Error cuadrático medio (MSE)**: - Se utiliza para problemas de regresión. - Estima la media de los cuadrados de error entre los valores predichos y los reales. ### Algoritmos de optimización En la construcción de árboles de decisión también se utilizan varios algoritmos y métodos de optimización: 1. El algoritmo de codicia**: - Estima la diferencia entre las probabilidades predichas y las etiquetas de clase reales.
**En cada nodo, se selecciona la mejor característica y el mejor valor para la partición en función del criterio de evaluación seleccionado. Este proceso continúa hasta que se alcanzan las condiciones de parada. 2. Algoritmo de optimización.
Esto ayuda a reducir el sobreentrenamiento y a aumentar la generalizabilidad del modelo. 3. **Poda del árbol**: - En cada nodo se selecciona la mejor característica y el mejor valor para la partición en función del criterio de evaluación seleccionado.
**Una vez construido el árbol, puede llevarse a cabo un procedimiento de poda para reducir su complejidad y evitar el sobreentrenamiento. - La poda puede basarse en la validación cruzada o en un criterio como el error en el conjunto de validación. 4. **Optimización de hiperparámetros
**Optimización de hiperparámetros**: - Se utilizan métodos como la búsqueda en cuadrícula o la búsqueda aleatoria para encontrar valores óptimos de hiperparámetros como la profundidad del árbol, el número mínimo de muestras por nodo, etc. Estos criterios y métodos de optimización ayudan a construir modelos eficientes y robustos basados en árboles de decisión.
Todo lo que se negaba (estimación, iterabilidad, presencia de un algoritmo de optimización) está presente en la construcción de árboles.
ZY. Artículos sobre el tema #árboles.
ChatGPT dejará el mundo sin gente que intente averiguar las cosas por su cuenta. Averigua el código a partir del artículo. Y esas preguntas no surgirán. Eres programador y puedes hacerlo. ¿O es eso?
¿El chat de GPT ha ocupado el lugar de una fuente de verdadero conocimiento? Has vistola iteraciónen la recursividad. No - no es procesar todos los datos una y otra vez (como en los humanos iterando o en NS recalculando todos los pesos en cada época de aprendizaje). Pero cada vez que el conjunto de datos se divide, por ejemplo, por la mitad, cada mitad se divide por la mitad y así sucesivamente, hasta que es imposible dividirlo (queda 1 ejemplo o todos los ejemplos son iguales). Esto es repartir los datos entre las hojas en 1 pasada. Funciona muy rápido.
Esto es seleccionar la mejor división, pero no evaluar los datos en sí. Eso es lo que escribí antes. Usted quiere evaluar los datos para el registro para llamar a la memorización.
ChatGPT dejará el mundo sin gente que intente averiguar las cosas por su cuenta. Averigua el código a partir del artículo. Y esas preguntas no surgirán. Eres programador y puedes hacerlo. ¿O es eso?
¿El chat de GPT ha ocupado el lugar de una fuente de verdadero conocimiento? Has vistola iteraciónen la recursividad. No - no es procesar todos los datos una y otra vez (como en los humanos iterando o en NS recalculando todos los pesos en cada época de aprendizaje). Pero cada vez que el conjunto de datos se divide, por ejemplo, por la mitad, cada mitad se divide por la mitad y así sucesivamente, hasta que es imposible dividirlo (queda 1 ejemplo o todos los ejemplos son iguales). Esto es repartir los datos entre las hojas en 1 pasada. Funciona muy rápido.
Esto es seleccionar la mejor división, pero no evaluar los datos en sí. Eso es lo que escribí antes. Usted quiere evaluar los datos para el registro para llamar a la memorización.
No hay tiempo para escribir un gran post manualmente, gpt es bastante bueno para eso.
Fíjate bien, por favor, al menos mira el código que me ofreces mirar. Averigua dónde están las iteraciones en él, dónde está la estimación y dónde está el algoritmo de optimización. Tu negación no llevará a ninguna parte.
La recursión son iteraciones.
...
Como todas las NS sólo pueden reconocer gatitos, tumores y jugar al Dota, son incapaces de reconocer una estrategia de trading, porque esta tarea no es para redes tontas. Como resultado, la "generalización" se convierte en "promediación", cuando el resultado de las NS son diferentes tipos de ajustes con diferentes perversiones.
Dale la vuelta a un gato y sigue siendo el mismo gato, dale la vuelta a un gráfico de precios y ya no es una COMPRA, sino una VENTA. Al final, mantengo mi opinión: si quieres ajustar, debes ajustar específicamente. 1. O bien una tabla Q, donde a cada patrón histórico se le asigna una compra o una venta basada en estadísticas 2. O bien filtramos la entrada (o la salida) de la red. O filtramos la entrada (o número de salida de la NS) en todo el rango: algunos lugares - señal para abrir, algunos - ignorar.
La segunda opción es la implementación más fácil de reemplazo MLP: en lugar de decenas y cientos de parámetros optimizables de pesos, puede optimizar el rango de número de trabajo. Así lo hice, convirtiendo la optimización en un reentrenamiento feroz, que a veces resulta en algo que funciona en el delantero. E incluso en esta dirección ya es posible trabajar, elegir, seguir buscando.
Observaciones recientes: Hay dos tipos de datos de entrada: 1) Secuencia temporal - datos de entrada homogéneos en orden cronológico: precios, lecturas deindicadores, patrones. 2) Diversos - únicos, pero las lecturas másrecientes de diferentes instrumentos: indicadores, patrones.La primera variante es la peor. Cuanto más profundizamos en la historia, peores son los resultados.
Parece una paradoja, si lo comparamos con los traders de éxito, que profundizan en la historia.La segunda variante es la mejor. La primera variante no se puede entrenar de ninguna manera.
Parecería que más gráfico - más información - mejores resultados. Pero en la práctica todo es exactamente lo contrario. Además - mi justificación hipotética de este fenómeno:
El precio tiene un patrón. Objetivo, técnico - es la volatilidad. Sí, nos permite asumir con certeza que en 10 casos de cada 10, en 10 casos por lo menos el precio no llegará al valor 0. En 10 casos de cada 10, el precio del euro no pasará de 5000 pips en una barra de 5 minutos.
La fuerza mayor estropeará un poco el panorama absoluto. Pero sigue habiendo un elemento de azar: en esta misma volatilidad hay rangos de libre deambulación del precio.
Y, el precio durante la barra está en este rango medio. Y aquí podemos decir con cierta certeza: el precio en la próxima vela estará en el rango de ahora a ahora, ligeramente por encima del máximo actual y ligeramente por debajo del mínimo actual, porque el precio tiende a moverse direccionalmente. Entonces, ¿qué pasa si nos movemos 1 barra hacia atrás? ¿Qué suposición sería correcta?
Sí, efectivamente: el precio después de 1 barra tendrá ya 4 veces el rango posible de la vela. ¿Y si nos movemos 10 barras hacia atrás? ¿Cuál será el precio dentro de 10 barras? El rango de valores posibles aumenta muchas veces.
Es imposible adivinar. Y este fenómeno, creo, afecta a los resultados francamente de mierda del NS: la no libertad de previsión del pasado se superpone al rendimiento general - empeora. Esto se confirma por la regla de la práctica: cuantas más entradas - peor. También puede comprobarlo: introduzca un par de entradas frescas por separado y 10 anteriores - también por separado.
Los resultados de la primera serán mucho más estables. Las entradas más recientes son "empequeñecidas" por las pasadas en la caldera general de entradas, donde más a menudo muestran sobreentrenamiento y aleatoriedad absoluta en el avance. Puedes parar: nadie alimenta sólo las pasadas, ellas componen todo el patrón en la caldera general.
Pero la estadística ha demostrado que cualquier patrón único formado por una secuencia cronológica tiende a funcionar al 50%.
Es decir, tras ella el precio sigue curvándose a su antojo. Pero lasegunda variante es una belleza.
Esta belleza no sólo tiene la propiedad principal del predicado - frescura de los datos, sino que también puede potencialmente realizar la funcionalidad de la cronología y los patrones: - toda la cronología del gráfico puede ser realizada por un número y hecha una entrada Por ejemplo: la relación del precio actual a las últimas N velas.
O la misma secuencia cronológica, pero con una relación obligatoria con el dato más reciente: si es un precio - entonces el reflejo del incremento del precio más reciente con el resto. Y entonces la cronología "muerta" inviable empieza a cobrar vida.