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