Aprendizagem de máquina: visão geral

Slides:



Advertisements
Apresentações semelhantes
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Advertisements

Agenda Introdução Justificativa Objetivo Detecção de Spam
Algoritmos Genéticos Teresa B. Ludermir.
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
REDES AUTO-ORGANIZAVEIS (MAPAS AUTO-ORGANIZÁVEIS)
Redes Neurais Artificiais (RNA): Aprendizado
REDES NEURONAIS ARTIFICIAIS (RNAs) Universidade do Minho.
PERCEPTRON (CONTINUAÇÃO)
AULA 03 PERCEPTRON SIMPLES.
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Redes Neurais Artificiais
Computação Evolutiva: Programação Genética
Redes Neurais (Conceitos Fundamentais)
Raciocínio Baseado em Casos
Redes de Kohonen Paulo Adeodato e Germano Vasconcelos
Aprendizagem de máquina: visão geral
Inteligência Artificial
Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial
Prof. Dr. Cairo L. Nascimento Jr.
Algoritmos Genéticos – Capítulo 11
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Controle de parâmetros em algoritmos evolucionários
A Framework for Robots Development and Programming Based on Genetic Algorithms Palmeira P.F.M Silvino J.S. de Melo J.C.D DEE-UFMG DELT-UFMG.
Aprendizado de Máquina
Aprendizado de Máquina Aula 8
Introdução O que é computação?.
Otimização Prof. Benedito C. Silva IRN UNIFEI
Redes Neurais Prof. Alex F. V. Machado.
Aprendizado de Máquina
INF 1771 – Inteligência Artificial
Redes neurais artificiais
Sistemas Inteligentes
Marcílio C. P. de Souto DIMAp/UFRN
Anne Magály de PaulaCanuto DIMAp/UFRN
Redes Neuronais/Neurais/ Conexionistas Introdução
Tópicos Avançados em Inteligência Artificial
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
Paradigmas da Inteligência Artificial
Algoritmos Genéticos Ricardo Prudêncio.
Redes Neurais Artificiais
Sistemas Baseados em Aprendizado (Aprendizado de Máquina)
Inteligência Artificial
Redes Neurais Artificiais. Introdução RNA são modelos matemáticos que se assemelham às estruturas neurais biológicas Capacidade computacional adquirida.
Uma Introdução a SVM Support Vector Machines
Prof. Anne Magály de Paula Canuto
Márcio Leal de Melo Dahia1 Aprendizado baseado em instâncias.
Computação Evolutiva : Um Novo Paradigma Para a Resolução de Problemas Complexos Aurora Pozo Pós-graduação em Informática, Pós-graduação em Métodos Numéricos.
Inteligência Artificial I
Redes Neurais Artificial
Aprendizado da rede O aprendizado, na maioria das vezes, constitui no ajuste do conjunto de pesos de modo que a rede consiga executar uma tarefa específica.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Revisão de Sistemas Inteligentes
Redes Neurais Artificiais
Algoritmos Genéticos Ricardo Prudêncio.
Classificação de Textos
Introdução à Inteligência Artificial Prof. Cláudio M. N. A. Pereira.
Inteligência Artificial
Inteligência Artificial
Aprendizado por Indução
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.
Taís Sineiro Herig Laboratório de Genômica e Expressão / UNICAMP
Objetivo Este projeto destina-se ao estudo e à elaboração de modelos neurais artificiais, com o auxílio do programa Matlab. O objetivo principal deste.
1 Projeto Híbrido de Redes Neurais Ricardo Bastos C. Prudêncio Orientação: Teresa B. Ludermir CIn - UFPE Jan
Métodos Populacionais. Mantém um conjunto de soluções candidatas e não só uma solução Cada solução será modificada e avaliada Hill-Climbing paralelos.
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 12 Aprendizado não Supervisionado Mapas auto-organizáveis Max Pereira.
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 10 Algoritmos Genéticos Max Pereira.
Transcrição da apresentação:

Aprendizagem de máquina: visão geral Francisco Carvalho, Paulo Adeodato, Geber Ramalho, Jacques Robin, Marcilio Campos, Teresa Ludermir CIn-UFPE

Técnicas de aprendizagem Paradigma simbólico: Aprendizagem de conceitos por busca no espaço de soluções (version-space) Indução de árvores de decisão e regras proposicionais Programação em lógica indutiva Raciocínio baseado em casos Agrupamento de conceitos proposicionais Paradigma Fuzzy: Fuzzy clustering Paradigma probabilista: K Vizinhos mais próximo Regressão estatística Aprendiz bayesiano ingênuo Paradigma conexionista: Perceptron multicamada Redes de Kohonen Memórias associativas Paradima evolucionista: Algoritmos genéticos Abordagens híbridos: Rede bayesianas Sistemas neuro-fuzzy

Classificação Bayesiana Aprendizado probabilista: Cálcula probabilidades explícitas para hipóteses, entre as abordagens mais práticas para certos tipos de porblemas de aprendizagem Incremental: Cada exemplo pode, incrementalmente, aumentar/diminuir a probabilidade de que uma hipótese seja correta. Pode-se combinar conhecimento prévio com dados observados Previsão probabilistica: Previsão de multiplas hipóteses, ponderadas pelas suas probabilidades

Teorema de Bayes Dado um conjunto de dados de treinamento D, a probabilidade a posteriori de uma hipótese , P(h|D) segue o teorema de Bayes MAP hipótese de maior probabilidade a posteriori Dificuldade prática: requer conhecimento inicial de muitas probabilidades, custo computacional significativo

Classificação Bayesiana O problema de classificação pode ser formulado usando-se probabilidades a posteriori: P(C|X) = prob. de que a observação X=<x1,…,xk> seja da classe C. Ideia: atribuir a observação X a classe de rótulo C tal que P(C|X) é máximo

Estimação de probabilidades a posteriori Teorema de Bayes: P(C|X) = P(X|C)·P(C) / P(X) P(X) é constante para todas as classes P(C) = frequencia relativa dos exemplos da classe C C tal que P(C|X) é maximo = C tal que P(X|C)·P(C) é máximo Problema: Calculo de P(X|C) é irrealizável

Classificador Bayesiano Igenuo Suposição ingenua: independencia entre os atributos P(x1,…,xk|C) = P(x1|C)·…·P(xk|C) Se o I-ésimo atributo é categorico: P(xi|C) é estimado como a frequência relativa das observações tendo valor xi para o I-ésimo attribute na classe C Se o i-ésimo atributo é continuo: P(xi|C) é estimatedo via uma função de densidade Gaussiana Computacionalmente facil em ambos os casos

Classificador bayesiano ingênuo: exemplo Dia Tempo Temp. Humid. Vento Jogar D1 Sol Quente Alta Fraco Não D2 Sol Quente Alta Forte Não D3 Coberto Quente Alta Fraco Sim D4 Chuva Normal Alta Fraco Sim D5 Chuva Frio Normal Fraco Não D6 Chuva Frio Normal Forte Não D7 Coberto Frio Normal Forte Sim D8 Sol Normal Alta Fraco Não D9 Sol Frio Normal Fraco Sim D10 Chuva Normal Normal Fraco Sim D11 Sol Frio Alta Forte ? P(Sim) = 5/10 = 0.5 P(Não) = 5/10 = 0.5 P(Sol/Sim) = 1/5 = 0.2 P(Sol/Não) = 3/5 = 0.6 P(Frio/Sim) = 2/5 = 0.4 P(Frio/Não) = 2/5 = 0.4 P(Alta/Sim) = 2/5 = 0.4 P(Alta/Não) = 3/5 = 0.6 P(Forte/Sim) = 1/5 = 0.2 P(Forte/Não) = 2/5 = 0.4 P(Sim)P(Sol/Sim) P(Frio/Sim) P(Alta/Sim) P(Forte/Sim) = 0.0032 P(Não)P(Sol/Não)P(Frio/Não) P(Alta/Não) P(Forte/Não) = 0.0288  Jogar_Tenis(D11) = Não

A hipótese de independencia… … torna os cálculos possíveis … torna o classificador ótimo quando satisfeita … mas é raramente satisfeita na pratica, pois os atributos (variaveis) frequentemente são correlacionadas Tentativa para superar essa limitação: Redes Bayesianas, combina o raciocinio Bayesiano com relações causais entre atributos

Redes Bayesianas Hostoria Familiar Fumante (HF, F) (HF, ~F) (~HF, F) (~HF, ~F) CP 0.8 0.5 0.7 0.1 CancerPulmão Emfisema ~CP 0.2 0.5 0.3 0.9 A tabela de probabilidades condicional para a variável CancerPulmão RaioXPositive Dispneia Rede Bayesiana

Resdes Bayesianas Redes Bayesianas adimitem um subconjunto de variáveis condicionalmente independentes Modelagem gráfica d relações causais Vários casos de aprendizado de Redes Bayesianas Estrutura conhecida, completamente observável as tabelas de probabilidade condicionada podem ser estimadas usando o conjunto de exemplos Estrutura desconhecida, completamente observável o problema é construir a topologia da rede. Estrutura conhecida, variáveis escondidas caso parecido com aprendizado em redes neurais Estrutura desconhecida, variáveis escondidas não se conhece algoritmos para este tipo de problema

Paradigma Conexionista: Redes Neurais Definição Técnica inspirada no funcionamento do cérebro, onde neurônios artificiais, conectados em rede, são capazes de aprender e de generalizar. Técnica de aproximação de funções por regressão não linear. Modelo de neurônio ó õ wji w1i wni s(i) e(i) s1 sj sn s e t s e s e degrau semi-linear sigmoide

Multilayer Perceptron (MLP) e Backpropagation camadas intermediárias camada de saída entrada conexões

MLP: complexidade funcional em função do número de camadas

Cascade-Correlation: complexidade funcional em função do número de neurônio 3 neurônios 5 neurônios Problema das 2 espirais 7 neurônios 9 neurônios 12 neurônios

Redes Neurais: Perceptron Multi-Camada com Retropropagação Multi-Layer Perceptron (MLP) Exemplos: codificados na camada (nós) de entrada Classe, previsão ou ação: codificada na camada (nós) de saída Algoritmo: parte de pesos aleatórios e iterativamente repetitivamente apresenta todos os exemplos a cada iteração (época) ajuste pesos tal que: até algum critério de convergência chega a ser satisfeito a - taxa de aprendizagem d = (si - di), erro sj - saída do neurônio anterior j

Redes Neurais Vantagens Criticas ~qualidade de previsão geralmente é alta Robustes, funciona mesmo uando os exemplos de treinamento contem erros A saída pode ser discreta, continua, ou um vetor de vários atributos discretos ou contínuos Criticas Tempo de trinamento longo Dificuldade para se entender a função aproximada (pesos) Incorporação de conhecimento do domínio não trivial

Memórias associativas (Redes de Kohonen) Agrupamento de padrões com características comuns a rede identifica características comuns ao longo do domínio dos padrões de entrada Mapa topográfico de características Quantização vetorial (compressão de dados) Relações de vizinhança preservadas Representação de espaços N-Dimensionais em 2-D

Memórias associativas Estado /Saída Processamento em 3 passos: 1. excitação vertical global 2. seleção do neurônio mais excitado 3. excitação horizontal local ao redor desse neurônio com função de chapéu mexicano Entrada Camada de saída = camada de estados = grade 2-D Camadas de entrada e saída totalmente conectadas

Memórias associativas: algoritmo de aprendizagem Inicializa a rede: define pesos iniciais (podem ser aleatórios), raio da vizinhança, taxa de aprendizagem e taxa de redução da vizinhança Apresenta todos os exemplos N vezes A cada iteração: para cada exemplo apresenta o exemplo na camada de entrada calcula a distância euclidiana do vetor dj de entrada a cada neurônio j de saída seleciona o neurônio nj* de menor distância dj* atualiza os pesos do neurônio nj* e da sua vizinhança Nj*, segundo a regra: wij (t+1) = wij (t) + (t)[xi (t)-wij (t)] reduz a vizinhança e a taxa de aprendizagem (convergência)

Memória associativas: exemplo T = iteração

Algoritmos Genéticos São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin. Desenvolvido por John Holland (1975) e seus alunos. Popularizado por David Goldberg (1989).

Teoria da Evolução 1859 - Charles Darwin publica o livro “A Origem das Espécies”: . “As espécies evoluem pelo principio da seleção natural e sobrevivência do mais apto.” Charles Darwin

Teoria da Evolução 1865- Gregor Mendel apresenta experimentos do cruzamento genético de ervilhas. Pai da genética. A Teoria da Evolução começou a partir da conceituação integrada da seleção natural com a Genética. . Gregor Mendel

Otimização É a busca da melhor solução para um dado problema. Consiste em tentar vários soluções e usar a informação obtida para conseguir soluções cada vez melhores. As técnicas de otimização, geralmente, apresentam: Espaço de busca: onde estão todas as possíveis soluções do problema; Função objetivo: utilizada para avaliar as soluções produzidas, associando a cada uma delas uma nota.

Características dos Algoritmos Genéticos É um algoritmo estocástico (não é determinístico). Trabalha com uma população de soluções simultaneamente. Utiliza apenas informações de custo e recompensa. Não requer nenhuma outra informação auxiliar São fáceis de serem implementados em computadores. Adaptam-se bem a computadores paralelos. São facilmente hibridizados com outras técnicas. Funcionam com parâmetros contínuos ou discretos.

Algoritmos Genéticos (Conceitos Básicos) AG manipula uma população de indivíduos. Individuos são possíveis soluções do problema. Os indivíduos são combinados (crossover) uns com os outros, produzindo filhos que podem sofrer ou não mutação. As populações evoluem através de sucessivas gerações até encontrar a solução ótima.

Aplicações Em problemas díficeis de otimização, quando não existe nenhuma outra técnica especifica para resolver o problema. Otimização de funções numéricas em geral Otimização combinatória Problema do caixeiro viajante Problema de empacotamento Alocação de recursos (job shop schedulling) Aprendizado de Máquina

Algoritmo Genético Tradicional 1. Gerar a população inicial. 2. Avaliar cada indivíduo da população. 3. Enquanto critério de parada não for satisfeito faça 3.1 Selecionar os indivíduos mais aptos. 3.2 Criar novos indivíduos aplicando os operadores crossover e mutação. 3.3 Armazenar os novos indivíduos em uma nova população. 3.4 Avaliar cada cromossomo da nova população.

Support Vector Machines Support vector machines usa modelos lineares para implementar fronteiras de classes não lineares Como? Transformando o espaço de instancias em um novo espaço via uma aplicação não linear Um modelo linear construido no novo espaço pode representar uma fronteira de decisão não linear no espaço original

Support Vector Machines Support vector machines são algoritmos para a aprendizagem de classificadores lineares Eles são resistentes ao hiper-ajustamento (overfitting) porque eles aprendem uma superficie de decisão linear específica: o hiper-plano marginal máximo O hiperplano marginal maximo é aquele que fornece a maior separação entre as classes Eles são rápidos no caso não linear Eles empregam uma astucia matemática para evitar a criação de “pseudo-atributos” O espaço não linear é criado implicitamente

Hiper-plano marginal maximo Vetor Suporte

Vetor Suporte As instâncias mais próximas do hiper-plano marginal máximo (aquelas de menor distancia em relação a ele) são chamadas support vector Os vetores suport definem o hiper-plano marginal máximo Todas as outras instâncias podem ser eliminadas sem mudar a posição e a orientação do hiper-plano Isso significa que o hiper-plano pode ser escrito como

SVMs não lineares “pseudo atributos” representam combinações de atributos Overfitting não constitui um problema porque o hiper-plano marginal máximo é estável Usualmente existem poucos vetores suporte em relação ao tamanho do conjunto de treinamento Complexidade no tempo pode ser um problema Cada vez que o dot product é calculado é necessário passar pelos “pseudo atributos”

SVMs não lineares Pode-se evitar o cálculo dos “pseudo atributos” Pode-se calcular o dot product antes de aplicar a transformação não linear, no conjunto de atributos originais Exemplo. Em vez de calcular pode-se calcular n é o numero de fatores na transformação Isso corresponde a mapear em um espaço de instâncias gerado pelo produto de n atributos Comece com n=1 (modelo linear) e incremente ate que o erro estimado cesse de diminuir

Aplicações Visão computacional: identificação facial Superior as outras abordagens Reconhecimento de caracteres Comparável as melhores alternativas Bioinformática: previsão de estrutura secundária de proteínas Classificação textual Pode ser modificado para lidar com problemas de previsão de descritores numéricos

Tipos de Aprendizagem I (pelo grau de feedback) Supervisionada: um ”professor“ diz quanto a resposta dada pelo sistema se aproxima da resposta desejada. (e. g. nota de um aluno numa prova) Por Reforço: um ”professor“ diz apenas se a resposta dada pelo sistema está certa ou errada. (e. g. punição/recompensa no treinamento de animais) Não-Supervisionada: o sistema tenta se auto-organizar baseado nas similaridades entre os exemplos a ele apre-sentados. (e. g. agrupamento de clientes)

Tipos de Aprendizagem II (pelo grau de feedback) Supervisionada: Conjunto de treinamento s = {(x1, f(x1)), (x2, f(x2)),..., (xn, f(xn))} Convergência rápida Por Reforço: Conjunto de treinamento s = {(x1, sgn[f(x1)] ), (x2, sgn[f(x2)] ),..., (xn, sgn[f(xn)] )} Convergência média Não-Supervisionada: Conjunto de treinamento s = {(x1, ), (x2, ),..., (xn, )} Convergência lenta

Controle da aprendizagem Aprende depois age ou aprende agindo (treinos x jogos) Agir sempre otimamente x aprender novas habilidades Busca de hipótese: incremental (exemplos apresentado ao poucos) ou não (todos de uma vez) iterativa (exemplos re-apresentados em várias épocas) ou não (uma apresentação de cada exemplo basta) top-down (refina hipótese geral para cobrir exemplos) ou bottom-up (generaliza exemplos para abstrair hipótese) ou bi-direcional gulosa (generaliza exemplos assim que encontrados) ou preguiçosa (não generaliza exemplos com antecedência, apenas os indexa para os adaptar ao receber novas consultas parecidas) global (aproxima função completa) ou local (aproxima-la por partes)

Representação do conhecimento Função matemática: domínio e escopo: {0,1}, Z, R monotonia, continuidade polinomial, exponencial, logarítmica Lógica: proposicional (ordem 0), de atributos (ordem 0+) de Horn ou dos predicados (ordem 1) exóticas (ordem superior, temporal, modal, etc) Distribuição de probabilidades Outros, ex.: Pesos em redes conexionistas, Representações orientada a objetos, Árvores de decisão, etc...

Conhecimento prévio Aprendizagem sem conhecimento prévio: dados (exemplos)  conhecimento Aprendizagem com conhecimento prévio: dados x conhecimento prévio  conhecimento Métodos de aprendizagem que permitem usar conhecimento prévio em entrada: re-aproveitam de conhecimento: adquirido com especialistas humanos aprendido durante passos anteriores de KDD para aprendem a partir de muito menos dados Exemplos, conhecimento prévio e conhecimento aprendido pode ser representados no mesmo formalismo?

Viés Conhecimento prévio: Viés: conhecimento do domínio da aplicação inteligente ex, futebol de robôs, bolsa de valor, meteorologia, etc. no mesmo formalismo do que o conhecimento a aprender Viés: meta-conhecimento prévio sobre a forma do conhecimento a aprender a partir dos dados, ex., classe de função a aproximar (linear, polinomial, ...) classe de função medindo o erro da aproximação (médio quadrado, …) dimensionalidade do espaço de hipótese distribuição probabilista dos pontos nesse espaço (normal, poisson, ..) restrições lexicais e sintática da linguagem de representação do conhecimento a aprender (ex, número de premissa ou conclusões de regras, numero de grupos classificando exemplos, …) Aprendizagem sem viés não tem poder de generalização !