Mantendo soluções equilibradas para a aprendizagem de máquina

Para criar grandes soluções, modelos de aprendizagem de máquina trade-off entre a simplicidade (o que implica um viés superior) e complexidade (gerando uma variação maior de estimativas). Se você pretende obter o melhor desempenho preditivo, você precisa fazer para encontrar uma solução no meio por compreender o que funciona melhor, o que você faz usando tentativa e erro em seus dados.

Como os dados é o que dita a solução mais adequada para o problema de previsão, você não tem nem uma panaceia nem uma solução recorrente fácil para resolver todos os seus dilemas de aprendizagem de máquina.

Um teorema comumente referido no folclore matemática é a no-free-almoço teorema por David Wolpert e William Macready, que afirma que “todos os dois algoritmos de otimização são equivalentes quando seu desempenho é média de todos os problemas possíveis.” Se os algoritmos são equivalentes em abstrato, ninguém é superior ao outro salvo prova em um específico, problema prático. (Veja esta discussão para mais detalhes sobre não-livre-almoço teoremas- dois deles são realmente utilizados para aprendizagem de máquina).

Em particular, em seu artigo “A falta da priori distinções entre Algoritmos de aprendizagem,”Wolpert discutido o fato de que não existem a priori distinções entre algoritmos, não importa quão simples ou complexo que são. Dados dita o que funciona e como ele funciona bem. No final, você não pode sempre contar com um algoritmo de aprendizado de máquina única, mas você tem que testar muitos e encontrar o melhor um para o seu problema.

Além de ser levado para a experimentação de aprendizagem de máquina pelo princípio de try-tudo do teorema de não-livre-almoço, você tem outra regra de ouro a considerar: navalha de Occam, que é atribuída a William de Occam, um filósofo escolástico e teólogo que viveu no século XIV.

princípio de barbear da Occam afirma que as teorias devem ser reduzir ao mínimo a fim de representar de forma plausível a verdade (daí a navalha). O princípio não indica que as soluções mais simples são melhores, mas que, entre uma solução simples e uma solução mais complexa, oferecendo o mesmo resultado, a solução mais simples é sempre preferível. O princípio é para os próprios fundamentos da nossa metodologia científica moderna, e até mesmo Albert Einstein parece ter muitas vezes referido a ele, afirmando que “tudo deve ser tão simples quanto possível, mas não mais simples.”Resumindo as evidências até agora:

  • Para obter a melhor solução de aprendizagem de máquina, tente tudo o que puder sobre seus dados e representam o desempenho dos seus dados com curvas de aprendizagem.
  • Comece com modelos mais simples, tais como modelos lineares, e sempre preferem uma solução mais simples quando ele executa tão bem como uma solução complexa. Você beneficiar da escolha quando se trabalha em dados out-of-sample do mundo real.
  • Sempre verifique o desempenho da sua solução usando exemplos fora de amostra.

Representando as curvas de aprendizagem



Para visualizar o grau em que um algoritmo de aprendizado de máquina está sofrendo de preconceitos ou variância em relação a um problema de dados, você pode tirar vantagem de um tipo de gráfico chamado curva de aprendizado. aprender curvas são telas em que você traça o desempenho de um ou mais algoritmos de aprendizado de máquina com relação à quantidade de dados que eles usam para o treinamento. Os valores representados em gráfico são as medições de erro de predição, e a métrica é medida tanto como em-amostra e desempenho validadas ou para fora da amostra.

Se o gráfico mostra o desempenho no que diz respeito à quantidade de dados, que é um gráfico de curva de aprendizagem. Quando se apresenta desempenho com relação a diferentes hiper-parâmetros ou um conjunto de características aprendidas escolhidos pelo modelo, é uma curva gráfico de validação em seu lugar. Para criar um gráfico de curva de aprendizagem, você deve fazer o seguinte:

  • Divida seus dados em dentro da amostra e conjuntos fora da amostra (uma fração de trem / teste de 70/30 funciona bem, ou você pode usar validação cruzada).
  • Criar partes de seus dados de treino de tamanho crescente. Dependendo do tamanho dos dados que você tem disponível para treinamento, você pode usar 10 porções por cento ou, se você tem um monte de dados, cresce o número de exemplos em uma escala de energia, como 103, 104, 105 e assim por diante.
  • modelos de comboios nas diferentes subconjuntos de dados. Testar e gravar seu desempenho no mesmo dados de treinamento e no set out-of-sample.
  • Traçar os resultados gravados em duas curvas, uma para os resultados dentro da amostra e outro para os resultados fora de amostra. Se em vez de uma fração de trem / teste que utilizou validação cruzada, você também pode estabelecer limites que expressam a estabilidade do resultado em várias validações (intervalos de confiança), com base no desvio padrão dos próprios resultados.
curvas de aprendizagem afftected pelo viés
Exemplos de curvas de aprendizagem afetadas pelo viés (esquerda) e variância (direita).

Idealmente, você deve obter duas curvas com diferentes pontos de erro de partida: maior para o out-of-sample- inferior para a amostra em. À medida que o tamanho do conjunto de aumentos de treinamento, a diferença no espaço entre os dois deve reduzir, até que, em um certo número de observações, tornam-se perto de um valor de erro comum.

Visivelmente, depois de imprimir seu gráfico, os problemas surgem quando

  • As duas curvas tendem a convergir, mas você não pode ver no gráfico que eles ficam próximos uns dos outros, porque você tem muito poucos exemplos. Esta situação dá-lhe um forte indício para aumentar o tamanho de seu conjunto de dados, se você quer aprender com sucesso com o algoritmo de aprendizado de máquina testado.
  • O ponto de convergência final entre as duas curvas tem um erro de alta, assim, consequentemente o seu algoritmo tem muito preconceito. Adicionando mais exemplos aqui não ajuda, porque você tem uma convergência com a quantidade de dados que você tem. Você deve aumentar o número de recursos ou utilizar um algoritmo de aprendizado mais complexo como uma solução.
  • As duas curvas não tendem a convergir porque a curva de out-of-sample começa a se comportar de forma irregular. Tal situação é claramente um sinal de alta variância das estimativas, que você pode reduzir, aumentando o número de exemplos (a um certo número, o erro out-of-sample vai começar a diminuir de novo), reduzindo o número de recursos, ou, às vezes, apenas a fixação de alguns parâmetros-chave do algoritmo de aprendizagem.

R não fornecer uma implementação de curvas de aprendizagem (de modo que você precisa programar uma de sua preferência). Python fornece curvas de aprendizagem como parte do Scikit-learn pacote utilizando a função learning_curve que prepara todos os cálculos para você.


Publicações relacionadas