10 Maneiras de melhorar seus modelos de aprendizagem de máquina

Video: 3 Táticas para melhorar sua caligrafia

Agora que você está algoritmo de aprendizado de máquina tenha terminado o aprendizado a partir dos dados obtidos utilizando Python ou R, você está ponderando os resultados de seu conjunto de teste e se perguntando se você pode melhorá-los ou ter realmente alcançado o melhor resultado possível. Há uma série de verificações e ações que fazem alusão a métodos que você pode usar para melhorar o desempenho de aprendizagem de máquina e obter um indicador mais geral que é capaz de funcionar igualmente bem com o seu conjunto de teste ou novos dados. Esta lista de dez técnicas oferece-lhe oportunidades para melhorar o resultado conseguido usando algoritmos de aprendizagem de máquina.

Estudando as curvas de aprendizagem

Como um primeiro passo para melhorar seus resultados, você precisa determinar os problemas com seu modelo. as curvas de aprendizagem exige que você para verificar contra um conjunto de teste como você variar o número de instâncias de treinamento. Você notará imediatamente se você encontrar muita diferença entre o seu dentro da amostra e os erros de fora da amostra. A diferença inicial de largura é um sinal de estimativa de variância-inversamente, tendo erros que são de alta e semelhante é um sinal de que você está trabalhando com um modelo parcial.

Python ajuda a desenhar facilmente curvas de aprendizagem utilizando a função scikit-learn (). Você também pode facilmente atingir o mesmo resultado usando R com funções personalizadas, como descrito pela Revolução analytics blog.

Usando validação cruzada correctamente

Observar uma grande diferença entre as estimativas de validação cruzada (CV) e o resultado é um problema comum que aparece com um conjunto de teste ou dados frescos. Tendo esse problema significa que algo saiu errado com a validação cruzada. Além do fato de CV não é um bom indicador de desempenho, este problema também significa que um indicador enganador induziu você a modelar o problema de forma incorrecta e alcançar resultados insatisfatórios.

Video: Tipos de Aprendizado de Máquina | Peixe Babel 53

Validação cruzada fornece-lhe com dicas quando os passos a tomar estão corretas. É importante, mas não crítico, que CV estimativas replicar precisamente medidas de erro fora-de-amostra. No entanto, é crucial que as estimativas CV reflectir correctamente melhora ou piora na fase de teste devido a suas decisões de modelagem. Geralmente, há duas razões que as estimativas de validação cruzada podem variar dos verdadeiros resultados de erro:

  • bisbilhotando
  • amostragem incorreta

Python oferece uma estratificada-k-dobras CV amostrador. R pode estratificar amostras utilizando o método createFolds da biblioteca acento circunflexo quando você fornecer o parâmetro y como um fator.

Escolhendo o erro direita ou marcar métrica

Tentando otimizar uma métrica de erro com base na mediana do erro usando um algoritmo de aprendizagem baseado no erro médio não irá fornecer-lhe os melhores resultados a menos que você gerenciar o processo de otimização de uma forma que funciona em favor de sua métrica escolhida. Ao resolver um problema usando dados e aprendizagem de máquina, é preciso analisar o problema e determinar a métrica ideal para otimizar.

Exemplos podem ajudar muito. Você pode obter muitos deles a partir de trabalhos acadêmicos e de concursos de aprendizado de máquina pública que definem cuidadosamente problemas específicos em termos de dados e erro / marcar métrica. Procure um concurso cujo objetivo e os dados são semelhantes ao seu, e depois verificar a métrica solicitada.

Procurando os melhores hiper-parâmetros

A maioria dos algoritmos executar razoavelmente bem fora da caixa utilizando os parâmetros predefinidos. No entanto, você sempre pode conseguir melhores resultados testando diferentes hiper-parâmetros. Tudo que você tem a fazer é criar uma pesquisa de grade entre os possíveis valores que os parâmetros podem tomar e avaliar os resultados usando o erro direita ou pontuação de métrica. A pesquisa leva tempo, mas pode melhorar seus resultados.

Video: Aprendizado de Máquina #1 - Representação de Modelos (Teoria)

Quando uma pesquisa leva muito tempo para ser concluído, muitas vezes você pode alcançar os mesmos resultados, trabalhando em uma amostra de seus dados originais. Menos exemplos escolhidos ao acaso requerem menos cálculos, mas eles geralmente sugerem a mesma solução. Outro truque que pode economizar tempo e esforço é para fazer uma pesquisa randomizado, limitando assim o número de combinações de parâmetros hiper para testar.

Testando vários modelos

Como uma boa prática, testar vários modelos, começando com os mais básicos - os modelos que têm mais tendência do que a variância. Você deve sempre favorecer soluções simples sobre os mais complexos. Você pode descobrir que uma solução simples executa melhor.

Representando o desempenho de diferentes modelos usando o mesmo gráfico é útil antes de escolher o melhor para resolver seu problema. Você pode colocar modelos utilizados para prever o comportamento do consumidor, tais como uma resposta a uma oferta comercial, em gráficos especiais de ganho e levantar gráficos. Estes gráficos mostram como o modelo executa dividindo seus resultados em decis ou partes menores.

Porque você pode estar interessado apenas nos consumidores que são mais propensos a responder a sua oferta, ordenando previsões do mais para o menos provável que enfatizam o quão bom seus modelos estão em predizer os clientes mais promissores. Estas respostas Quora ajudá-lo a ver como ganho e levantar gráficos trabalho: O que é ROC Curve? e O que há de Elevador Curve?.



Testando vários modelos e introspecção eles também podem fornecer sugestões a respeito de que dispõe para transformar para a criação de recurso, ou que apresentam a deixar de fora quando você faz seleções de recurso.

média de modelos

aprendizado de máquina envolve a construção de muitos modelos e criando muitas previsões diferentes, todos com diferentes performances erro esperado. Talvez você se surpreenda ao saber que você pode obter resultados ainda melhores pela média dos modelos juntos. O princípio é muito simples: variância Estimativa é aleatória, por isso, com média de muitos modelos diferentes, você pode melhorar a sinal e descartar o ruído que, muitas vezes, cancelar si.

Às vezes os resultados de um algoritmo que executa bem, misturado com os resultados de um algoritmo mais simples que não funciona bem, pode criar melhores previsões do que usando um único algoritmo. Não subestime contribuições entregues a partir de modelos mais simples, tais como modelos lineares, quando você média os seus resultados com a saída de algoritmos mais sofisticados, tais como gradiente de reforço.

empilhamento modelos

Pelas mesmas razões que as obras em média, empilhamento pode também fornecer-lhe um melhor desempenho. Em empilhamento, você constrói seus modelos de aprendizagem de máquina em duas etapas. Inicialmente esta técnica prevê vários resultados usando diferentes algoritmos, com todos eles aprender com as características presentes em seus dados. Durante a segunda fase, em vez de fornecer recursos que um novo modelo vai aprender, você fornece esse modelo com as previsões dos outros modelos, previamente treinados.

Usando uma abordagem em duas fases é justificada quando supondo funções alvo complexos. Você pode aproximar-los apenas usando vários modelos juntos e, em seguida, combinando o resultado da multiplicação de uma forma inteligente. Você pode usar uma regressão logística simples ou um conjunto de árvore complexo como um modelo de segunda fase.

A competição Netflix fornece evidências e uma ilustração detalhada sobre como modelos heterogêneos podem ser empilhados para formar modelos mais poderosos. No entanto, implementar esta solução como um aplicativo de trabalho pode ser bastante complicado.

Aplicando engenharia recurso

Se você acredita que o preconceito ainda está afetando o seu modelo, você tem pouca escolha mas para criar novos recursos que melhoram o desempenho do modelo. Cada novo recurso pode fazer adivinhar a resposta alvo mais fácil.

criação recurso automático é possível usando expansão polinomial ou máquinas de vetores de suporte classe de algoritmos de aprendizado de máquina. máquinas de vetores de suporte pode automaticamente procurar melhores recursos em espaços característica mais dimensões de uma forma que é tanto melhor computacionalmente rápida e memória.

No entanto, nada pode realmente substituir os seus conhecimentos e compreensão do método necessário para resolver o problema de dados que o algoritmo está tentando aprender. Você pode criar recursos com base no seu conhecimento e ideias de como as coisas funcionam no mundo. Os seres humanos ainda são imbatíveis em fazê-lo, e as máquinas não podem facilmente substituí-los.

Selecionando recursos e exemplos

Se estimativa de variância é alta e seu algoritmo está contando com muitos recursos, é preciso podar alguns recursos para obter melhores resultados. Neste contexto, a redução do número de recursos em sua matriz de dados, escolhendo aqueles com o maior valor preditivo é aconselhável.

Video: Aprendizado De Máquina E Redes Neurais

Ao trabalhar com modelos lineares, máquinas de vetor de suporte lineares ou redes neurais, a regularização é sempre uma opção. Ambos L1 e L2 pode reduzir a influência de variáveis ​​redundantes ou até mesmo removê-los a partir do modelo. seleção de Estabilidade aproveita a capacidade L1 para excluir variáveis ​​menos úteis. A técnica resamples os dados de treinamento para confirmar a exclusão.

Você pode aprender mais sobre a seleção estabilidade visualizando o exemplo na Scikit-learn website. Além disso, você pode praticar usando o RandomizedLogisticRegression e RandomizedLasso scikit-learn funções no módulo linear_model.

À procura de mais dados

Depois de tentar todas as sugestões anteriores, você ainda pode ter uma alta variância das previsões para lidar com eles. Neste caso, sua única opção é para aumentar o seu tamanho do conjunto de treinamento. Tente aumentar a sua amostra, fornecendo novos dados, o que pode traduzir-se em novos casos ou novos recursos.

Se você quiser adicionar mais casos, basta olhar para ver se você tem dados semelhantes na mão. Se você quiser adicionar novos recursos, localize uma fonte de dados de fonte aberta, se possível, para combinar os dados com suas entradas. Outra ótima maneira de obter os dois novos casos e novas funcionalidades é raspando os dados a partir da web. Muitas vezes, os dados está disponível entre as diferentes fontes ou através de uma interface de programação de aplicações (API). Por exemplo, Google APIs oferecem muitas fontes de informação geográfica e de negócios.


Publicações relacionadas