Buscar

AULA 05 - Aprendizagem Supervisionada - SVM _ KNN _ Naive Bayes

Prévia do material em texto

Inteligência Artificial
Aula 05 – Aprendizagem supervisionada:
SVM
Profa. Rafaella Nascimento
rafaellalnascimento@fac.pe.senac.br
Aprendizagem para classificação:
2. SVM
Aprendizagem Supervisionada:
Classificação - SVM
Support Vector Machine - SVM
• Máquina de Vetor de Suporte
• Originalmente focado nos problemas linearmente separáveis. 
• Resultados por vezes superiores a outros algoritmos, como redes neurais artificiais. 
Qual o hiperplano ótimo que proporciona menor erro de classificação? 
Aprendizagem Supervisionada:
Classificação - SVM
É uma técnica popular: se você não tiver nenhum conhecimento prévio especializado sobre um 
domínio, o SVM é um excelente primeiro método a testar.
Existem três propriedades principais:
1. Os SVMs constroem um separador de margem máxima que ajuda a generalização.
2. Os SVMs criam uma separação linear em hiperplano, mas têm a capacidade de incorporar 
outras separações. 
• Os dados que não são separáveis linearmente no espaço de entrada original são facilmente 
separáveis de forma linear em um espaço de dimensão superior (truque de kernel). 
• O espaço de hipótese é expandido em comparação a outros métodos.
3. São flexíveis para representar funções complexas, mas são resistentes ao sobreajuste.
Aprendizagem Supervisionada:
Classificação - SVM
a) Algumas técnicas lineares de classificação encontram a separação dependendo de 
todos pontos de exemplo.
a) A ideia do SVM é que alguns pontos são mais importantes que outros, e 
considerá-los pode levar a melhor generalização.
a) b)
Aprendizagem Supervisionada:
Classificação - SVM
A ideia do SVM é encontrar um objeto geométrico separador de classes, que pode ser
• uma linha em um espaço bidimensional, 
• um plano em um espaço tridimensional ou 
• um hiperplano, em um espaço n-dimensional de atributos (variáveis).
 a) separador linear ótimo no espaço bidimensional b) separador plano ótimo no espaço tridimensional 
Aprendizagem Supervisionada:
Classificação - SVM
Separador 
ótimo
Os dois exemplos resolvem o problema, mas o segundo encontra uma margem de separação 
maior entre as classes.
Aprendizagem Supervisionada:
Classificação - SVM
E se os exemplos não forem linearmente separáveis?
- Em alguns problemas não há separador linear.
A separação linear resultaria em uma hipótese ruim.
- Podemos expressar os dados de entrada em outra 
dimensão (F(x)), fazendo um mapeamento dos 
vetores de entrada para um novo vetor de valores.
Os dados são linearmente separáveis 
nesse novo espaço F(x)!
Aprendizagem Supervisionada:
Classificação - SVM
 a) solução no espaço de entrada: separação não linear b) solução no espaço representado: separação linear
vetores de 
suporte
vetores de 
suporte
Aprendizagem Supervisionada:
Classificação - SVM
Encontraremos uma maneira de fazê-los alinhar-se, encontrando assim a separação linear.
 a) espaço de entrada 2D b) espaço representado 3D
Aprendizagem Supervisionada:
Classificação - SVM
Portanto, a solução para um problema não linear…
é mapear o conjunto de treinamento de seu espaço original (não linear) para 
um novo espaço de maior dimensão, denominado espaço de características, 
que é linear (encontrar uma transformação não linear).
Essa transformação mapeia o espaço original das observações para um novo 
espaço de atributos n-dimensional, o qual pode ser muito maior do que o 
espaço original. 
Nesse novo espaço, as observações passam a ser linearmente separáveis. 
Com a função de transformação, nosso problema de otimização recai pra uma 
SVM linear.
Aprendizagem Supervisionada:
Classificação - SVM
Como é feito esse mapeamento?
• A função kernel pode ser aplicada a 
pares de dados de entrada para avaliar 
produtos escalares em algum espaço 
característico correspondente. 
• Os separadores lineares resultantes, 
quando mapeados de volta ao espaço 
de entrada original, podem 
corresponder a fronteiras de decisão 
arbitrariamente não lineares, sinuosas 
entre as classes.
Kernel:
Kernel Linear Kernel RBF
Kernel Polinomial Kernel Sigmoidal
Aprendizagem Supervisionada:
Classificação - SVM
Parâmetros do modelo
• Estão diretamente relacionados com o 
desempenho do modelo, pois alteram
- a velocidade de treinamento,
- a tendência a sobreajuste, 
- a tolerância a erros de classificação.
• Estes hiperparâmetros são denominados 
C e Gamma.
Parâmetro C:
Penalização (ou custo) 
Parâmetro Gamma:
Flexibilização no treinamento do 
modelo
Aprendizagem Supervisionada:
Classificação - SVM
Parâmetro C
É responsável por controlar o quão tolerante a erros de classificação será o 
modelo treinado. 
• Um alto valor de C faz com que o algoritmo treine o modelo 
almejando a separação completa entre classes (mesmo em 
problemas de maior complexidade).
-Pode causar sobreajuste e demandar muito tempo de 
treinamento por gerar fronteiras de decisão muito complexas. 
• Um baixo valor de C flexibilizam a etapa de treinamento e permitem 
fronteiras de decisão com erros.
-Pode levar a um subajuste.
Aprendizagem Supervisionada:
Classificação - SVM
Parâmetro C
Cenário de classificação sob 
influência de diferentes valores 
de C.
https://dinhanhthi.com/support-vector-machine/
https://dinhanhthi.com/support-vector-machine/
Aprendizagem Supervisionada:
Classificação - SVM
Parâmetro Gamma
É introduzido somente no SVM não linear, através das funções de Kernel 
(especificamente o RBF, polinomial e sigmóide).
Determina o número de pontos para construir o hiperplano
• Um alto valor de Gamma faz com que os pontos mais distantes da 
região de separação entre classes sejam desconsiderados, levando a 
fronteiras de decisão mais restritas e complexas
-Pode causar sobreajuste. 
• Um baixo valor de Gamma aumenta a influência dos pontos mais 
distantes e flexibilizam a região de separação, permitindo alguns 
erros de classificação.
-Pode levar a um subajuste.
Aprendizagem Supervisionada:
Classificação - SVM
Parâmetro Gamma
Cenário de classificação sob 
influência de diferentes valores 
de Gamma.
https://dinhanhthi.com/support-vector-machine/
https://dinhanhthi.com/support-vector-machine/
Aprendizagem para classificação:
3. KNN
Aprendizagem Supervisionada:
Classificação - KNN
K-nearest neighbors, ou “K-vizinhos mais próximos”
Dada uma nova observação Xq,
encontre um número de exemplos = K que estiverem mais próximas de Xq.
Isso é chamado de pesquisa de k-vizinhos mais próximos!
Para classificar Xq?
● primeiro encontrar o conjunto de k-vizinhos.
● identificar o voto (a classe) da maioria dos vizinhos 
○ (chamamos de voto majoritário). 
● Para evitar empates, o valor de k é sempre número ímpar.
K = 5
Conjunto de 5 vizinhos 
mais próximos.
Aprendizagem Supervisionada:
Classificação - KNN
K-nearest neighbors, ou “K-vizinhos mais próximos”
• Um dos classificadores mais simples. 
• Dado um conjunto de dados armazenados, o registro a ser classificado é comparado com 
K vizinhos mais próximos. 
• Métricas mais utilizadas para encontrar a distância: distância Euclidiana e Manhattan. 
Aprendizagem Supervisionada:
Classificação - KNN
• Distância Euclideana
nova
observação
um vizinho
distância = (x1-x2)2 + (y1-y2)2
Calcula-se a distância da 
nova observação para os 
vizinhos. O número K 
seleciona os K vizinhos mais 
próximos.
Aprendizagem Supervisionada:
Classificação - KNN
Como escolher o k? 
• K = 1 Pertence a classe de quadrados. 
• K = 3 Pertence a classe de triângulos. 
• K = 7 Pertence a classe de quadrados. 
Sobreajuste:
Se K for muito pequeno, a classificação fica sensível a pontos de ruídos. 
Subajuste:
Se K é muito grande, a vizinhança pode incluir elementos de outras classes
Pode-se usar a validação cruzada para selecionar o melhorvalor de k.
Aprendizagem Supervisionada:
Classificação - KNN
Como escolher o k? 
O KNN Cria 
regiões de decisão 
nao lineares.
Aprendizagem Supervisionada:
Classificação - KNN
Passos desempenhados na classificação:
1 2
3
Aprendizagem Supervisionada:
Classificação - KNN
“Preguiçoso”
• No kNN, a etapa de treinamento é caracterizada apenas pelo armazenamento das 
observações = não há treinamento. 
• A função que será usada para a tomada de decisão é definida em operação, analisando o 
conjunto dos k vizinhos mais próximos. 
• Por esse motivo, pode-se dizer que o kNN é uma máquina de aprendizagem local ou 
“aprendiz preguiçoso”.
• A principal vantagem de uma abordagem baseada em memória é que se adapta à medida 
que novos dados de treinamentos são coletados.
• A desvantagem é que a complexidade computacional para classificar novas amostras 
cresce linearmente com o aumento do número de amostra de treino, a não ser que tenha 
poucas dimensões nos dados.
Aprendizagem Supervisionada:
Classificação - KNN
Normalização
• Se usarmos os números brutos de cada dimensão, a distância total será afetada por uma 
mudança na escala em qualquer dimensão. 
• Por exemplo, se mudarmos uma dimensão de centímetros para milhas, mantendo as outras 
dimensões, teremos vizinhos mais próximos diferentes.
• Para evitar isso, é comum aplicar a normalização para medições em cada dimensão. 
Uma abordagem simples é calcular a média μ e o desvio-padrão σ dos valores em cada 
dimensão (variável), e redimensioná-los para z.
média da variável
desvio padrão da variável
valor normalizado
valor original
trazer todos os dados para uma mesma escala de valores 
(entre [0-1], por exemplo)
Aprendizagem Supervisionada:
Classificação - KNN
Outras observações
• Em espaços de dimensão baixa com muitos dados, os KNN funcionam muito bem: 
podemos ter dados suficientes nas proximidades para obter uma boa resposta. 
• À medida que o número de dimensões cresce, deparamo-nos com um problema: os KNN 
em espaços dimensionais altos geralmente não estão muito próximos.
• Parâmetros considerados: O valor de K e o método da distância.
Aprendizagem para classificação:
4. Naive Bayes
Aprendizagem Supervisionada:
Classificação - Naive Bayes
Baseado no Teorema de Bayes:
Permite calcular a probabilidade condicional de ocorrer um evento X dado o 
acontecimento de um evento Y.
O modelo é chamado “ingênuo”, porque supõe que os atributos são condicionalmente 
independentes uns dos outros, dada a classe.
Raciocínio Probabilístico: Situações onde não se conhece todo o escopo do problema.
• Junto com as árvores de decisão, KNN, um dos métodos de aprendizagem mais práticos. 
• Dado um valor alvo, a probabilidade de uma observação ser classificada é apenas o 
produto das probabilidades para a observação.
• Aplicações de Sucesso: 
 –Diagnóstico 
Aprendizagem Supervisionada:
Classificação - Naive Bayes
• A aprendizagem bayesiana simplesmente calcula a probabilidade de cada hipótese, 
considerando-se os dados, e faz previsões de acordo com ela. 
• As previsões são feitas com o uso de todas as hipóteses, ponderadas por suas 
probabilidades, em vez de utilizar apenas uma única “melhor” hipótese. 
• Assim, a aprendizagem é reduzida à inferência probabilística.
Aprendizagem Supervisionada:
Classificação - Naive Bayes
• O classificador de Bayes baseia-se no pressuposto que os valores dos atributos são 
condicionalmente independentes dos valores alvo. 
Jogar tênis = Não
Aprendizagem Supervisionada:
Classificação - Naive Bayes
Outras observações
• A aprendizagem bayesiana ingênua se adapta bem à escala de problemas muito 
grandes.
• A aprendizagem bayesiana ingênua não tem nenhuma dificuldade com dados 
ruidosos ou faltantes e pode fornecer previsões probabilísticas quando apropriado.
Dúvidas?
Profa. Rafaella Nascimento
rafaellalnascimento@fac.pe.senac.br

Mais conteúdos dessa disciplina