Que mettre à l'entrée du réseau neuronal ? Vos idées... - page 67

 

Comment fonctionnent les arbres dans l'apprentissage automatique ?

Деревья в машинном обучении, в частности, решающие деревья, представляют собой структуру, которая используется для классификации и регрессии. Основная идея заключается в том, чтобы разбить набор данных на более мелкие подмножества, основываясь на значениях входных признаков. Вот основные моменты, как работают деревья:

### 1. Структура дерева
- **Вершины**: Каждая вершина дерева представляет собой узел, где происходит разделение данных.
- **Корень**: Это верхний узел дерева, откуда начинается процесс разделения.
- **Листовые узлы**: Узлы, которые не имеют дочерних узлов, представляют собой конечные результаты (классификация или предсказание).

### 2. Процесс построения дерева
- **Выбор признака**: На каждом узле выбирается признак, по которому будет происходить разделение. Выбор признака осуществляется на основе критерия, который позволяет максимизировать однородность подмножеств (например, критерий Джини или энтропия для классификации).
- **Разделение данных**: Данные делятся на две или более группы в зависимости от значения выбранного признака.
- **Рекурсия**: Процесс повторяется для каждой полученной группы, пока не будет достигнуто определенное условие остановки (например, максимальная глубина дерева или минимальное количество образцов в узле).

### 3. Оценка качества
- **Критерии**: Для оценки качества разделения используются различные метрики, такие как:
  - **Джини**: Мера, которая вычисляет вероятность неправильной классификации случайно выбранного элемента.
  - **Энтропия**: Мера неопределенности, которая показывает, насколько данные в узле разнородны.


### 4. Устойчивость к переобучению
- **Переобучение**: Деревья могут легко переобучаться, особенно если они слишком глубокие. Для борьбы с этим применяются методы, такие как обрезка (pruning), которая удаляет менее значимые узлы.
- **Регуляризация**: Установка ограничений на максимальную глубину дерева или минимальное количество образцов в узле также помогает избежать переобучения.

### 5. Применение
- **Классификация**: Деревья могут использоваться для классификации объектов на основе их признаков.
- **Регрессия**: Деревья могут предсказывать непрерывные значения, разбивая данные на подмножества и вычисляя среднее значение в каждом листовом узле.

### 6. Ансамблевые методы
- **Случайные леса**: Это метод, который объединяет множество деревьев для улучшения точности и устойчивости модели.
- **Градиентный бустинг**: Метод, который строит деревья последовательно, где каждое новое дерево исправляет ошибки предыдущих.

Деревья являются мощным инструментом в машинном обучении благодаря своей интерпретируемости и способности обрабатывать как числовые, так и категориальные данные.

Ci-dessus, en bleu - itérativité du processus, en vert - évaluation du processus.

Ci-dessous, plus d'informations sur l'itération et l'évaluation, je suis trop paresseux pour surligner les couleurs.

La division en feuilles est-elle un processus itératif ou non ?

Oui, la répartition en feuilles dans les arbres de résolution est un processus itératif.



Regardons de plus près comment cela se passe : ### Processus de partitionnement 1.

**Sélection du nœud pour le partitionnement** : - Commence à la racine de l'arbre où résident toutes les données - À chaque nœud, une caractéristique et une valeur sont sélectionnées pour le partitionnement.

Pour ce faire, on utilise des critères tels que la réduction de l'entropie ou le critère de Gini. 2.



**partitionnement des données** : - Les données sont divisées en deux groupes ou plus en fonction de la caractéristique sélectionnée et de sa valeur - Chaque groupe devient un nouveau nœud (ou sous-arbre) pour un partitionnement ultérieur 3.
**Partitionnement récursif** : - Le processus est répété pour chaque nouveau nœud.

À chaque étape, une nouvelle caractéristique est sélectionnée et les données sont à nouveau partitionnées - Cette opération se poursuit jusqu'à ce qu'une condition d'arrêt soit atteinte, par exemple : - Profondeur maximale de l'arbre.





- Nombre minimum d'échantillons par nœud - Pas d'amélioration significative de la qualité du partitionnement ### Nature itérative - **Itération** :
Chaque étape du partitionnement est une itération qui entraîne la création de nouveaux nœuds et sous-ensembles de données - **Récurrence** :





Le processus de partitionnement peut être considéré comme récursif, chaque nœud étant traité séparément et le même processus étant répété pour chaque nœud. ### Achèvement du processus - Lorsque l'une des conditions d'arrêt est atteinte, le nœud devient un nœud feuille et une valeur finale est définie pour lui (par exemple, classe pour la classification ou moyenne pour la régression). Ainsi, le partitionnement en feuilles dans les arbres de décision est en effet un processus itératif et récursif qui permet des affinements successifs.

Quel est le critère d'évaluation lors de la construction de l'arbre et quels sont les algorithmes d'optimisation utilisés dans ce processus ?

Lors de la construction d'arbres de décision, plusieurs critères d'évaluation sont utilisés pour déterminer la meilleure façon de partitionner les données à chaque nœud.



Les critères de base sont les suivants : ### Critères d'évaluation 1.

**Entropie** : - Utilisée dans l'algorithme ID3 - Mesure l'incertitude ou le caractère aléatoire des données.
Plus l'entropie est faible, plus les données sont homogènes - Formule :



\[ H(S) = -\sum_{i=1}^{C} p_i \log_2(p_i) \]où \N( p_i \N) est la probabilité de la classe \N( i \N) et \N( C \N) est le nombre de classes.

2.

**Critère de Gini** : - Utilisé dans les arbres de classification et de régression (CART) - Mesure la probabilité de mal classer un élément sélectionné au hasard.





- Formule : \[ Gini(S) = 1 - \sum_{i=1}^{C} p_i^2 \] 3.



**entropie croisée (perte logarithmique)** : - Utilisée dans certaines variantes des arbres de décision, en particulier pour les tâches de classification - Estime la différence entre les probabilités prédites et les étiquettes de classe réelles. 4.







** Erreur quadratique moyenne (EQM)** : - Utilisée pour les problèmes de régression - Estime la moyenne des carrés d'erreur entre les valeurs prédites et les valeurs réelles. ### Algorithmes d'optimisation Divers algorithmes et méthodes d'optimisation sont également utilisés dans la construction d'arbres de décision : 1.



**L'algorithme gourmand** : - À chaque nœud, la meilleure caractéristique et la meilleure valeur de partitionnement sont sélectionnées sur la base du critère d'évaluation choisi - Ce processus se poursuit jusqu'à ce que les conditions d'arrêt soient atteintes. 2.



**Construction d'un arbre à l'aide de sous-ensembles aléatoires** : - L'algorithme Random Forest utilise une méthode de "bagging" dans laquelle plusieurs arbres sont construits sur des sous-ensembles aléatoires de données et de caractéristiques - Cela permet de réduire le surentraînement et d'augmenter la généralisation du modèle. 3.



**Élimination des arbres** : - Après la construction de l'arbre, une procédure d'élagage peut être effectuée pour réduire la complexité de l'arbre et éviter le surentraînement - L'élagage peut être effectué sur la base d'une validation croisée ou en utilisant un critère tel que l'erreur sur l'ensemble de validation. 4.


**Optimisation des hyperparamètres** : - Des méthodes telles que la recherche en grille ou la recherche aléatoire sont utilisées pour trouver les valeurs optimales des hyperparamètres tels que la profondeur de l'arbre, le nombre minimum d'échantillons par nœud, etc.

Tout ce qui a été refusé (estimation, itérabilité, présence d'un algorithme d'optimisation) est présent dans la construction des arbres.


ZY. Articles sur le thème #arbres.

 


ChatGPT laissera le monde sans personnes essayant de comprendre les choses par elles-mêmes. Comprenez le code à partir de l'article. De telles questions ne se poseront plus. Vous êtes un programmeur et vous pouvez le faire. Ou est-ce que c'est tout ?

Le chat GPT a-t-il pris la place d'une source de connaissance véritable ? Vous avez vu l'itérationdans la récursion. Non, il ne s'agit pas de traiter toutes les données encore et encore (comme dans l'itération humaine ou dans les NS qui recalculent tous les poids à chaque époque de l'apprentissage). Mais à chaque fois que l'ensemble des données est divisé, par exemple en deux, chaque moitié est divisée en deux et ainsi de suite, jusqu'à ce qu'il soit impossible de diviser (il reste un exemple ou tous les exemples sont identiques). Cela revient à répartir les données sur les feuilles en un seul passage. Cette méthode est très rapide.

Il s'agit de sélectionner la meilleure division, mais pas d'évaluer les données elles-mêmes. C'est ce que j'ai écrit plus tôt. Vous voulez évaluer les données pour l'enregistrement afin d'appeler la mémorisation.

 
Forester #:


ChatGPT laissera le monde sans personnes essayant de comprendre les choses par elles-mêmes. Comprenez le code à partir de l'article. De telles questions ne se poseront plus. Vous êtes un programmeur et vous pouvez le faire. Ou est-ce que c'est tout ?

Le chat GPT a-t-il pris la place d'une source de connaissance véritable ? Vous avez vu l'itérationdans la récursion. Non, il ne s'agit pas de traiter toutes les données encore et encore (comme dans l'itération humaine ou dans les NS qui recalculent tous les poids à chaque époque de l'apprentissage). Mais à chaque fois que l'ensemble des données est divisé, par exemple en deux, chaque moitié est divisée en deux et ainsi de suite, jusqu'à ce qu'il soit impossible de diviser (il reste un exemple ou tous les exemples sont identiques). Il s'agit de répartir les données sur les feuilles en un seul passage. Cette méthode est très rapide.

Il s'agit de sélectionner la meilleure division, mais pas d'évaluer les données elles-mêmes. C'est ce que j'ai écrit plus tôt. Vous voulez évaluer les données pour l'enregistrement afin d'appeler la mémorisation.

On n'a pas le temps de taper manuellement un gros message, gpt est très bien fait pour cela.

Regardez attentivement, s'il vous plaît, au moins regardez le code que vous me proposez de regarder. Déterminez où se trouvent les itérations, où se trouve l'estimation et où se trouve l'algorithme d'optimisation. Votre déni ne mènera nulle part.

La récursivité, c'est l'itération.

 
1.vous ne normaliserez pas les valeurs de l'ensemble de données de manière à ce que leur structure soit similaire à celle d'autres entrées 2.même si vous y parvenez, il s'agira d'un bruit blanc et aucun réseau neuronal ne fonctionnera correctement 3.seul un réseau tel que GPT, doté de milliers de neurones et d'architectures conçues exclusivement pour le commerce, sera en mesure de fournir des prévisions plus ou moins précises et de s'adapter au bruit blanc. Et il s'agit d'un serveur distinct doté d'énormes capacités.
 
C'est exact.
 
Forester #:

...



Tut.
 
Je poursuis mes expériences créatives. J'ai dessiné une image mentale, je veux essayer de créer des modèles de prix et de les utiliser dans la négociation. Chaque modèle est comme un certain modèle énorme, qui est projeté conditionnellement dans l'avenir.

 
Je vois beaucoup de programmeurs expérimentés dans ce fil de discussion que j'admire et je ne veux donc pas marcher sur les plates-bandes de qui que ce soit.

Cependant, d'après mon expérience personnelle et mes recherches, les modèles linéaires simples semblent toujours plus performants que les réseaux neuronaux, ce qui peut s'expliquer par le fait que les ensembles de données financières sont très bruyants et que les réseaux neuronaux sont sensibles à la variance des entrées.

Selon moi, il est impressionnant de surpasser une régression linéaire (à condition de ne pas mélanger aléatoirement les ensembles de formation et de test).

Je ne veux pas paraître pessimiste, mais toutes les données que j'ai analysées ne me permettent pas de croire qu'un réseau neuronal profond, même avec un billion de paramètres, sera plus performant qu'un modèle linéaire, même si l'on tient compte du phénomène de double descente.

Je pense généralement qu'il y a soit

1) une étape de prétraitement que nous n'avons pas réalisée
2) des données utiles que nous négligeons
soit
3) une meilleure cible que nous pouvons prédire avec plus de précision.

J'aimerais beaucoup qu'on me prouve que j'ai tort. En fait, j'espère que je me trompe et que la véritable solution est beaucoup plus simple.
 



Comme tous les SN ne savent reconnaître que les chatons, les tumeurs et jouer à Dota, ils sont incapables de reconnaître une stratégie commerciale, car cette tâche n'est pas du ressort des réseaux idiots. Par conséquent, la "généralisation" se transforme en "moyennisation", lorsque le résultat des SN est constitué de différents types d'ajustements avec différentes perversions.










Tournez un chat à l'envers et c'est toujours le même chat. Tournez un graphique de prix à l'envers et ce n'est plus un ACHET, mais une VENTE. En fin de compte, je reste fidèle à mon opinion : si vous voulez ajuster, vous devez le faire spécifiquement. 1. Soit un tableau Q, où chaque modèle historique est assigné à un achat ou à une vente sur la base de statistiques. 2. Soit nous filtrons l'entrée (ou le numéro de sortie du NS) sur l'ensemble de la plage : certains endroits - signal d'ouverture, d'autres - ignorer.





La deuxième option est la mise en œuvre la plus simple du remplacement des MLP : au lieu de dizaines et de centaines de paramètres de poids optimisables, vous pouvez optimiser la plage du nombre de travail. C'est ce que j'ai fait, transformant l'optimisation en un recyclage féroce, qui aboutit parfois à quelque chose qui fonctionne à l'avant. Et même dans cette direction, il est déjà possible de travailler, de choisir, de continuer à chercher.




 











Observations récentes : il existe deux types de données d'entrée : 1) Séquence temporelle - données d'entrée homogènes dans l'ordre chronologique : prix,relevés d'indicateurs, modèles. 2) Divers - relevés uniques, mais les plusrécents , de différents instruments : indicateurs, modèles.La première variante est la plus mauvaise. Plus on plonge dans l'histoire, plus les résultats sont mauvais.




Cela semble paradoxal si l'on compare avec les traders qui réussissent et qui plongent leurs yeux dans l'histoire.La deuxième variante est la meilleure. La première variante ne peut être entraînée d'aucune manière.


Il semblerait que plus il y a de graphiques, plus il y a d'informations, meilleurs sont les résultats. Mais dans la pratique, c'est exactement le contraire. Plus loin - ma justification hypothétique de ce phénomène :

Le prix a un modèle. Objectif, technique - c'est la volatilité. Oui, elle nous permet de supposer avec certitude que dans 10 cas sur 10, dans 10 cas au moins, le prix n'atteindra pas la valeur 0. Dans 10 cas sur 10, le cours de l'euro ne dépassera pas 5000 pips dans une barre de 5 minutes.
Les cas de force majeure gâchent un peu l'image absolue, mais il y a encore un élément de chance : dans cette volatilité même, il y a des plages de libre fluctuation des prix.



Et, le prix pendant la barre est dans cette fourchette moyenne. Et ici, nous pouvons dire avec une certaine certitude : le prix sur la prochaine bougie sera dans la fourchette de maintenant à maintenant, légèrement au-dessus du haut actuel et légèrement en dessous du bas actuel, parce que le prix a tendance à se déplacer directionnellement. Alors, que se passe-t-il si nous reculons d'une barre ? Quelle hypothèse serait correcte ?

Oui, en effet : le prix après 1 barre aura déjà 4 fois la portée possible du chandelier. Et si nous reculons de 10 barres ? Quel sera le prix dans 10 mesures ? La fourchette des valeurs possibles est multipliée par plusieurs fois.




Il est impossible de deviner. Et ce phénomène, je pense, affecte les résultats franchement merdiques du NS : la non-liberté de prévision du passé se superpose à la performance globale - elle empire. Ceci est confirmé par la règle de la pratique : plus il y a d'entrées - pire c'est. Vous pouvez également le vérifier : entrez une paire d'entrées fraîches séparément et 10 entrées précédentes - également séparément.


Les résultats de la première seront beaucoup plus stables. Les entrées les plus récentes sont "éclipsées" par les entrées périmées dans la chaudière générale des entrées, où elles montrent le plus souvent un surentraînement et un hasard absolu sur l'avant. Vous pouvez parer : personne n'alimente seulement les entrées passées, elles constituent l'ensemble du modèle dans la chaudière générale.

Mais les statistiques ont montré que tout modèle unique consistant en une séquence chronologique a tendance à fonctionner à 50/50.



Mais ladeuxième variante est d'une grande beauté.



Cette beauté ne possède pas seulement la propriété principale du prédicat - la fraîcheur des données, mais peut aussi potentiellement réaliser la fonctionnalité de la chronologie et des motifs : - la chronologie entière du graphique peut être réalisée par un seul nombre et une seule entrée Par exemple : le rapport entre le prix actuel et les N derniers chandeliers.


Ou la même séquence chronologique, mais avec une relation obligatoire avec les données les plus récentes : s'il s'agit d'un prix - alors le reflet de l'incrément du prix le plus récent par rapport au reste. Et alors la chronologie "morte" et non viable commence à prendre vie.