Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1266
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Neste tópico, um posto de hóspedes. Só passei por cá para partilhar um artigo.
Isto, a propósito, é exacto.
Considerando o número de idiotas no fórum (incluindo o seu mudo mágico favorito...) eu não acho que seja mais necessário apoiar este tópico, porque eu não recebi quase nenhum benefício para mim
Maxim, você está errado! Há um benefício para você, um benefício na própria formulação e apresentação das tarefas. No entanto, não estou a tentar persuadir-te.
Maxim, você está errado! Há um benefício para si, um benefício na própria redacção e apresentação das tarefas. No entanto, não estou a persuadir.
Você pode ver que alguns idiotas clínicos vivem aqui, estes não são máscaras de fórum, mas casos reais, você lhes diz uma palavra e eles lhe dizem duas palavras após cada post.
Encontrei um código obscuro na floresta de Alglib. Código completo da função de cálculo de retropia a partir do 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);
}
O fragmento de código marcado em vermelho considera algo(tmpi) que não é usado de forma alguma. Então porque é que está incluído?
De acordo com a wikipedia , deveria serOu falta alguma coisa ou o código não está completamente limpo.
Em geral, eu comecei a entrar nesta função porque queria procurar 1 árvore. E quando eu coloco número de árvores na floresta = 1, eu vi que todos os erros estão entre 0 e 1, e este de 100 a 300 + acontece.
Alguém entende de entropia cruzada - o código está correto, ou algo está errado?
O valor em geral até ao infinito pode ser no cálculo da perda logarítmica se a probabilidade zero for prevista para a classe correcta, porque a fórmula inclui todas as outras classes excepto com coeficiente zero, e parece ter tentado resolver de alguma forma esta falha - em tmpi no laço encontra a classe que numa determinada amostra tem o valor de probabilidade mais alto, talvez quisesse adicionar à fórmula, mas aparentemente não a pensou bem:)
No total, 1 tmpi está presente e em uso, mais 2 estão presentes mas não são utilizadas.
No conjunto, não afecta a operação.
tmpi só é usado em 1 das 5 funções de erro. Aparentemente foi usado como um boneco para outras funções, mas esqueceu-se de o remover em outras.
No total, 1 tmpi está presente e em uso, mais 2 estão presentes mas não são usados.
Em geral, não afecta o funcionamento.
O que quero dizer é que uma boa fórmula para o cálculo de erros poderia levar em conta a distribuição de probabilidade em todas as classes, em vez de apenas uma correta.
Dito isto, se uma das amostras tem probabilidade zero de uma classe correta, então tudo voa para o infinito.
Aparentemente, é por isso que prefiro a regressão com um erro quadrático:)
Estou basicamente dizendo que uma boa fórmula de cálculo de erro poderia levar em conta a distribuição de probabilidade em todas as classes, não apenas uma correta.
Agora deixe Kesha (neto de SanSanYch) e Alyosha, que foi castigada pelos investidores, liderarem este fio condutor. Será justo.
Faz mais sentido abandonar este tópico e começar um novo, mais adequado, com outros temas relacionados.
A propósito, eu encontrei uma distribuição normal nos preços. Já escrevi na Dica que toda a anormalidade é do processamento de dados "incorrecto" - nós próprios o fazemos).
Um dia destes ou mais cedo, afixá-lo-ei no fio do Python.
Faz mais sentido abandonar este tópico e iniciar um novo, mais adequado, com outros temas relacionados.
A propósito, eu encontrei uma distribuição normal nos preços. Já escrevi na Dica que toda a anormalidade é do processamento de dados "incorrecto" - nós próprios o fazemos).
Um dia destes ou mais cedo, afixá-lo-ei no fio Python.
Infelizmente, tendo em conta a falta de pessoas do nível de Matemat, Northwind e Prival no fórum, todos estes tópicos não têm futuro. IMHO.