Aprendizado de máquina - supervisionado
A aprendizagem supervisionada é um dos modelos importantes de aprendizagem envolvidos em máquinas de treinamento. Este capítulo fala em detalhes sobre o mesmo.
Algoritmos para Aprendizagem Supervisionada
Existem vários algoritmos disponíveis para aprendizagem supervisionada. Alguns dos algoritmos amplamente usados de aprendizagem supervisionada são mostrados abaixo -
- k-vizinhos mais próximos
- Árvores de decisão
- Baías ingénuas
- Regressão Logística
- Máquinas de vetor de suporte
Conforme avançamos neste capítulo, vamos discutir em detalhes sobre cada um dos algoritmos.
k-vizinhos mais próximos
Os k-vizinhos mais próximos, simplesmente chamados de kNN, é uma técnica estatística que pode ser usada para resolver problemas de classificação e regressão. Vamos discutir o caso de classificação de um objeto desconhecido usando kNN. Considere a distribuição de objetos conforme mostrado na imagem abaixo -
Fonte:
https://en.wikipedia.org/wiki/K-nearest_neighbours_algorithm
O diagrama mostra três tipos de objetos, marcados nas cores vermelha, azul e verde. Quando você executa o classificador kNN no conjunto de dados acima, os limites para cada tipo de objeto serão marcados como mostrado abaixo -
Fonte:
https://en.wikipedia.org/wiki/K-nearest_neighbours_algorithm
Agora, considere um novo objeto desconhecido que você deseja classificar como vermelho, verde ou azul. Isso é ilustrado na figura abaixo.
Como você vê visualmente, o ponto de dados desconhecido pertence a uma classe de objetos azuis. Matematicamente, isso pode ser concluído medindo a distância desse ponto desconhecido com todos os outros pontos do conjunto de dados. Ao fazer isso, você saberá que a maioria de seus vizinhos é azul. A distância média para objetos vermelhos e verdes seria definitivamente mais do que a distância média para objetos azuis. Assim, este objeto desconhecido pode ser classificado como pertencente à classe azul.
O algoritmo kNN também pode ser usado para problemas de regressão. O algoritmo kNN está disponível como pronto para uso na maioria das bibliotecas de ML.
Árvores de decisão
Uma árvore de decisão simples em formato de fluxograma é mostrada abaixo -
Você escreveria um código para classificar seus dados de entrada com base neste fluxograma. O fluxograma é autoexplicativo e trivial. Nesse cenário, você está tentando classificar um e-mail recebido para decidir quando lê-lo.
Na realidade, as árvores de decisão podem ser grandes e complexas. Existem vários algoritmos disponíveis para criar e percorrer essas árvores. Como entusiasta do Machine Learning, você precisa entender e dominar essas técnicas de criação e análise de árvores de decisão.
Baías ingénuas
Naive Bayes é usado para criar classificadores. Suponha que você queira separar (classificar) frutas de diferentes tipos de uma cesta de frutas. Você pode usar recursos como cor, tamanho e formato de uma fruta, por exemplo, qualquer fruta de cor vermelha, forma redonda e cerca de 10 cm de diâmetro pode ser considerada maçã. Então, para treinar o modelo, você usaria esses recursos e testaria a probabilidade de um determinado recurso corresponder às restrições desejadas. As probabilidades de diferentes características são então combinadas para chegar a uma probabilidade de que uma determinada fruta seja uma maçã. Naive Bayes geralmente requer um pequeno número de dados de treinamento para classificação.
Regressão Logística
Observe o diagrama a seguir. Mostra a distribuição dos pontos de dados no plano XY.
No diagrama, podemos inspecionar visualmente a separação dos pontos vermelhos dos pontos verdes. Você pode desenhar uma linha de limite para separar esses pontos. Agora, para classificar um novo ponto de dados, você só precisa determinar em que lado da linha o ponto está.
Máquinas de vetor de suporte
Observe a seguinte distribuição de dados. Aqui, as três classes de dados não podem ser separadas linearmente. As curvas de limite são não lineares. Nesse caso, encontrar a equação da curva se torna uma tarefa complexa.
Fonte: http://uc-r.github.io/svm
O Support Vector Machines (SVM) é útil para determinar os limites de separação em tais situações.