Vazamento de dados (aprendizagem de máquina)
Em estatística e aprendizado de máquina, vazamento (do inglês leakage, também conhecido como vazamento de dados ou vazamento de alvo) é o uso de informações no processo de treinamento do modelo que não se esperaria que estivessem disponíveis no momento da previsão, fazendo com que as pontuações das predições (métricas) superestimem a utilidade que o modelo teria ao ser executado em um ambiente de produção.[1]
O vazamento geralmente é sutil e indireto, dificultando a detecção e eliminação. O vazamento pode fazer com que um estatístico ou modelador selecione um modelo abaixo do ideal, que pode ser superado por um modelo sem vazamento.[1]
Modos de vazamento
[editar | editar código-fonte]O vazamento pode ocorrer em muitas etapas do processo de aprendizado de máquina. As causas de vazamento podem ser subclassificadas em duas possíveis fontes de vazamento para um modelo: as características e os exemplos de treinamento.[1]
Vazamento de características
[editar | editar código-fonte]O vazamento de características ou por colunas é causado pela inclusão de colunas que são uma das seguintes: uma duplicação do rótulo, um proxy para o rótulo ou o próprio rótulo. Essas características, conhecidas como anacronismos, não estarão disponíveis quando o modelo for usado para previsões e resultarão em vazamento se incluídos quando o modelo for treinado.[2]
Por exemplo, incluindo uma coluna "SalárioMensal" ao prever "SalárioAnual"; ou "MinutosDeAtraso" ao prever "EstáAtrasado"; ou mais sutilmente "NúmeroDePagamentosAtrasados" ao prever "DeveriaFornecerEmpréstimo".
Vazamento de exemplos de treinamento
[editar | editar código-fonte]O vazamento por linhas é causado pelo compartilhamento inadequado de informações entre linhas de dados. Os tipos de vazamento por linha incluem:
- Construção prematura de características; vazamento por construção de características prematuramente antes da divisão de CV/Treino/Teste (deve-se ajustar MinMax/ngrams/etc apenas na divisão de treino, e depois transformar o conjunto de teste)
- Duplicar linhas entre treino/validação/teste (por exemplo, ao fazer a sobreamostragem de um conjunto de dados para ampliar seu tamanho antes da divisão; por exemplo, diferentes rotações/aumentações de uma única imagem; amostragem por bootstrap antes da divisão; ou duplicação de linhas para ampliar as amostras da classe minoritária)
- Dados não independentes e identicamente distribuídos
- Vazamento temporal (por exemplo, dividir um conjunto de dados de série temporal aleatoriamente em vez de colocar os dados mais recentes no conjunto de teste em uma divisão de treino e teste ou validação cruzada com origem deslizante)
- Vazamento de grupo -- não incluindo uma coluna de divisão de agrupamento (por exemplo, o grupo de Andrew Ng fez 100 mil radiografias de 30 mil pacientes, o que significa ~3 imagens por paciente. O jornal usou divisão aleatória em vez de garantir que todas as imagens de um paciente estivessem na mesma divisão. Assim, o modelo memorizou parcialmente os pacientes em vez de aprender a reconhecer pneumonia em radiografias de tórax.[3][4])
Para conjuntos de dados dependentes do tempo, a estrutura do sistema em estudo evolui ao longo do tempo (ou seja, é "não estacionário"). Isso pode introduzir diferenças sistemáticas entre os conjuntos de treinamento e validação. Por exemplo, se um modelo para prever o valores de ações for treinado em dados para um determinado período de cinco anos, não é realista tratar o período de cinco anos subsequente como uma amostra da mesma população. Como outro exemplo, suponha que um modelo seja desenvolvido para prever o risco de um indivíduo ser diagnosticado com uma determinada doença no próximo ano.
Ver também
[editar | editar código-fonte]- AutoML
- Validação cruzada
- Sobreajuste
- Reamostragem (estatística)
- Aprendizado supervisionado
- Conjuntos de treinamento, validação e teste
Referências
- ↑ a b c Shachar Kaufman; Saharon Rosset; Claudia Perlich (janeiro de 2011). «Leakage in Data Mining: Formulation, Detection, and Avoidance». Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 6: 556–563. doi:10.1145/2020408.2020496. Consultado em 13 de janeiro de 2020
- ↑ Soumen Chakrabarti (2008). «9». Data Mining: Know it All. [S.l.]: Morgan Kaufmann Publishers. ISBN 978-0-12-374629-0
- ↑ Guts, Yuriy (30 de outubro de 2018). Yuriy Guts. TARGET LEAKAGE IN MACHINE LEARNING (Talk). AI Ukraine Conference. Ukraine – via YouTube
- ↑ Nick, Roberts (16 de novembro de 2017). «Replying to @AndrewYNg @pranavrajpurkar and 2 others». Brooklyn, NY, USA: Twitter. Consultado em 13 de janeiro de 2020. Arquivado do original em 10 de junho de 2018