O que faz um classificador classificar incorretamente os dados? [fechadas]

9

Poderia ser a partir dos próprios dados? Ou é porque o modelo não pode detectar com eficiência as semelhanças entre os dados ou existem outras razões para classificar incorretamente?

Sofia693
fonte
13
Na minha opinião, a questão é muito vaga. Existe algum problema em particular?
Jpmuc # 23/17
1
Conforme escrito, isso pode ser lido como "classificar incorretamente [qualquer] dado". Nesse caso, pode ocorrer mesmo que o modelo seja um reflexo perfeito do processo de geração de dados, desde que o DGP seja estocástico / não determinístico. Ou seja, é de se esperar algum grau de classificação incorreta devido à existência de ruído.
gung - Restabelece Monica
@gung não é simplesmente excessivo?
theGD
3
@theGD, você pode ter um classificador perfeito que classifique incorretamente alguns dados, se o processo não for determinístico. É assim que as coisas são.
gung - Restabelece Monica

Respostas:

19

Vamos supor que você esteja falando de má classificação nos dados de treinamento, ou seja, difícil minimizar a perda no conjunto de dados de treinamento, sem problemas de excesso de dados de teste envolvidos.

Você está certo de que, na maioria dos casos, a classificação incorreta pode vir de "o modelo é muito simples" ou "os dados são muito ruidosos". Eu gostaria de dar dois exemplos para ilustrar melhor.

  1. O modelo é "muito simples" para capturar os "padrões nos dados".

    • O exemplo é mostrado na figura esquerda. Suponha que desejemos usar uma regressão logística / uma linha para separar duas classes, mas as duas classes não são separáveis ​​linearmente.

    • Nesse caso, ainda existem "padrões notáveis ​​nos dados" e, se mudarmos o modelo, podemos melhorar. Por exemplo, se usarmos o classificador KNN, em vez de regressão logística, podemos ter um desempenho muito bom.

  2. Os dados têm muito ruído, é muito difícil executar a tarefa de classificação.

    • O exemplo é mostrado na figura à direita, onde, se você verificar o código, verá duas classes muito semelhantes (duas classes são 2D gaussianas, a média é de , mas o desvio padrão para cada classe é 1,0 ) . É essencialmente uma tarefa muito desafiadora.0,01×21.0

Conjuntos de dados de exemplo, um com duas espirais de malha, um com distribuições gaussianas fortemente sobrepostas

Observe que os dois exemplos são triviais, pois podemos visualizar os dados e o classificador. No mundo real, não é o caso, quando temos milhões de pontos de dados e classificadores super complicados.

Código:

library(mlbench)
set.seed(0)
par(mfrow=c(1,2))
d=mlbench.spirals(500)
plot(d)
lg_fit=glm(d$classes~d$x[,1]+d$x[,2]-1,family=binomial())
abline(0,-lg_fit$coefficients[1]/lg_fit$coefficients[2])

d2=mlbench.2dnormals(500,r=0.01)
plot(d2)
Haitao Du
fonte
você mencionou o KNN, observe que estou falando de classificação e não de agrupamento, ou seja, quando temos dados de treinamento e teste. O que me deixa um pouco confuso é que, por exemplo, se temos dois tipos de dados, o que significa recursos diferentes para cada dado, o que faz com que o classificador classifique incorretamente os dados de teste no processo de teste? Eu acho que isso me leva ao seu segundo exemplo, o que significa que meus dados têm muito ruído e o modelo está com problemas por causa disso, mas vamos supor que resolvemos que, pela seleção de recursos, ainda pode haver ruído lá fora, mesmo após a seleção de recursos?
Sofia693
ou posso pensar em outro motivo pelo qual meus dois tipos de dados estão realmente compartilhando semelhanças em seus recursos e que podem "enganar" o modelo, poderia ser esse o caso de alguma forma?
Sofia693
@ Sofia693 1. KNN NÃO é Kmeans, é um modelo de classificação. 2. Eu realmente não estou seguindo seus comentários.
Haitao Du
Eu quis dizer que, se tivermos dois grupos (por exemplo, 50 pacientes com autismo e 50 indivíduos saudáveis ​​e os dados forem extraídos da ressonância magnética, onde cada sujeito é representado como um vetor de característica), treino um classificador e uso a técnica Leave One Out. Agora, o modelo pode classificar incorretamente o assunto do teste por causa do ruído (como você mencionou no segundo exemplo), mas podemos usar a seleção de recursos para reduzir o ruído, certo? por que o modelo ainda classifica incorretamente o sujeito do teste? ainda pode haver ruído mesmo após a seleção de recursos?
Sofia693 25/05
Minha segunda suposição é que os dois grupos estão realmente compartilhando semelhanças em seus vetores de recursos, de modo que o modelo está realmente lutando para atribuir o assunto do teste a um dos grupos.
Sofia693
11

Além de @ hxd1011 (+1).

  1. Desequilíbrio de classe em termos relativos ou termos absolutos. Nos dois casos, construímos uma representação inadequada da classe de interesse. Normalmente, o mais tarde é mais difícil de superar. (Referência de exemplo: Aprendendo com dados desequilibrados por He e Garcia)
  2. Critérios de classificação inadequados. Treinamos nosso classificador usando uma função de avaliação inadequada e / ou usamos critérios inadequados para derivar nossa solução final. Problema muito comum ao usar "soluções em lata". (Exemplo de referência: danos causados ​​pela precisão da classificação e outras regras de pontuação de precisão inadequada descontínua por Harrell)
  3. Não há aula na realidade. Desejamos que haja algo lá, mas realmente não há nada. Geralmente, a experiência em domínio afasta as pessoas disso, mas como um recém-chegado, isso sempre é um problema. (Exemplo de referência: Nossa vida diária. Viés de publicação provavelmente também é um problema aqui ...)
  4. Sobreajuste. Temos um modelo decente e um conjunto de dados decente, mas falhamos em treinar a construção apropriada de um modelo irrealista. Geralmente, isso se refere ao ponto 2. (Pontos extras para adaptação insuficiente!) (Referência de exemplo: The Problem of Overfitting by Hawkings)
  5. Deriva do conceito. As coisas mudam e nós não treinamos novamente. Nosso classificador tem excelente desempenho em nossa amostra de marketing "Vendas de Natal" - sim, usar este modelo em julho provavelmente será uma dor ... (Referência de exemplo: Uma pesquisa sobre adaptação de deriva de conceito de Gama et al.)
  6. Vazamento de dados / recursos mágicos. Treinamos a partir de informações que não estarão disponíveis no momento da previsão. Comum quando há dados de eventos / séries temporais. (Exemplo de referência: vazamento na mineração de dados: formulação, detecção e prevenção por Kaufman et al.)
usεr11852
fonte
1
Eu não entendo o ponto 3. A pergunta assume alguma noção de "classe" para ter um classificador que está classificando incorretamente alguns dados. Você quer dizer que a rotulagem é inconsistente (a "classe" está mal definida)? Ou que os recursos não contêm nenhuma informação relevante para a tarefa de classificação?
Charles Staats
@CharlesStaats: "os recursos não contêm nenhuma informação relevante para a tarefa de classificação" é uma falha do segundo tipo, "critérios de classificação inadequados".
MSalters
Você acha que etiquetas ruins cairiam em 2 ou merecem uma entrada separada?
Jonas
@CharlesStaats: Assumir " alguma noção de classe " não significa que ela realmente exista e / ou se pode ser suportada pelos dados disponíveis. É por isso que a experiência no domínio é extremamente útil nesses casos; isso nos ajuda a distinguir entre um "problema real" e a tentativa de "ajustar o ruído". Há casos em que os rótulos refletem uma hipótese (por exemplo, potencial para desenvolver uma doença causada por uma mutação aleatória) em vez de uma noção mensurável (por exemplo, o paciente tem a doença causada por uma mutação aleatória).
usεr11852
@ Jonas: Este é um bom ponto; Penso que a rotulagem incorreta deve ser uma entrada separada. Pode ser potencialmente associado ao ponto sobre "os dados são muito barulhentos", levantados pelo hxd1011.
usεr11852