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:
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
none
e 3000 amostras da thumbs_up
classe.
Métodos populares :
- SVMs
- A maioria dos métodos de conjunto
- Algoritmos baseados em árvore