Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 640

 
Mihail Marchukajtes:


Com toda a seriedade, por favor, não faças alarido, Mikhail. O momento é crucial. Se esta idéia, não importa por que razão (seja por falta de habilidade ou estupidez completa diante de novas oportunidades) não funcionar, então a próxima virá para a comunidade de comerciantes muito, muito em breve. Tenho a certeza disso.

 
Mihail Marchukajtes:

Aqui estão os sete de me!!!! E marque este dia no seu calendário com um lápis vermelho, porque esse é o dia em que eu fiz o download do R e vou girá-lo pouco a pouco...

No Sensei, um brinde dos rapazes)))) h2o.automl.

O Rattle é médio, mas está tudo no automóvel...

 
Vizard_:
O velho Fa estava num pomar. Uma laranjeira espalhou-se diante dele. As aves voavam por todo o lado, caóticamente.
Os pássaros não pousariam na laranjeira e ele achou que o fruto era venenoso. Ele daria um passo para o lado e veria
a macieira atrás da laranjeira, onde no fruto e um casal ou até mais dos pássaros voando caótico
certamente se sentaria... Mas ele continuou de pé num lugar... Faminto, exausto, deprimido...
 No final do sexto ano, Hu Jou parecia ter penetrado na própria essência da arte da caça. Pois não era a presa, mas o conceito em si, que se tinha tornado central para ele... (с)
	          
 

http://playground.tensorflow.org

visualização da aprendizagem de NS, parece ser apenas por diversão ou como um exemplo de ensino

algo que ela está claramente a ter dificuldades em classificar a espiral :)


Tensorflow — Neural Network Playground
Tensorflow — Neural Network Playground
  • Daniel Smilkov and Shan Carter
  • playground.tensorflow.org
It’s a technique for building a computer program that learns from data. It is based very loosely on how we think the human brain works. First, a collection of software “neurons” are created and connected together, allowing them to send messages to each other. Next, the network is asked to solve a problem, which it attempts to do over and over...
 

E uma tal arquitectura já pode

é como Poincaré - se o espaço de recurso é incoerente você precisa de pelo menos 2 camadas, já havia uma pergunta sobre isso da elibrarius


 
Maxim Dmitrievsky:

E esta arquitectura já pode


Maxim, e a selecção de características? Aye-aye.
Além disso, faça a velocidade de aprendizagem mais lenta quando a rede começar a vibrar.

Eu brinquei com esta coisa no verão passado. Muito visual).
 
Aleksey Terentev:
Maxim, e quanto à selecção de características? Aye-aye.
Além disso, faça a velocidade de aprendizagem mais lenta quando a rede começar a vibrar.

No verão passado, brinquei com esta coisa. Coisa muito ilustrativa).

Sim, se você colocar os pecados, pode ser com 1 camada.

 

EMVC não faz o que eu queria, não faz o que parece a partir de uma leitura superficial da descrição.

EMVC pega uma tabela com preditores e metas (apenas classes. Não é permitida a regressão) e calcula a probabilidade de cada exemplo de treinamento pertencer realmente a uma determinada classe. É possível encontrar as linhas na tabela de treinamento que contradizem a maioria dos exemplos de treinamento (outliers, erros) e removê-las para evitar confundir o modelo no treinamento.

Eu deveria encontrar um conjunto de preditores que dessem as estimativas de maior probabilidade, mas os conjuntos de preditores encontrados eram insatisfatórios. Não vou fazer experiências com isto, existem melhores ferramentas para seleccionar os preditores. Não consigo ver a estimativa de centralidade cruzada, o pacote a utiliza de alguma forma internamente, mas não retorna essa resposta ao usuário.

Mas há uma ferramenta interessante para peneirar exemplos de treinamento em vez de prever.


library(EMVC)
data(iris)


trainTable <- iris #таблица  на которой в дальнейшем будет обучаться какая-то модель
PREDICTOR_COLUMNS_SEQ <- 1:4 #номера  колонок с предикторами
TARGET_COLUMN_ID <- 5 #номер  колонки с таргетом

EMVC_MIN_TRUST <- 0.9 #минимально  допустимая вероятность принадлежности к классу посчитанная через emcv. От 0 до 1.

emvcData <- t(as.matrix(trainTable[,PREDICTOR_COLUMNS_SEQ]))
emvcAnnotations <- as.numeric(trainTable[,TARGET_COLUMN_ID])
emvcAnnotationsUnique <- unique(emvcAnnotations)
emvcAnnotationsMatrix <- matrix(0, ncol=ncol(emvcData), nrow = length(emvcAnnotationsUnique))
for(i in 1:length(emvcAnnotationsUnique)){
  emvcAnnotationsMatrix[i, emvcAnnotations == emvcAnnotationsUnique[i]] <- 1
}

set.seed(0)
emvcResult <- EMVC(data = emvcData,
                   annotations = emvcAnnotationsMatrix,
                   #  bootstrap.iter = 20,
                   k.range = 2
                   #  clust.method = "kmeans",
                   #  kmeans.nstart = 1,
                   #  kmeans.iter.max = 10,
                   #  hclust.method = "average",
                   #  hclust.cor.method = "spearman"
)

badSamples <- c()
for(i in 1:ncol(emvcResult)){
  if(max(emvcResult[,i])<EMVC_MIN_TRUST){
    badSamples <- c(badSamples, i)
  }
}
cat("Indexes of bad train samples:", badSamples,"\n") #Это  номера строк в обучающей табличке которые повышают кросс-энтропию данных. Они противоречат большинству других обучающих примеров, и возможно следует их удалить из обучающей таблички
trainTable <- trainTable[-badSamples,]

 
Dr. Trader:

EMVC não faz o que eu queria, não faz o que parece a partir de uma leitura superficial da descrição.

EMVC pega uma tabela com preditores e metas (apenas classes. Não é permitida a regressão) e calcula a probabilidade de cada exemplo de treinamento pertencer realmente a uma determinada classe. É possível encontrar as linhas na tabela de treinamento que contradizem a maioria dos exemplos de treinamento (outliers, erros) e removê-las para evitar confundir o modelo no treinamento.

Eu deveria encontrar um conjunto de preditores que dessem as estimativas de maior probabilidade, mas os conjuntos de preditores encontrados eram insatisfatórios. Não vou fazer experiências com isto, há melhores ferramentas para seleccionar os preditores. Não consigo ver a estimativa de centralidade cruzada, o pacote a utiliza de alguma forma internamente, mas não retorna essa resposta ao usuário.

Mas, pelo menos, temos uma ferramenta interessante para triagem de exemplos de treinamento em vez de preditores.


É uma pena.

Mais uma vez você provou a idéia de que milagres não acontecem, você tem que pegar tudo do zero.

 
Dr. Trader:
Assim, você pode encontrar linhas na tabela de treinamento que contradizem a maioria dos outros exemplos de treinamento (picos, erros), e removê-las para evitar confundir o modelo durante o treinamento.

Será que isso realmente importa nos dados Forex onde as regularidades são difíceis de encontrar? Acho que com este programa podemos tirar metade dos exemplos. E os outliers podem ser procurados com métodos mais simples: não os apague, mas, por exemplo, equacione-os com um máximo admissível.