Construir um classificador multiclasse é melhor que vários binários?

18

Preciso classificar os URLs em categorias. Digamos que eu tenho 15 categorias nas quais planejo zerar cada URL.

Um classificador de 15 vias é melhor? Onde eu tenho 15 rótulos e gero recursos para cada ponto de dados.

Ou construindo 15 classificadores binários, digamos: Filme ou Não Filme, e use os números que eu recebo dessas classificações para construir um corretor, escolher a melhor categoria e melhorar?

madCode
fonte

Respostas:

12

Antes de tudo, você deve se perguntar se o seu problema é de várias etiquetas (ou seja, uma única URL pode pertencer a várias classes) ou não (ou seja, uma única URL pode pertencer a apenas uma classe).

Se for o primeiro, use uma bateria de classificadores binários, porque esta é uma maneira padrão de fazer problemas com vários rótulos.

Nesse último caso, a resposta depende de uma combinação de como os dados são exibidos, qual é o objetivo da sua análise e qual método você está usando - provavelmente você deve apenas tentar os dois e selecionar melhor.
Observe apenas que alguns métodos (como o SVM) não podem realmente fazer a classificação multiclasse por causa de como são definidos e, portanto, usam internamente uma bateria de classificadores binários.


fonte
minha declaração do problema está considerando a suposição anterior @mbq. Eu sei que existem vários rótulos. e sim, como você disse, decidi optar por 15 classificadores binários, mas novamente, preciso classificá-los para escolher uma melhor categoria. Então, vou tentar realizar outra classificação de nível superior usando os números que obtive da bateria dos classificadores binários. Você vê algum problema?
precisa
Os SVMs podem executar a classificação multiclasse. O método é muito semelhante à regressão softmax (consulte "Sobre a implementação algorítmica de máquinas vetoriais baseadas em kernel multiclasse").
user1149913
4

Isso dependerá de como seus dados são dispersos. Há um belo exemplo que foi dado recentemente a uma pergunta semelhante em que o OP queria saber se uma única função discriminante linear seria um classificador melhor para decidir a população A vs B ou C ou uma baseada em funções discriminantes lineares múltiplas que separam A, B e C. Alguém deu um gráfico de dispersão colorido muito bom para mostrar como o uso de dois discriminantes seria melhor que um nesse caso. Vou tentar vincular a ele.

Michael R. Chernick
fonte
Espere. Estou tendo problemas para encontrá-lo, mas continuarei procurando.
Michael R. Chernick
Desculpe por não encontrar o link. Imagine uma nuvem de uma cor para a esquerda, outra no meio e uma terceira na direita. Duas linhas discriminantes lineares fariam um bom trabalho em separar o grupo do meio dos da esquerda e da direita, mas nenhuma linha única faria bem. A imagem valeria mais do que todas essas palavras.
Michael R. Chernick
1
@MichaelChernick É este o link que você está procurando?
Acho que entendi o que você está dizendo: bit.ly/M1NydS - a imagem que você definiu que me deparei nesta apresentação. Classificação de 4 ou 3 vias .. pode ser direta. Mas ... Gostaria de saber se a precisão / recall seria comprometida se a classificação fosse de 15 vias, Dr. Chernick.
madCode
@ Procrastinator Obrigado por encontrar isso. eu estava com muita dificuldade para localizá-lo e estava demorando muito tempo procurando! Era um post recente, então eu pensei que tit seria fácil de encontrar.
Michael R. Chernick
1

Alguns métodos lidam bem com multiclasses, florestas aleatórias e MLPs, por exemplo.

Se você não quiser seguir esse caminho, é possível que o ECOC possa executar o 1-vs-All para o seu problema, apenas os testes indicarão.

image_doctor
fonte