Tradução do livro de Andrew Un, Passion for Machine Learning, Capítulos 36 e 37

capítulos anteriores


Treinamento e teste em amostras com distribuição diferente


36. Quando você precisa treinar e testar algoritmos em diferentes distribuições


Os usuários do seu aplicativo para gatos carregaram 10.000 imagens, marcadas por você como imagens com gatos e imagens sem gatos. Você também tem uma grande seleção de 200.000 imagens coletadas online. Como então escolher amostras de treinamento, validação e teste?


Como 10.000 imagens carregadas pelos usuários refletem com precisão a distribuição probabilística real dos dados nos quais seu algoritmo deve funcionar bem, você pode usá-las para validação e amostras de teste. Se você estiver aprendendo um algoritmo de aprendizado profundo que exige muitos dados, poderá usar 200.000 exemplos adicionais da Internet para treiná-lo. Nesse caso, seu treinamento e teste com uma amostra de validação terão uma distribuição de probabilidade diferente. Como isso afetará seu trabalho?


Em vez de mexer na seleção de dados para treinamento, validação e amostras de teste, poderíamos pegar todas as 210.000 de nossas imagens, misturá-las e selecionar dados aleatoriamente para cada amostra. Nesse caso, todas as três amostras conterão dados da mesma distribuição.


Mas sou contra essa abordagem. Devido ao fato de que cerca de 97,6% dos dados (205.000 / 210.000 ± 97,6%) das amostras de validação e teste serão coletados de dados encontrados na Internet (não recebidos dos usuários) e não refletirão a distribuição real na qual é necessário obter alta qualidade. Lembre-se de nossa recomendação para a seleção de amostras de validação e teste:


Escolha amostras de validação e teste que refletem os dados que seu algoritmo receberá após iniciar o aplicativo e no qual ele deve funcionar bem


, , .


: . « », « » « ». . A B, . ( «» , , .) .


. , . , . , , .


, . , , , .


, 10000 , 5000 . 5000 . , 205 000, 5000 , 200 000 , . .


. , , . 20 000 , . 500 000 , . 10 000 10 000 500 000 .


, , , , .


37. ,


, 10 000 . . 20 000 , . 20 000 + 10 000 = 30 000 20 000 , ?


( , ), , . , , 20000 , .


, , . / , 20000 . , , .


, , x -> y, . , - , , , , , .


20000 :


  1. , . , , , . , .
  2. , (, , , . .). , , «» . , , , , . , .

, . , , , « - , . , »


, , , . , , , . «» , , .


( ), , .


, , , . , , , , , . , :


imagem


Esses documentos não contêm nada parecido com gatos. Eles também são completamente diferentes das distribuições de validação e amostras de teste. Não faz sentido incluir esses dados como exemplos negativos. O benefício do primeiro efeito descrito acima será insignificante - é improvável que a rede neural possa extrair qualquer coisa desses dados que o ajude a funcionar melhor nas amostras de validação e teste do seu aplicativo. A inclusão desses dados levará à perda de recursos de computação e, possivelmente, reduzirá a capacidade da rede neural de aproximar funções (em última análise, reduzir seus recursos de reconhecimento).


continuação


All Articles