Evitando amostra de polarização e de fuga armadilhas na aprendizagem máquina

A abordagem de validação para a aprendizagem de máquina é um exame de um possível remédio para viés na amostragem. Na amostragem viés pode acontecer com seus dados antes de aprendizagem de máquina é colocado em ação, e que provoca grande variação das estimativas seguintes. Além disso, você deve estar ciente das armadilhas de fuga que podem ocorrer quando algumas informações do fora-de-amostra passa a dados dentro da amostra. Este problema pode surgir quando você preparar os dados ou depois de seu modelo de aprendizagem máquina está pronta e funcionando.

O remédio, que é chamado ensembling de preditores, funciona perfeitamente quando a sua amostra de treinamento não é completamente distorcida e sua distribuição é diferente do out-of-sample, mas não de maneira irremediável, como quando todas as suas classes estão presentes, mas não na proporção direita (como um exemplo). Nesses casos, os resultados são afetados por uma certa variância das estimativas que você pode possivelmente estabilizar em uma das várias maneiras: por reamostragem, como em bootstrapping- por subamostragem (tomando uma amostra da amostra) - ou usando amostras menores ( que aumenta a polarização).

Para entender como ensembling funciona de forma tão eficaz, visualize a imagem de um olho de boi. Se a sua amostra está afetando as previsões, algumas previsões será exata e os outros vão estar errado de uma forma aleatória. Se você mudar de amostra, as previsões certas continuará sendo certo, mas os errados vai começar a ser variações entre valores diferentes. Alguns valores será a previsão exato que você está procurando outros para- só vai oscilar em torno do direito um.

Ao comparar os resultados, você pode adivinhar que o que é recorrente é a resposta certa. Você também pode tirar uma média das respostas e acho que a resposta certa deve estar no meio dos valores. Com o jogo olho de boi, você pode visualizar sobrepondo fotos de jogos diferentes: Se o problema é variância, finalmente, você vai acho que o alvo está na área mais frequentemente atingido ou pelo menos no centro de todos os tiros.

Na maioria dos casos, essa abordagem provou ser correta e melhora suas máquinas previsões de aprendizagem muito. Quando o problema é preconceito e não variância, utilizando ensembling realmente não causar danos a menos que você subamostra muito poucas amostras. Uma boa regra de ouro para subsampling é tomar uma amostra de 70 a 90 por cento em comparação com os dados originais dentro da amostra. Se você quiser fazer o trabalho ensembling, você deve fazer o seguinte:

  • Iterar um grande número de vezes através de seus dados e modelos (a partir de apenas um mínimo de três iterações para idealmente centenas de vezes deles).
  • Toda vez que você iterar, subamostra (ou então de bootstrap) seus dados na amostra.
  • Use máquina de aprendizagem para o modelo com os dados reamostrados, e prever os resultados fora de amostra. Armazenar esses resultados afastado para uso posterior.
  • No final das iterações, para cada caso out-of-sample você quer prever, tomar todas as suas previsões e média-los se você estiver fazendo uma regressão. Tome a classe mais frequente se você estiver fazendo uma classificação.


armadilhas de fuga pode surpreendê-lo, porque eles podem vir a ser uma fonte desconhecida e sem serem detectados problemas com seus processos de aprendizado de máquina. O problema está bisbilhotando, ou não observar os dados out-of-sample muito e se adaptar a ela muitas vezes. Em suma, espionagem é uma espécie de overfitting - e não apenas sobre os dados de treinamento, mas também sobre os dados de teste, tornando o problema em si overfitting mais difícil de detectar até chegar novos dados.

Normalmente, você percebe que o problema está bisbilhotando quando você já aplicou o algoritmo de aprendizado de máquina para o seu negócio ou para um serviço para o público, tornando o problema um problema que todos possam ver.

Você pode evitar espionagem de duas maneiras. Em primeiro lugar, ao operar sobre os dados, tome cuidado para dados de treinamento, validação e teste nitidamente separadas. Além disso, durante o processamento, nunca tomar qualquer informação de validação ou de teste, até mesmo os exemplos mais simples e de aparência inocente. Pior ainda é a aplicação de uma transformação complexa usando todos os dados.

Em finanças, por exemplo, é bem conhecido que calcular a média eo desvio-padrão (que pode realmente dizer muito sobre as condições de mercado e de risco) de todos os dados de treinamento e teste pode vazar informações preciosas sobre seus modelos. Quando o vazamento acontece, algoritmos de aprendizado de máquina realizar previsões sobre o conjunto de teste em vez dos dados de fora da amostra dos mercados, o que significa que eles não funcionam em todos, causando uma perda de dinheiro.

Verifique o desempenho de seus exemplos de fora da amostra. Na verdade, você pode trazer de volta algumas informações de seu snooping nos resultados do teste para ajudar a determinar que certos parâmetros são melhores do que os outros, ou levá-lo a escolher algoritmo de aprendizado de uma máquina em vez de outro. Para cada modelo ou parâmetro, aplicar a sua escolha com base em resultados de validação cruzada ou a partir da amostra de validação. Nunca cair para obter tópicos de seus dados fora da amostra, ou você vai se arrepender mais tarde.


Publicações relacionadas