Alguns materiais que eu vi sobre aprendizado de máquina disseram que é uma má idéia abordar um problema de classificação por meio de regressão. Mas acho que sempre é possível fazer uma regressão contínua para ajustar os dados e truncar a previsão contínua para produzir classificações discretas. Então, por que é uma má ideia?
51
Respostas:
".. abordagem do problema de classificação através de regressão .." por "regressão" Assumirei que você quer dizer regressão linear e compararei essa abordagem com a abordagem de "classificação" de ajustar um modelo de regressão logística.
Antes de fazer isso, é importante esclarecer a distinção entre modelos de regressão e classificação. Os modelos de regressão preveem uma variável contínua, como quantidade de chuva ou intensidade da luz solar. Eles também podem prever probabilidades, como a probabilidade de uma imagem conter um gato. Um modelo de regressão de previsão de probabilidade pode ser usado como parte de um classificador impondo uma regra de decisão - por exemplo, se a probabilidade for 50% ou mais, decida que é um gato.
A regressão logística prediz probabilidades e, portanto, é um algoritmo de regressão. No entanto, é comumente descrito como um método de classificação na literatura de aprendizado de máquina, porque pode ser (e geralmente é) usado para fazer classificadores. Também existem algoritmos de classificação "verdadeiros", como o SVM, que apenas prevêem um resultado e não fornecem uma probabilidade. Não discutiremos esse tipo de algoritmo aqui.
Regressão linear versus regressão logística em problemas de classificação
Como Andrew Ng explica , com regressão linear você ajusta um polinômio através dos dados - digamos, como no exemplo abaixo, estamos ajustando uma linha reta no conjunto de amostras {tamanho do tumor, tipo de tumor} :
Acima, os tumores malignos obtêm e os não-malignos obtêm , e a linha verde é a nossa hipótese . Para fazer previsões, podemos dizer que, para qualquer tamanho de tumor , se for maior que , predizemos tumor maligno; caso contrário, predizemos benigno.1 0 h(x) x h(x) 0.5
Parece que dessa maneira poderíamos prever corretamente cada amostra de conjunto de treinamento, mas agora vamos mudar um pouco a tarefa.
Intuitivamente, está claro que todos os tumores maiores que um determinado limiar são malignos. Então, vamos adicionar outra amostra com um tamanho enorme de tumor e executar a regressão linear novamente:
Agora nosso não funciona mais. Para continuar fazendo previsões corretas, precisamos alterá-lo para ou algo assim - mas não é assim que o algoritmo deve funcionar.h(x)>0.5→malignant h(x)>0.2
Não podemos mudar a hipótese cada vez que uma nova amostra chega. Em vez disso, devemos aprender com os dados do conjunto de treinamento e, em seguida (usando a hipótese que aprendemos), fazer previsões corretas para os dados que não vimos antes.
Espero que isso explique por que a regressão linear não é a melhor opção para problemas de classificação! Além disso, você pode querer assistir ao VI. Regressão logística. Vídeo de classificação em ml-class.org, que explica a ideia em mais detalhes.
EDITAR
O probabilityislogic perguntou o que um bom classificador faria. Neste exemplo em particular, você provavelmente usaria regressão logística que pode aprender uma hipótese como esta (apenas estou inventando isso):
Observe que a regressão linear e a regressão logística fornecem uma linha reta (ou um polinômio de ordem superior), mas essas linhas têm um significado diferente:
Portanto, a conclusão é que, no cenário de classificação, usamos um raciocínio completamente diferente e um algoritmo completamente diferente do que no cenário de regressão.
fonte
Não consigo pensar em um exemplo em que a classificação seja realmente o objetivo final. Quase sempre o objetivo real é fazer previsões precisas, por exemplo, de probabilidades. Nesse espírito, a regressão (logística) é sua amiga.
fonte
Por que não olhar para algumas evidências? Embora muitos argumentem que a regressão linear não é adequada para classificação, ela ainda pode funcionar. Para ganhar alguma intuição, incluí a regressão linear (usada como classificador) na comparação de classificadores do scikit-learn . Aqui está o que acontece:
O limite de decisão é mais estreito do que com os outros classificadores, mas a precisão é a mesma. Assim como o classificador de vetor de suporte linear, o modelo de regressão fornece um hiperplano que separa as classes no espaço de recurso.
Como vemos, o uso da regressão linear como classificador pode funcionar, mas como sempre, eu validaria cruzadamente as previsões.
Para o registro, é assim que meu código classificador se parece:
fonte
Além disso, para expandir as respostas já boas, para qualquer tarefa de classificação além de uma bivariada, o uso da regressão exigiria impor uma distância e uma ordem entre as classes. Em outras palavras, podemos obter resultados diferentes apenas alterando os rótulos das classes ou alterando a escala dos valores numéricos atribuídos (por exemplo, classes rotuladas como vs ) , que anula o objetivo do problema de classificação.1,10,100,... 1,2,3,...
fonte