L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 1296

 
Dimitri:

Byzance n'existait plus au début de la Renaissance, Constantinople était la capitale de l'Empire ottoman et les croisades avaient pris fin 200 ans auparavant.

Ne plaisantez pas...

Lerenouveau est divisé en quatre étapes :

  1. Proto-Renaissance (de la 2e moitié du 13e siècle au 14e siècle)
  2. Début de la Renaissance (du début du 15e siècle à la fin du 15e siècle)
  3. Haute Renaissance (fin du XVe siècle - 20 premières années du XVIe siècle)
  4. Renaissance tardive (du milieu du XVIe siècle aux années 1590)

La quatrième croisade de 1202-1204 (c'est le début du 13ème siècle)

Après avoir mis à sac la plus riche et la plus grande ville d'Europe... Ils (les croisés) ont établi un État avec Constantinople comme capitale, l'Empire latin. La lutte contre les conquérants a duré plus de 50 ans. En 1261, l'Empire latin tombe. Byzance a été restaurée, mais elle n'a jamais pu retrouver son ancienne puissance.

Après 50 ans de pillage et de vie à Byzance, les Européens nouvellement enrichis (principalement Venise, qui faisait tout le transport maritime et ses quartiers) ont pris goût à la belle vie, ils ont commencé à bien payer les créatifs. Les créatifs embauchaient/formaient des apprentis, qui excellaient ensuite comme enseignants, etc. Et ainsi de suite.

 
L'opinion d'échantillonnage de CatBoost est nécessaire, deux échantillons sont nécessaires pour la formation là. La première est la fonction d'optimisation, et la seconde est la sélection du modèle, c'est-à-dire le moment où cette fonction doit arrêter son travail afin d'éviter le surentraînement, et pour cela les résultats de l'entraînement sont appliqués au deuxième échantillon. Je me dis, en fait il se trouve qu'on cherche un modèle sur l'échantillon d'entraînement de 2014-2016, puis on teste ce modèle sur 2016-2017, et on teste indépendamment le modèle déjà sur le troisième échantillon sur 2018-2019. Je suis confus par un tel écart temporel, ou plutôt je doute même que nous ayons besoin d'un grand échantillon pour le test, car nous voulons attraper un modèle stable sur une longue période de temps, mais la durée de ce modèle nous ne la connaissons pas... Je pense qu'il suffit de mettre 2-3 mois dans l'échantillon de test, ce qui révélera une tendance qui est cyclique et qui se répétera avant et après, mais il y a alors un risque qu'avant de révéler cette cyclicité dans l'échantillon d'entraînement, le modèle regroupe trop d'arbres décrivant autre chose, et seulement ensuite construira des arbres décrivant une tendance dans l'échantillon de test. Dans le doute, je n'arrive pas à trouver comment faire une expérience qui permette de déterminer la longueur de chacun des trois échantillons. Quelqu'un a-t-il une idée à ce sujet ?
 
Elibrarius:

Après 50 ans de pillage et de vie à Byzance, les Européens nouvellement enrichis (principalement Venise, qui s'occupait du transport maritime et de ses comtés) ont pris goût à la belle vie et ont commencé à bien payer les créateurs. Les créatifs embauchaient/formaient des apprentis, qui excellaient ensuite comme enseignants, etc. Et c'est comme ça que ça s'est passé - petit à petit.

Mais bien sûr, il s'agit d'une opinion personnelle.

Un présentateur de télévision européen a déclaré que la chute de Constantinople était une bénédiction, car malgré les centaines de milliers de victimes et les destructions, des personnes instruites ont afflué en Europe et ont été embauchées de bon gré, ce qui leur a permis de retrouver une partie des connaissances perdues de l'Empire romain et a contribué à l'émergence du Moyen Âge.

C'est-à-dire que même les actes blasphématoires comme la guerre, même maintenant, sont présentés comme de bonnes actions pour toute l'humanité... L'histoire est écrite par les vainqueurs.

 
Aleksey Vyazmikin:
mais alors il y a un risque qu'avant de révéler cette cyclicité sur l'échantillon d'entraînement, le modèle fasse trop d'arbres décrivant autre chose, et seulement ensuite construire des arbres décrivant la tendance sur l'échantillon de test.

Ni les arbres ni les NS ne séparent les chaînes de caractères en fonction du temps, ils les mélangent même. Aucun arbre n'est donc "alors" construit. Ils sont tous construits sur des données uniformément mélangées. Les rangs de 2014 et de 2016 peuvent se tenir côte à côte.

Si le NS ne mélange pas les rangées, il se réentraînera uniquement sur les premiers exemples et atteindra une impasse et les dernières données ne termineront pas leur apprentissage. Après avoir mélangé les rangs, NS apprend de manière égale. Il n'est pas nécessaire de mélanger les rangées si r=1 (nombre de rangées pour l'apprentissage d'un arbre), mais il est généralement fixé à <1 pour éviter le surentraînement, et il faut donc le mélanger aussi. Ainsi, pour r=0,5, il ne faut pas prendre uniquement les données de 2014 et 2015.

Aleksey Vyazmikin:
Je n'arrive pas à trouver comment faire une expérience qui permette de déterminer la longueur de chacun des trois échantillons. Avez-vous une idée à ce sujet ?

Je pense que nous devons optimiser cela aussi. Mais je pense que le nombre de lignes ne devrait pas être inférieur à 1000-10000, afin que l'échantillon soit représentatif et que les écarts aléatoires soient compensés. Sinon, vous pouvez intégrer un biais aléatoire dans un petit échantillon.

 
Aleksey Vyazmikin:

Selon un programme européen, la chute de Constantinople a été une bénédiction, car malgré les centaines de milliers de victimes et les destructions, des personnes instruites ont afflué en Europe, qui étaient volontiers embauchées et ont ainsi réussi à récupérer une partie des connaissances perdues de l'Empire romain, ce qui a contribué à l'émergence du Moyen Âge.

C'est-à-dire que même les actes blasphématoires comme la guerre, même maintenant, sont présentés comme une bonne action pour toute l'humanité... L'histoire est écrite par les vainqueurs.

Bien sûr, chacun perçoit le bien pour lui-même. Pour les Européens, bien sûr, il s'agit d'une bonne action de pillage des finances et des cerveaux. Pour les Byzantins, ce n'est pas une bénédiction, pour beaucoup c'est la mort.

Je ne me souviens pas exactement, mais à l'époque de son âge d'or, les taxes annuelles byzantines s'élevaient à environ 2 à 4 000 tonnes d'or. Même pour notre époque, c'est un très bon montant pour de nombreux pays. Mais je peux me tromper dans les chiffres - il y a quelques années, j'ai regardé un film qui en parlait. Si vous êtes intéressé, jetez-y un coup d'œil. Je suis tombé dessus par hasard au début du film - seules les pièces de monnaie ont sorti plusieurs centaines de tonnes.


 
elibrarius:

Ni les arbres ni les NS ne séparent les chaînes par temps, ils les mélangent même. Par conséquent, aucun arbre n'est construit "après coup". Ils sont tous construits sur des données uniformément mélangées. Les rangs de 2014 et de 2016 peuvent se tenir côte à côte.

Il n'est pas tout à fait possible que j'aie fait le tour de la question.

Regardez, nous avons construit un arbre sur un échantillon de formation, il a couvert 10% de l'échantillon (rappel) et donc disons 20 arbres, chacun ajoute 3%-7% au rappel, mais c'est sur l'échantillon de formation, tandis que sur l'échantillon de test, peut-être seulement 5 et 6 arbres donneront généralement une réponse sur la complétude et la précision, et les arbres avant et après seront alors du bruit, mais si ces "après" sont coupés par l'algorithme, alors les "avant" resteront. Nous obtenons donc un modèle comportant des arbres qui aident à la classification et d'autres qui l'entravent ou se comportent simplement de manière passive. C'est pourquoi la question est celle de la taille de l'échantillon et de son remplissage.

J'ai environ 14 cordes au total et je dois les diviser en 3 échantillons.

Peut-être que pour ces types de modèles, il est efficace de couper différents morceaux de l'échantillon et de tester ensuite les modèles résultants sur l'ensemble de l'échantillon pour en vérifier la robustesse... Dans la contemplation.

 
Elibrarius:

Le bien est bien sûr une perception de chaque individu. Pour les Européens, bien sûr, ce fut une bénédiction sous la forme d'un vol de finances et de cerveaux. Pour les Byzantins, ce n'est pas une aubaine, pour beaucoup c'est la mort.

Je ne me souviens pas exactement, mais à l'apogée de Byzance, les taxes annuelles s'élevaient à environ 2 à 4 000 tonnes d'or. Même pour notre époque, c'est un très bon montant pour de nombreux pays. Mais je peux me tromper sur les chiffres - j'ai regardé un film il y a quelques années, il le disait. Si vous êtes intéressé, jetez-y un coup d'œil. Je suis tombé dessus par hasard au début du film - seules les pièces de monnaie ont nécessité plusieurs centaines de tonnes.


Je vais regarder la vidéo, merci, mais je préférerais voir de la part des Japonais ou de quelqu'un d'indépendant...

 
Aleksey Vyazmikin:
peut-être que seuls les arbres 5 et 6 donneront une réponse sur la complétude et la précision, et les arbres avant et après seront alors du bruit, mais si ces "après" seront élagués par l'algorithme, les "avant" resteront.

Quel algorithme coupera des arbres dans une forêt déjà construite ? La forêt cessera de croître soit lorsqu'elle atteindra un certain nombre, soit par une autre méthode, lorsqu'elle estimera avoir bien appris. Si l'élagage est effectué pendant l'apprentissage, il aura un effet positif sur l'erreur lors de la formation (et s'il est disponible lors de la validation).

En général, bien sûr, une partie des arbres votera pour et une partie contre. Et il est impossible de s'en débarrasser, car c'est ce qui permet à la forêt de bien apprendre, contrairement aux arbres individuels, en raison de la moyenne des votes. Lors du boosting, seul le premier arbre apprend des données, tous les autres apprennent des erreurs.

 
elibrarius:

Quel algorithme coupera des arbres dans une forêt déjà construite ? La forêt cessera de croître soit lorsqu'elle atteindra un certain nombre, soit par une autre méthode, lorsqu'elle estimera avoir bien appris. S'il y a un élagage pendant la formation, il aura un effet positif sur l'erreur lors de la formation (et si disponible lors de la validation).

Quel algorithme va élaguer - CatBoost le fait dans la formation, où vous pouvez définir un paramètre selon lequel si 10 (autant que vous le spécifiez) nouveaux arbres n'ont pas amélioré le résultat, alors il prend le modèle sans ces 10 derniers arbres, et respectivement c'est le meilleur de ce que vous avez.

elibrarius:

Lors du boosting, seul le premier arbre apprend des données, tous les autres apprennent des erreurs.

Un dicton intéressant. Cependant, les arbres suivants sont construits pour réduire l'erreur de la composition de l'arbre existant, mais je ne comprends pas pourquoi ils n'utilisent pas l'échantillonnage alors, dites-moi plus en détail, peut-être que je ne comprends pas quelque chose en profondeur....

 
Aleksey Vyazmikin:

Un dicton intéressant. Cependant, les arbres suivants sont construits pour réduire l'erreur de la composition de l'arbre existant, mais je ne comprends pas pourquoi ils n'utilisent pas l'échantillonnage alors, dites-moi plus en détail, peut-être que je manque quelque chose en profondeur...

Oui, afin de réduire les erreurs, ils prennent les erreurs exactes comme cible, puis les soustraient.

Voici l'algorithme du boosting, je l'étudie moi-même https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


1. Régression linéaire ou arbre de décision sur les données (ici arbre de décision choisi dans le code) [appeler x comme entrée et y comme sortie] (1 arbre formé sur les données)

2. Calculer les erreurs. Valeur cible réelle, moins valeur cible prédite [e1 = y - y_predicted1]

3. définir un nouveau modèle pour les valeurs aberrantes comme variable cible avec les mêmes variables d'entrée [le nommer e1_predicted] (2 et le reste des arbres sont formés sur les erreurs)

4. Ajoutez les valeurs aberrantes prédites aux prédictions précédentes.
[y_predicted2 = y_predicted1 + e1_predicted]

5. Définissez un autre modèle pour les erreurs restantes, c'est-à-dire [e2 = y - y_predicted2], et répétez les étapes 2 à 5 jusqu'à ce que l'ajustement soit excessif ou que la somme devienne constante. Le contrôle de l'overfitting peut être contrôlé en vérifiant constamment la précision sur les données de validation.


Je comprends que c'est du boosting classique. Peut-être que Catbust a inventé quelque chose de son cru...

Градиентый бустинг — просто о сложном
Градиентый бустинг — просто о сложном
  • 2018.11.27
  • neurohive.io
Хотя большинство победителей соревнований на Kaggle используют композицию разных моделей, одна из них заслуживает особого внимания, так как является почти обязательной частью. Речь, конечно, про Градиентный бустинг (GBM) и его вариации. Возьмем, например. победителя Safe Driver Prediction, Michael Jahrer. Его решение — это комбинация шести...
Raison: