L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 1259
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
pas tout à fait, cela devrait être plus clair ici
https://habr.com/ru/post/276355/
l'éventail des applications est large, la façon dont il sera utilisé exactement est une autre question.
Je le lirai dans la soirée.
Vous et moi n'avons rien à nous dire, parce que je peux dire par votre psycho-type que vous êtes soit un enfant ou juste... oubliez ça.
"Nous" comme dans vous ? Trouvez un emploi pour commencer, c'est une honte de s'asseoir sur les épaules de vos parents à cet âge.
pas tout à fait, cela devrait être plus clair ici
https://habr.com/ru/post/276355/
l'éventail des applications est large, la façon dont il sera utilisé exactement est une autre question.
Ce qu'il y a de mieux dans l'approche bayésienne, c'est qu'elle permet d'utiliser ce caractère aléatoire de manière contrôlée.
....
Dans la pratique, cela se traduit par le fait qu'un réseau dimensionnel donne de meilleurs résultats qu'un réseau d'abandon, mais pas de beaucoup.
Ce qui rend le décrochage plus cool, c'est qu'il est très simple, bien sûr.
C'est-à-dire qu'un NS profond avec dropout est l'équivalent d'un réseau bayésien. Et le dropout est dans de nombreux paquets, vous pouvez d'abord l'utiliser pour rechercher des poissons sur vos prédicteurs/cibles. Et ensuite essayer d'améliorer les résultats avec Bayes. Dans les articles de Vladimir Perervenko, le décrochage a été utilisé, il est possible d'expérimenter sur leur base.
J'ai fait des expériences, mais je n'ai pas trouvé de percée dans mes prédicteurs.Mais je n'ai pas créé de réseaux si profonds que je doive en retirer 1000 neurones. Je n'ai pas essayé plus de N-100-100-100-100-100-1 (401 neurones). C'est-à-dire que 100 peuvent avoir été supprimés, mais pas 1000. Pour en supprimer 1000, il faudrait un réseau de 4 à 10 000 neurones et le décompte prendrait probablement beaucoup de temps.
Il est possible que des forêts de 1000 arbres obtiennent des résultats similaires et comptent beaucoup plus vite que NS.
Je n'ai pas essayé plus de N-100-100-100-1 (401 neurones).
On ne peut pas entraîner des monstres comme ça correctement. Je pense que nous avons besoin d'un NS plus simple. Quelque part, jusqu'à 100 neurones.
La ligne de fond de la partie 2 de l'article :
C'est-à-dire qu'un NS profond avec un décrochage est analogue à un réseau bayésien. Et le décrochage est dans de nombreux paquets, vous pouvez d'abord les utiliser pour rechercher des poissons sur leurs prédicteurs/cibles. Et ensuite essayer d'améliorer les résultats avec Bayes. Dans les articles de Vladimir Perervenko dropout a été utilisé, vous pouvez expérimenter sur leur base.
J'ai expérimenté, mais je n'ai trouvé aucune avancée sur mes prédicteurs.Mais je n'ai pas créé de réseaux si profonds que je doive en retirer 1000 neurones. Je n'ai pas essayé plus de N-100-100-100-100-100-1 (401 neurones). C'est-à-dire que 100 peuvent avoir été supprimés, mais pas 1000. Pour en supprimer 1000, il faudrait un réseau de 4 à 10 000 neurones et le décompte prendrait probablement beaucoup de temps.
Il est possible que des forêts de 1000 arbres obtiennent des résultats similaires, et comptent beaucoup plus vite que NS.
Oh je ne sais pas, avec n'importe quel nombre d'arbres/bois, l'akurasi arrête de grandir et ils restent là, en lest, sans rien améliorer. Les laisser tomber ou ne pas les laisser tomber est un signe évident.
Une comparaison grossière entre les bayésiens et les décrocheurs à mon avis, mais je ne suis pas encore très calé sur le sujet et je ne vais pas argumenter, peut-être ainsi
Une comparaison grossière entre Bayes et les décrocheurs à mon avis, mais je ne suis pas encore très calé sur le sujet et je ne discuterai pas, peut-être ainsi
C'est l'auteur de cet article qui a fait la comparaison, pas moi. Il a écrit son article à partir d'un autre, plus grand, sur lequel il a fait ses expériences. C'est-à-dire que cette comparaison provient apparemment des développeurs de la méthode.
Oh je ne sais pas, avec n'importe quel nombre d'arbres/bois l'akurasi arrête de grandir et ils restent là, en lest, sans rien améliorer. Qu'on les laisse tomber ou non, c'est un mouchoir de poche mort.
J'ai trouvé un code obscur dans la forêt d'Alglib. Code complet de la fonction de calcul de l'étropie croisée de dataanalysis.mqh :
//+------------------------------------------------------------------+
//| Average cross-entropy (in bits per element) on the test set |
//| INPUT PARAMETERS: |
//| DF - decision forest model |
//| XY - test set |
//| NPoints - test set size |
//| RESULT: |
//| CrossEntropy/(NPoints*LN(2)). |
//| Zero if model solves regression task. |
//+------------------------------------------------------------------+
static double CDForest::DFAvgCE(CDecisionForest &df,CMatrixDouble &xy,
const int npoints)
{
//--- create variables
double result=0;
int i=0;
int j=0;
int k=0;
int tmpi=0;
int i_=0;
//--- creating arrays
double x[];
double y[];
//--- allocation
ArrayResizeAL(x,df.m_nvars);
ArrayResizeAL(y,df.m_nclasses);
//--- initialization
result=0;
for(i=0;i<=npoints-1;i++)
{
for(i_=0;i_<=df.m_nvars-1;i_++)
x[i_]=xy[i][i_];
//--- function call
DFProcess(df,x,y);
//--- check
if(df.m_nclasses>1)
{
//--- classification-specific code
k=(int)MathRound(xy[i][df.m_nvars]);
tmpi=0;
for(j=1;j<=df.m_nclasses-1;j++)
{
//--- check
if(y[j]>(double)(y[tmpi]))
tmpi=j;
}
//--- check
if(y[k]!=0.0)
result=result-MathLog(y[k]);
else
result=result-MathLog(CMath::m_minrealnumber);
}
}
//--- return result
return(result/npoints);
}
Le fragment de code marqué en rouge considère quelque chose(tmpi) qui n'est pas utilisé de quelque manière que ce soit. Pourquoi est-elle incluse alors ?
Selon wikipedia , il devrait êtreSoit il manque quelque chose, soit le code n'est pas complètement nettoyé.
En général, j'ai commencé à m'intéresser à cette fonction parce que je voulais rechercher 1 arbre. Et lorsque j'ai défini le nombre d'arbres dans la forêt = 1, j'ai vu que toutes les erreurs se situent entre 0 et 1, et que celle de 100 à 300 + se produit.
Quelqu'un comprend-il l'entropie croisée - le code est-il même correct, ou quelque chose est-il défait ?
Je l'ai comparé avec catbust - il retourne bien, habituellement > 0.5 sur le test... bien, comme d'habitude
Je regarderai le calcul demain, peut-être que le code de débogage est toujours là.
en général, cette métrique n'est d'aucune utilité ici car elle n'est pas utilisée pour une pause précoce ou autre... et peu informative par conséquent. Une erreur de classification est prise et c'est tout.