Lembrar o Teorema do Almoço Sem Grátis? Não, não se trata de comida (ainda). Mas se você estiver com fome, pegue um lanche antes de ler este post – eu não quero que você babe pelo teclado.

Eu vou lembrá-lo – nenhum algoritmo é ótimo sobre o conjunto de todas as situações possíveis. Os algoritmos de aprendizagem de máquina são instrumentos delicados que você afina com base no conjunto de problemas, especialmente na aprendizagem supervisionada da máquina.

Hoje, veremos como os algoritmos de classificação populares funcionam e nos ajudarão, por exemplo, a escolher e classificar tomates maravilhosos e suculentos.

Como a classificação funciona

Prevemos se uma coisa pode ser referida a uma determinada classe todos os dias. Para dar um exemplo, a classificação ajuda-nos a tomar decisões quando se apanha tomates num supermercado (“verde”, “perfeito”, “podre”). Em termos de aprendizagem mecânica, atribuímos uma etiqueta de uma das aulas a cada tomate que temos em nossas mãos.

A eficiência do seu Concurso de Colheita de Tomates (alguns chamariam de modelo de classificação) depende da precisão dos seus resultados. Quanto mais vezes você for ao supermercado você mesmo (em vez de enviar seus pais ou seus outros pais significativos), melhor você se tornará na escolha de tomates frescos e gostosos.

Os computadores são exatamente os mesmos! Para que um modelo de classificação aprenda a prever os resultados com precisão, precisa de muitos exemplos de treino.

4 tipos de classificação

4 tipos de tarefas de classificação na aprendizagem de máquinas

Binário

A classificação binária significa que há duas classes com as quais trabalhar que se relacionam uma com a outra como verdade e falsa. Imagine que tem à sua frente uma enorme caixa de lug lug lugos com tomates amarelos e vermelhos. Mas, a sua receita de massa italiana chique diz que você só precisa das vermelhas.

O que você faz? Obviamente, você usa codificação de etiquetas e, neste caso, atribui 1 a “vermelho” e 0 a “não vermelho”. Escolher tomates nunca foi tão fácil.

 Classificação binária

Multiclasse

O que você vê nesta foto?

tomatoes

Bife de vaca vermelho Tomates. Tomates cereja. Cocktail de tomates. Tomates de herança.

Não há preto e branco aqui, “normal” e “anormal” como na classificação binária. Nós damos as boas-vindas a todos os tipos de maravilhosos legumes (ou bagas) à nossa mesa.

O que você provavelmente não sabe se você não é um fã da cozinha de tomates é que nem todos os tomates são igualmente bons para o mesmo prato. Os tomates vermelhos de bife são perfeitos para a salsa, mas você não os apanha em pickles. Os tomates cereja funcionam para saladas mas não para massas. Portanto, é importante saber com o que você está lidando.

A classificação multiclasse nos ajuda a classificar todos os tomates da caixa, independentemente de quantas classes existam.

 Classificação multiclasse

Multi-label

A classificação multiclasse é aplicada quando uma entrada pode pertencer a mais de uma classe, como uma pessoa que é um cidadão de dois países.

Para trabalhar com este tipo de classificação, você precisa construir um modelo que possa prever múltiplas saídas.

Você precisa de uma classificação multi-etiqueta para o reconhecimento de objetos em fotos. Por exemplo, quando é necessário identificar não só tomates mas também outros tipos diferentes de objectos na mesma imagem: maçãs, zucchinis, cebolas etc.

Nota importante para todos os amantes de tomates: Não se pode simplesmente pegar num algoritmo de classificação binário ou multiclasse e aplicá-lo directamente à classificação multi-label. Mas você pode usar:

Classificação multi-etiqueta

Você também pode tentar usar um algoritmo separado para cada classe para prever etiquetas para cada categoria.

Desequilibrado

Trabalhamos com classificação desequilibrada quando os exemplos em cada classe são desigualmente distribuídos.

Classificação desequilibrada é usada para software de detecção de fraudes e diagnóstico médico. Encontrar tomates raros e requintados que são acidentalmente derramados em uma grande pilha de tomates de supermercado é um exemplo de classificação desequilibrada oferecida pelo Gints, nosso editor fantástico (se você tiver qualquer outro exemplo, twitte-os para nós).

 Classificação desequilibrada

Recomendo que você visite o fantástico blog do Machine Learning Mastery onde você pode ler sobre os diferentes tipos de classificação e estudar muito mais materiais de aprendizagem de máquinas.

Passos para construir um modelo de classificação

Embora você saiba com que tipo de tarefa de classificação você está lidando, é hora de construir um modelo.

  1. Selecione o classificador. Você precisa escolher um dos algoritmos ML que você aplicará aos seus dados.
  2. Treiná-lo. Você tem que preparar um conjunto de dados de treinamento com resultados rotulados (quanto mais exemplos, melhor).
  3. Prever a saída. Use o modelo para obter alguns resultados.
  4. Avalie o modelo classificador. É uma boa idéia preparar um conjunto de dados de validação que você não tenha usado no treinamento para verificar os resultados.

Deixe-nos agora dar uma olhada nos algoritmos de classificação mais utilizados.

Os algoritmos de classificação mais populares

algoritmos de classificação comuns

Scikit-Learn é uma das principais bibliotecas ML para Python. Portanto, se você quiser construir seu modelo, confira-o. Ela fornece acesso a classificadores amplamente utilizados.

Regressão Lógica

Regressão Lógica é usada para classificação binária.

Este algoritmo emprega uma função logística para modelar a probabilidade de um resultado acontecer. É mais útil quando você quer entender como várias variáveis independentes afetam uma única variável de resultado.

Pergunta de exemplo: Os níveis de precipitação e a composição do solo levarão à prosperidade do tomate ou à sua morte prematura?

Retrocesso logístico tem limitações; todos os preditores devem ser independentes, e não devem faltar valores. Este algoritmo falhará quando não houver separação linear de valores.

Naive Bayes

O algoritmo Naive Bayes é baseado no teorema de Bayes. Você pode aplicar este algoritmo para classificação binária e multiclasse e classificar dados baseados em resultados históricos.

Exemplo de tarefa: Eu preciso separar tomates podres dos frescos baseado no seu aspecto.

As vantagens de Naive Bayes são que estes algoritmos são rápidos de construir: eles não requerem um conjunto de treino extensivo e também são rápidos em comparação com outros métodos. No entanto, como o desempenho dos algoritmos Bayesianos depende da precisão de suas fortes suposições, os resultados podem potencialmente ficar muito ruins.

Usando o teorema de Bayes, é possível dizer como a ocorrência de um evento impacta a probabilidade de outro evento.

k- Vizinhos do Ano

kNNN significa “k-nearest neighbour” e é um dos algoritmos de classificação mais simples.

O algoritmo atribui objetos à classe à qual pertence a maioria dos seus vizinhos mais próximos no espaço de características multidimensionais. O número k é o número de objetos vizinhos no espaço de características que são comparados com o objeto classificado.

Exemplo: Quero prever a espécie do tomate das espécies de tomates semelhantes a ele.

Para classificar as entradas usando os k-nearest vizinhos, é necessário realizar um conjunto de acções:

  • Calcular a distância a cada um dos objectos da amostra de treino;
  • Seleccionar k objectos da amostra de treino, cuja distância é mínima;
  • A classe do objecto a ser classificado é a classe que ocorre mais frequentemente entre os k-nearest vizinhos.

Árvore de decisão

As árvores de decisão são provavelmente a forma mais intuitiva de visualizar um processo de tomada de decisão. Para prever uma etiqueta de classe de entrada, partimos da raiz da árvore. Você precisa dividir o espaço de possibilidade em subconjuntos menores baseados em uma regra de decisão que você tem para cada nó.

Aqui está um exemplo:

exemplo de árvore de decisão

Você continua quebrando o espaço de possibilidade até chegar ao fundo da árvore. Cada nó de decisão tem dois ou mais ramos. As folhas no modelo acima contêm a decisão sobre se uma pessoa está ou não apta.

Exemplo: Você tem um cesto de tomates diferentes e quer escolher o correcto para melhorar o seu prato.

Tipos de árvores de decisão

Existem dois tipos de árvores. Elas são baseadas na natureza da variável alvo:

  • Árvore de decisão variável categórica.
  • Árvore de decisão variável contínua.

Por isso, as árvores de decisão funcionam bastante bem com dados numéricos e categóricos. Outra vantagem de usar árvores de decisão é que elas requerem pouca preparação de dados.

No entanto, árvores de decisão podem se tornar muito complicadas, o que leva ao sobreajuste. Uma desvantagem significativa desses algoritmos é que pequenas variações nos dados de treinamento os tornam instáveis e levam a árvores totalmente novas.

>

Terrorismo aleatório

Os classificadores florestais aleatórios usam várias árvores de decisão diferentes em várias subamostras de conjuntos de dados. O resultado médio é tomado como previsão do modelo, o que melhora a precisão preditiva do modelo em geral e combate o sobreajuste.

As florestas aleatórias podem ser usadas para resolver problemas complexos de aprendizagem de máquinas sem comprometer a precisão dos resultados. No entanto, elas exigem mais tempo para formar uma previsão e são mais desafiadoras de implementar.

Ler mais sobre como as florestas aleatórias funcionam no blog Towards Data Science.

Support Vector Machine

Support vector machines use um hiperplano em um espaço N-dimensional para classificar os pontos de dados. N aqui está o número de características. Pode ser, basicamente, qualquer número, mas quanto maior for, mais difícil se torna construir um modelo.

Uma pessoa pode imaginar o hiperplano como uma linha (para um espaço bidimensional). Uma vez passado o espaço tridimensional, torna-se difícil para nós visualizar o modelo.

Pontos de dados que caem em diferentes lados do hiperplano são atribuídos a diferentes classes.

Exemplo: Um sistema automático que classifica os tomates com base na sua forma, peso e cor.

O hiperplano que escolhemos afecta directamente a precisão dos resultados. Assim, procuramos o plano que tem a distância máxima entre os pontos de dados de ambas as classes.

SVMs mostram resultados precisos com o mínimo de poder de computação quando você tem muitas características.

Summing up

Como você pode ver, a aprendizagem da máquina pode ser tão simples quanto pegar legumes na loja. Mas há muitos detalhes para ter em mente se você não quiser bagunçar tudo. Fique ligado no nosso blog, Twitter e Medium para mais leituras legais sobre a aprendizagem de máquinas.

Deixe uma resposta

O seu endereço de email não será publicado.