capítulos anteriores
15. Avaliação simultânea de várias idéias durante a análise de erros
Sua equipe tem algumas idéias sobre como melhorar o identificador de gato em seu aplicativo:
- Resolva o problema que seu algoritmo atribui cães a gatos
- Resolva o problema com o fato de seu algoritmo reconhecer grandes gatos selvagens (leões, panteras etc.) como domésticos
- Melhorar o desempenho do sistema em imagens difusas
- ...
Você pode apreciar todas essas idéias ao mesmo tempo. Geralmente, crio uma tabela especial e a preenchei em cerca de 100 casos de classificação incorreta da amostra de validação (dev). Também faço breves comentários que podem me ajudar a relembrar exemplos específicos depois. Para ilustrar esse processo, vejamos uma tabela dinâmica que você pode criar a partir de um pequeno conjunto de exemplos de sua amostra de validação (dev)
Imagem | Cães | Gatos grandes | Difusa | Comentários |
---|
1 | x | | | Pit bull incomum |
2 | | | | |
3 | | x | x | Leo foto tirada no zoológico em um dia chuvoso |
4 | | x | | Pantera atrás de uma árvore |
Compartilhar (%) | 25% | 50% | 50% | |
A imagem 3 da tabela se aplica a felinos grandes e felpudos. Assim, devido ao fato de podermos atribuir uma imagem a várias categorias de erros, as porcentagens totais na linha inferior não se limitam a 100%.
Apesar de, no início do trabalho, você poder criar um determinado conjunto de categorias para erros (Cães, Grandes felinos, Imagens difusas) no processo de classificação manual de erros de classificação nessas categorias, você pode optar por adicionar novos tipos de erros. Por exemplo, suponha que você tenha visto uma dúzia de imagens e tenha decidido que muitos erros foram cometidos pelo classificador nas imagens do Instagram codificadas por cores. Você pode refazer a tabela, adicionar a coluna "Instagram" a ela e reclassificar erros com base nessa categoria. Examinando manualmente os exemplos em que o algoritmo está errado e se perguntando como você, como pessoa, conseguiu marcar corretamente a imagem, você poderá ver novas categorias de erros e, talvez, se inspirar para encontrar novas soluções.
As categorias de erros mais úteis serão aquelas para as quais você tem uma idéia de melhorar o sistema. Por exemplo, adicionar a categoria “Instagram” será mais útil se você tiver uma idéia de como remover filtros e restaurar a imagem original. Mas você não deve se limitar apenas às categorias de erros para as quais você tem uma receita para eliminá-los; O objetivo do processo de análise de erros é desenvolver sua intuição ao escolher as áreas de foco mais promissoras.
A análise de erros é um processo iterativo. Não se preocupe se você o iniciar sem criar uma única categoria. Depois de visualizar algumas imagens, você terá várias idéias para categorizar erros. Depois de categorizar manualmente várias imagens, convém adicionar novas categorias e revisar os erros de classificação à luz das categorias recém-adicionadas, etc.
Suponha que você tenha concluído uma análise de erro de 100 exemplos de amostras de validação classificados erroneamente e obtido o seguinte:
Imagem | Cães | Gatos grandes | Difusa | Comentários |
---|
1 | X | | | Pit bull incomum |
2 | | | X | |
3 | | X | X | Leo foto tirada no zoológico em um dia chuvoso |
4 | | X | | Pantera atrás de uma árvore |
... | ... | ... | ... | ... |
Compartilhar (%) | 8% | 43% | 61% | |
Agora você sabe que trabalhar em um projeto para eliminar a classificação errônea de cães como gatos eliminará, na melhor das hipóteses, 8% dos erros. Trabalhar em grandes felinos ou em imagens difusas ajudará a eliminar um número significativamente maior de erros. Portanto, você pode escolher uma dessas duas categorias e focar nelas. Se sua equipe tem pessoas suficientes para trabalhar em várias áreas ao mesmo tempo, você pode pedir a vários engenheiros para lidar com grandes felinos, concentrando o restante dos esforços em imagens difusas.
A análise de erros não fornece uma fórmula matemática rigorosa que informa a qual tarefa você precisa atribuir a maior prioridade. Você também deve correlacionar o progresso obtido com o trabalho nas várias categorias de erros e o esforço que precisa ser gasto nesse trabalho.
16. Limpando amostras de validação e teste de exemplos incorretamente rotulados
Ao analisar erros, você pode observar que alguns exemplos em sua amostra de validação estão incorretamente rotulados (atribuídos à classe errada). Quando digo "rotulado incorretamente", quero dizer que as imagens já foram classificadas incorretamente quando foram marcadas por uma pessoa antes que o algoritmo detectasse isso. Ou seja, ao marcar o exemplo (x, y) para y, o valor incorreto foi indicado. Por exemplo, suponha que algumas imagens nas quais não existem gatos sejam erroneamente rotuladas como contendo gatos e vice-versa. Se você suspeitar que a porcentagem de exemplos erroneamente rotulados é significativa, adicione a categoria apropriada para rastrear os exemplos incorretamente rotulados:
Imagem | Cães | Gatos grandes | Difusa | Erro de marcação | Comentários |
---|
... | ... | ... | ... | ... | ... |
98 | | | | X | Rotulado erroneamente como tendo um gato em segundo plano |
99 | | X | | | |
100 | | | | X | Gato pintado (não é real) |
Compartilhar (%) | 8% | 43% | 61% | 6% | |
Você precisa corrigir dados marcados incorretos em sua amostra de validação? Deixe-me lembrá-lo de que a tarefa de usar uma amostra de validação é ajudá-lo a avaliar rapidamente os algoritmos para que você possa decidir se o algoritmo A é melhor que B. Se a proporção de uma amostra de validação rotulada incorretamente o impedir de fazer tal julgamento, faz sentido gastar tempo correção de erros na marcação da amostra de validação.
Por exemplo, imagine que a precisão que seu classificador mostra é a seguinte:
- A precisão geral da amostra de validação .............. 90% (erro total de 10%)
- Erro associado a erros de marcação …………… ..0.6% (6% do erro total na amostra de validação)
- Erro devido a outros motivos .............. 9,4% (94% do erro total na amostra de validação)
Aqui, um erro de 0,6% devido a rotulagem incorreta pode não ser significativo o suficiente em relação a um erro de 9,4% que você pode melhorar. A correção manual dos erros de marcação da amostra de validação não será supérflua, mas sua correção não é crítica, pois não importa se o erro total real do seu sistema é 9,4% ou 10%
Suponha que você esteja melhorando seu classificador felino e tenha alcançado as seguintes métricas de precisão:
- A precisão geral da amostra de validação ............. .98% (erro total de 2%)
- Erro associado a erros de marcação …………… ..0.6% (30% do erro total na amostra de validação)
- Erro devido a outros motivos .............. 1,4% (70% do erro total na amostra de validação)
30% do seu erro é devido à marcação incorreta das imagens da amostra de validação; esse compartilhamento contribui significativamente para o erro geral na avaliação da precisão do seu sistema. Nesse caso, vale a pena melhorar a marcação da amostra de validação. A eliminação de exemplos rotulados incorretamente ajudará você a descobrir onde os erros do classificador estão mais próximos de 1,4% ou 2%. Existe uma diferença relativa significativa entre 1,4 e 2.
Não é incomum que imagens etiquetadas incorretamente de uma amostra de validação ou teste só atraiam sua atenção depois que o sistema melhorar tanto que a taxa de erro associada a exemplos incorretos aumentará em relação ao erro total nessas amostras.
O próximo capítulo explica como você pode melhorar as categorias de erro, como Cães, Grandes felinos e Fuzzy, enquanto trabalha na melhoria de algoritmos. Neste capítulo, você aprendeu que pode reduzir o erro associado à categoria "Erros de layout" e melhorar a qualidade melhorando a marcação de dados.
Independentemente de qual abordagem você usa para marcar a amostra de validação, não se esqueça de aplicá-la ao layout da amostra de teste, para que suas amostras de validação e teste tenham a mesma distribuição. Aplicando a mesma abordagem para validação e amostras de teste, você evitará o problema discutido no Capítulo 6 quando sua equipe otimizar a qualidade do algoritmo na amostra de validação e depois perceber que essa qualidade foi avaliada com base em uma amostra diferente da amostra de teste de validação.
Se você decidir melhorar sua marcação, considere a verificação dupla. Verifique a marcação dos exemplos classificados incorretamente pelo sistema e a marcação dos exemplos classificados corretamente. É possível que a marcação inicial e o algoritmo de aprendizado estejam incorretos no mesmo exemplo. Se você corrigir apenas a marcação daqueles exemplos nos quais seu sistema cometeu um erro na classificação, poderá introduzir um erro sistemático em sua avaliação. Se você pegar 1000 exemplos de amostras de validação e se o seu classificador mostrar uma precisão de 98,0%, será mais fácil verificar 20 exemplos que foram classificados incorretamente do que 980 exemplos classificados corretamente. Devido ao fato de que, na prática, é mais fácil verificar apenas exemplos classificados incorretamente, em alguns casos, um erro sistemático pode se infiltrar nas amostras de validação. Esse erro é permitido se você estiver interessado apenas no desenvolvimento de aplicativos, mas será um problema se você planeja usar o resultado em um artigo de pesquisa acadêmica ou precisa de medições da precisão do algoritmo em uma amostra de teste completamente livre de erros sistemáticos.
17. Se você tiver uma amostra grande de validação, divida-a em duas subamostras e considere apenas uma delas.
Suponha que você tenha uma grande amostra de validação composta por 5000 exemplos nos quais a taxa de erro é de 20%. Portanto, seu algoritmo não classifica corretamente cerca de 1000 imagens de validação. A avaliação manual de 1000 imagens levará muito tempo, portanto, podemos decidir não usá-las para fins de análise de erros.
Nesse caso, eu definitivamente dividiria a amostra de validação em duas subamostras, uma das quais você observará e a outra não. É provável que você treine novamente a parte que analisará manualmente. Você pode usar a parte que você não usa para análise manual para configurar os parâmetros do modelo.

Vamos continuar nosso exemplo descrito acima, no qual o algoritmo classificou incorretamente 1000 exemplos de 5000 que constituem a amostra de validação. Imagine que você deseja executar 100 erros para análise (10% de todos os erros na amostra de validação). Precisamos selecionar aleatoriamente 10% dos exemplos da amostra de validação e compor a partir deles o “ Eyeball dev set ” ( eyeball dev set ), os nomeamos para que sempre lembremos que estudamos esses exemplos com nossos próprios olhos.
Observação do tradutor: do meu ponto de vista, a definição de "seleção do globo ocular" não soa nada harmoniosa (especialmente do ponto de vista da língua russa). Mas, com todo o respeito a Andrew (e levando em conta que não criei nada melhor), deixarei essa definição
(Para um projeto de reconhecimento de fala no qual você ouvirá clipes de áudio, talvez use algo como "amostra de validação para ouvidos"). Assim, a amostra de validação do globo ocular consiste em 500 exemplos, nos quais deve haver cerca de 100 classificados incorretamente. A segunda subamostra da amostra de validação, que chamaremos de conjunto de desenvolvedores do Blackbox , consistirá em 4.500 exemplos. Você pode usar a “Subamostragem de caixa preta” para avaliar automaticamente a qualidade dos classificadores, medindo sua parcela de erros. Você também pode usar esta subamostra para escolher entre algoritmos ou configurar hiperparâmetros. No entanto, você deve evitar ver exemplos desta subamostra com seus próprios olhos. Usamos o termo "caixa preta" porque usaremos uma subamostra de seu componente como uma "caixa preta"
aprox. tradutor : ou seja, o objeto cuja estrutura não conhecemos
para avaliar a qualidade dos classificadores.

Por que separamos explicitamente a amostra de validação na "subamostra do globo ocular" e na "subamostra da caixa preta"?
Como em algum momento você sentirá (entenderá) cada vez mais os exemplos da “Subamostragem do globo ocular”, a probabilidade de você treinar novamente essa subamostra aumentará. Para controlar a reciclagem, usaremos a "Subamostragem de caixa preta". Se você perceber que a qualidade dos algoritmos na amostra do globo ocular aumenta significativamente mais rapidamente do que a qualidade na amostra da caixa preta, parece que você voltou a treinar no globo ocular. Nesse caso, pode ser necessário descartar o subconjunto existente do globo ocular e criar um novo movendo mais exemplos da Caixa preta para o globo ocular ou utilizando uma nova parte dos dados marcados.
Assim, dividir a amostra de validação em "subamostra do globo ocular" e "subamostra da caixa preta" permite ver o momento em que o processo de análise manual de erros o levará a treinar novamente a subamostra do globo ocular.
18 Qual deve ser o tamanho da amostra do globo ocular e da caixa preta?
Sua amostra do globo ocular deve ser grande o suficiente para você encontrar as principais categorias de erros de classificação para o seu algoritmo. Se você estiver trabalhando em uma tarefa que uma pessoa possa realizar (como reconhecer gatos em imagens), poderá fazer as seguintes recomendações bastante aproximadas:
- Uma amostra de validação do globo ocular que contém 10 erros do seu classificador será considerada muito pequena. Com apenas 10 erros, é muito difícil avaliar com precisão o impacto de várias categorias de erros na qualidade do classificador. Mas se você tem muito poucos dados e não há como adicionar mais exemplos à amostra do globo ocular, ainda é melhor que nada e, em qualquer caso, ajudará a priorizar o trabalho no projeto.
- Se o seu classificador estiver errado cerca de 20 vezes em uma amostra do globo ocular, você poderá fazer estimativas aproximadas das principais fontes de erros.
- Com aproximadamente 50 erros, você terá uma boa idéia das principais fontes de erros do seu classificador.
- Se você tiver cerca de 100 erros, entenderá muito bem de onde vêm os principais erros. Eu conheci pessoas que analisavam manualmente ainda mais erros, às vezes até 500. Por que não, se você tiver dados suficientes.
Suponha que a taxa de erro do seu classificador seja 5%. Para obter com confiança cerca de 100 exemplos marcados incorretamente na amostra do globo ocular, essa amostra deve conter cerca de 2000 exemplos (desde 0,05 * 2000 = 100). Quanto menor a taxa de erro do seu classificador, maior será a amostra do globo ocular para obter uma amostra suficientemente grande de erros para análise.
Se você estiver trabalhando em uma tarefa na qual é difícil para as pessoas classificar corretamente os exemplos, os exercícios para verificar a amostra de validação do globo ocular não serão especialmente úteis, porque é difícil entender por que o algoritmo não conseguiu classificar o exemplo corretamente. Nesse caso, você pode pular a configuração Amostragem do globo ocular. Discutiremos recomendações para esses projetos nos próximos capítulos.
E o que dizer do "Black Box Sampling"? Já mencionamos que, no caso geral, a amostra de validação contém 1000 - 10000 exemplos. Para complementar esta declaração, uma amostra de validação de caixa preta de 1.000 a 10.000 exemplos geralmente (frequentemente) fornece dados suficientes para configurar hiperparâmetros e escolher entre modelos, mas se você usar mais dados para selecionar uma caixa preta, não será pior. Uma seleção de caixa preta de 100 exemplos certamente não é suficiente, mas ainda será útil (melhor que nada).
Se você tiver uma pequena amostra de validação, talvez não haja dados suficientes para separá-la nas amostras do globo ocular e da caixa preta, para que elas sejam grandes o suficiente e possam servir aos fins descritos acima. Nesse caso, você pode ter que usar toda a sua amostra de validação como uma amostra do globo ocular.
Ou seja, você examinará manualmente todos os dados da amostra de validação.
Acredito que selecionar o globo ocular é mais importante do que selecionar a caixa preta (supondo que você esteja trabalhando em um problema em que as pessoas sejam boas em definir classes e verificar exemplos manualmente ajudará você a ter uma idéia dos seus dados). Se você tiver apenas uma seleção do globo ocular disponível, poderá trabalhar na análise de erros, na seleção de modelos e na configuração de hiperparâmetros usando apenas ele. A desvantagem de trabalhar apenas com a seleção do globo ocular é que, nesse caso, o risco de reciclagem do modelo na amostra de validação aumenta.
Se você tiver muitos dados à sua disposição, o tamanho da amostra do globo ocular será determinado principalmente por quanto tempo você pode dedicar à análise manual dos dados. Por exemplo, raramente encontrei alguém que analisasse manualmente mais de 1000 erros.
19 Conclusões: Análise Básica de Erros
- , , ,
- . , — . , .
- , 100 , , . , .
- , , . , , .
- , . , 1000-10000 .
- Se sua amostra de validação não for grande o suficiente para dividi-la em uma amostra do globo ocular e uma em uma caixa preta, basta usar a amostra Validação do globo ocular para analisar manualmente os erros, selecionar modelos e configurar hiperparâmetros.
continuação