Muitos classificadores binários vs. classificador multiclasse único

12

Quais fatores devem ser considerados ao determinar se é necessário usar vários classificadores binários ou um único classificador multiclasse?

Por exemplo, estou construindo um modelo que classifica os gestos com as mãos. Um caso simples possui 4 saídas: [Nenhum, polegar_up, punho cerrado, all_fingers_extended]. Eu vejo duas maneiras de abordar isso:

Opção 1 - Vários classificadores binários

  1. [Nenhum, thumbs_up]
  2. [Nenhum, punho cerrado]
  3. [Nenhum, all_fingers_extended]

Opção 2 - Classificador multiclasse único

  1. [Nenhum, thumbs_up, cerrado_primeiro, all_fingers_extended]

Qual abordagem tende a ser melhor e em que condições?

megashigger
fonte

Respostas:

13

Sua opção 1 pode não ser o melhor caminho a percorrer; se você quiser ter vários classificadores binários, tente uma estratégia chamada One-vs-All .

No One-vs-All, você basicamente tem um classificador binário especialista que é realmente bom em reconhecer um padrão de todos os outros, e a estratégia de implementação é tipicamente em cascata. Por exemplo:

  if classifierNone says is None: you are done
  else:
    if classifierThumbsUp says is ThumbsIp: you are done
    else:
      if classifierClenchedFist says is ClenchedFist: you are done
      else:
        it must be AllFingersExtended and thus you are done

Aqui está uma explicação gráfica do One-vs-all do curso de Andrew Ng: Exemplo


Classificadores de várias classes prós e contras:

Prós :

  • Fácil de usar pronto para uso
  • Ótimo quando você tem realmente muitas aulas

Contras :

  • Geralmente mais lento que os classificadores binários durante o treinamento
  • Para problemas de alta dimensão, eles podem demorar um pouco para convergir

Métodos populares :

  • Redes neurais
  • Algoritmos baseados em árvore

Classificadores de um contra todos os prós e contras:

Prós :

  • Como eles usam classificadores binários, geralmente são mais rápidos para convergir
  • Ótimo quando você tem um punhado de aulas

Contras :

  • É realmente irritante lidar com quando você tem muitas aulas
  • Você realmente precisa ter cuidado ao treinar para evitar desequilíbrios de classe que apresentem viés, por exemplo, se você tiver 1000 amostras nonee 3000 amostras da thumbs_upclasse.

Métodos populares :

  • SVMs
  • A maioria dos métodos de conjunto
  • Algoritmos baseados em árvore
Pablo Rivas
fonte
Seria melhor esclarecer que o hθi funções são probabilidades de saída e o rótulo final é determinado por argmaxihθi
Lii
Essa é uma resposta muito boa sobre One-vs-All e One-vs-One e seria bom postar sua resposta também aqui, porque a seguinte postagem é mais popular (mas é mais ou menos no mesmo tópico): stats. stackexchange.com/questions/91091/… .
Outcast