INF 1771 – Inteligência Artificial

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial - IA
Advertisements

Agenda Introdução Justificativa Objetivo Detecção de Spam
Aproximação de Funções usando MLPs, RBFs e SVM
INTELIGÊNGIA COMPUTACIONAL
Redes Neurais Artificiais (RNA): Aprendizado
AULA 03 PERCEPTRON SIMPLES.
Aprendizado de Máquina
Algoritmo de Khachiyan Prof. Júlio Cesar Nievola.
SVM Support Vector Machines
Reconhecimento de Padrões Classificadores Lineares
Reconhecimento de Padrões Classificadores Lineares David Menotti, Ph.D. Universidade Federal de Ouro Preto (UFOP) Programa de.
Classificação de Imagens IF 133. Por que e para que? Classificar é transformar dados em informação Imagens em mapas Números em rótulos Objetivo primário.
Redes Neurais (Conceitos Fundamentais)
Jacques Robin, Francisco Carvalho, Flávia Barros
Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial
Support Vector Machines (SVM)
Estudo de Benefícios e Custos de Algoritmos para Seleção de Características Eduardo Mendel do Nascimento Estefhan Dazzi Wandekokem.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial Edirlei Soares de Lima Aula 18 – Aprendizado Por Reforço.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
INF 1771 – Inteligência Artificial Aula 19 – Bibliotecas e Ferramentas para Aprendizado de Máquina Edirlei Soares de Lima.
Aprendizado de Máquina
Universidade Federal do Pará Centro Tecnológico Programa de Pós-Graduação em Engenharia Elétrica Load Forecasting Using Support Vector Machines: A Study.
Aprendizado de Máquina Aula 8
Introdução O que é computação?.
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Márcia Zanutto Barbosa
K-NN Prof. Dr. Rogério Vargas.
E NHANCED S ELF -O RGANIZING I NCREMENTAL N EURAL N ETWORK FOR O NLINE U NSUPERVISED L EARNING Cesar Lima José Francisco Maíra Nascimento.
Redes Neurais Prof. Alex F. V. Machado.
Introdução à Classificação de Texto
INF 1771 – Inteligência Artificial
Aprendizado de Máquina
INF 1771 – Inteligência Artificial
Capítulo V – Reconhecimento de Padrões
Classificação de imagens de fotografias históricas usando detecção de linhas e paralelogramos pela presença de edifícios Natália Cosse Batista Grupo 8.
Support Vector Machine - SVM
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
Ademir Rafael Marques Guedes
SVMSharp – Uma implementação didática de uma SVM
Redes Neurais Artificiais. Introdução RNA são modelos matemáticos que se assemelham às estruturas neurais biológicas Capacidade computacional adquirida.
Locus Localização Eudes Cavalcanti.
Aluna: Monica Beltrami Orientador: Arinei Carlos Lindbeck da Silva
Uma Introdução a SVM Support Vector Machines
Universidade Federal de Lavras Departamento de Ciência da Computação
Combinação de Preditores utilizando o Coeficiente de Correlação aplicado aos Problemas de Regressão Resumo Este trabalho apresenta um algoritmo de Boosting.
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
Classificação de Texto
Márcio Leal de Melo Dahia1 Aprendizado baseado em instâncias.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Classificação de Textos
Inteligência Artificial
Detecção de tráfego Skype na Web através de Redes Neurais Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008). Detecting skype flows.
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 12 Aprendizado não Supervisionado Mapas auto-organizáveis Max Pereira.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Transcrição da apresentação:

INF 1771 – Inteligência Artificial Aula 15 – Support Vector Machines (SVM) Edirlei Soares de Lima <elima@inf.puc-rio.br>

Formas de Aprendizado Aprendizado Supervisionado Árvores de decisão. K-Nearest Neighbor (KNN). Support Vector Machines (SVM). Redes Neurais. Aprendizado Não Supervisionado Aprendizado Por Reforço

Aprendizado Supervisionado Observa-se alguns pares de exemplos de entrada e saída, de forma a aprender uma função que mapeia a entrada para a saída. Damos ao sistema a resposta correta durante o processo de treinamento. É eficiente pois o sistema pode trabalhar diretamente com informações corretas.

Support Vector Machine Poderosa metodologia para resolver problemas de aprendizagem de máquina. Proposto em 1995 pelo russo Vladimir Vapnik. Muito utilizado atualmente em diversos tipos de aplicações.

Support Vector Machine Consiste em um método de aprendizado que tenta encontrar a maior margem para separar diferentes classes de dados. Pertence à classe de algoritmos de aprendizado supervisionado. A essência do SVM é a construção de um hiperplano ótimo, de modo que ele possa separar diferentes classes de dados com a maior margem possível.

Support Vector Machine Como separar essas duas classes?

Support Vector Machine Como separar essas duas classes? Existem diversas retas que podem ser traçadas para separar os dados. Qual delas é a melhor opção?

Support Vector Machine Como separar essas duas classes? Existem diversas retas que podem ser traçadas para separar os dados. Qual delas é a melhor opção? Hiperplano ótimo!

Vetores de Suporte Servem para definir qual será o hiperplano. São encontrados durante a fase de treinamento. Os vetores de suporte são os exemplos de treinamento realmente importantes. Os outros exemplos podem ser ignorados.

Support Vector Machine Hiperplano: Espaço 1D = Ponto Espaço 2D = Reta Espaço 3D = Plano

Support Vector Machine A aplicação de um método puramente linear para classificar um conjunto de dados pode sofrer com dois problemas bastante comuns: Outliers Exemplos rotulados erroneamente Mesmo assim o SVM ainda assim pode ser aplicado através do uso do parâmetro C (soft margin - variáveis de folga)

Soft Margin

Support Vector Machine Em alguns problemas não é possível separar as classes linearmente mesmo utilizando a margem de folga. Na realidade, a grande maioria dos problemas reais não são separáveis linearmente. O que fazer?

SVM Não-Linear O que fazer quando os dados não são linearmente separáveis? A abordagem utilizada pelo SVM para resolver esse tipo de problema consistem em mapear os dados para um espaço de dimensão maior: x x2 x

SVM Não-Linear O espaço de atributos original pode ser mapeado em um espaço de atributos de dimensão maior onde o conjunto de treinamento é linearmente separável: Φ: x → φ(x)

SVM Não-Linear Exemplo Considerando o seguinte conjunto de exemplos de treinamento que não são linearmente separáveis: Elevando para uma dimensão linearmente separável (R1 → R2): Kernel: φ(x) = (x, x2) 1 2 3 5 -2 -3 X 25 9 4 1 -3 -2 1 2 3 5 X

SVM Não-Linear Exemplo A mesma metodologia pode ser aplicada em um espaço 2D de características (R2 → R3). A única diferença é a necessidade de uma nova função de kernel. Um exemplo de função de kernel aplicável nesse caso seria: z2 z1 z3

Funções de Kernel Kernel Função Polinomial Gaussiano Sigmoidal

Polynomial Kernel

Support Vector Machine O SVM foi originalmente concebido para lidar com classificações binárias. Entretanto, a maior parte dos problemas reais requerem múltiplas classes. Para se utilizar uma SVM para classificar múltiplas classes é necessário transformar o problema multi-classe em vários problemas da classes binárias Um contra o resto. Pairwise.

Aplicação Antes de aplicar uma SVM para classificar um conjunto de dados é necessário responder algumas questões: Quais funções de kernel utilizar? Qual o valor do parâmetro C (Soft Margin)? É possível optar por opções comuns, mas uma abordagem mais confiável é a utilização de validações cruzadas (cross‐validations).

Vantagens de Desvantagens Consegue lidar bem com grandes conjuntos de exemplos. Trata bem dados de alta dimensão. O processo de classificação é rápido. Desvantagens: É necessário definir um bom Kernel. O tempo de treinamento pode ser bem longo dependendo do número de exemplos e dimensionalidade dos dados.

LIBSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ http://www.python.org/download/ http://www.gnuplot.info/download.html Bases de Exemplos: http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/ http://archive.ics.uci.edu/ml/datasets.html