Aprendizagem de mquina viso geral Francisco Carvalho Paulo

  • Slides: 42
Download presentation
Aprendizagem de máquina: visão geral Francisco Carvalho, Paulo Adeodato, Geber Ramalho, Jacques Robin, Marcilio

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

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

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,

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

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=<x 1, …, 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)

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(x 1, …, xk|C) =

Classificador Bayesiano Igenuo Suposição ingenua: independencia entre os atributos P(x 1, …, xk|C) = P(x 1|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. D 1 Sol Quente Alta D

Classificador bayesiano ingênuo: exemplo Dia Tempo Temp. Humid. D 1 Sol Quente Alta D 2 Sol Quente Alta D 3 Coberto Quente Alta D 4 Chuva Normal Alta D 5 Chuva Frio Normal D 6 Chuva Frio Normal D 7 Coberto Frio Normal D 8 Sol Normal Alta D 9 Sol Frio Normal D 10 Chuva Normal Vento Fraco Forte Fraco Fraco D 11 Sol Forte Frio Alta Jogar Não Sim Não Sim ? 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(D 11) = Não

A hipótese de independencia… * … torna os cálculos possíveis * … torna 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) Cancer. Pulmão

Redes Bayesianas Hostoria Familiar Fumante (HF, F) (HF, ~F)(~HF, F) (~HF, ~F) Cancer. Pulmão Raio. XPositive Emfisema Dispneia Rede Bayesiana CP 0. 8 0. 5 0. 7 0. 1 ~CP 0. 2 0. 5 0. 3 0. 9 A tabela de probabilidades condicional para a variável Cancer. Pulmão

Resdes Bayesianas * Redes Bayesianas adimitem um subconjunto de variáveis condicionalmente independentes * Modelagem

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 t as tabelas de probabilidade condicionada podem ser estimadas usando o conjunto de exemplos • Estrutura desconhecida, completamente observável t o problema é construir a topologia da rede. • Estrutura conhecida, variáveis escondidas t caso parecido com aprendizado em redes neurais • Estrutura desconhecida, variáveis escondidas t 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

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 s 1 w 1 i sj wji sn s degrau semi-linear t e e(i) ó õ s(i) wni s sigmoide e s e

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

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

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

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

Cascade-Correlation: complexidade funcional em função do número de neurônio 1 neurônio 3 neurônios 5

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

Redes Neurais: Perceptron Multi-Camada com Retropropagação Multi-Layer Perceptron (MLP) * Exemplos: codificados na camada

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: a - taxa de aprendizagem d = (si - di), erro sj - saída do neurônio anterior j • até algum critério de convergência chega a ser satisfeito

Redes Neurais * Vantagens • ~qualidade de previsão geralmente é alta • Robustes, funciona

Redes Neurais * Vantagens • ~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

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

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

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 t t 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=0 T=25 T=10. 000 T=500 T = iteração

Memória associativas: exemplo T=0 T=25 T=10. 000 T=500 T = iteração

Algoritmos Genéticos São técnicas de busca e otimização. * É a metáfora da teoria

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

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

Teoria da Evolução * • Pai da genética. . Gregor Mendel 1865 - Gregor

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

Otimização * É a busca da melhor solução para um dado problema. * As

Otimização * É a busca da melhor solução para um dado problema. * As técnicas de otimização, geralmente, apresentam: • Consiste em tentar vários soluções e usar a informação obtida para conseguir soluções cada vez melhores. · 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

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

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

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.

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

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

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

Hiper-plano marginal maximo Vetor Suporte

Vetor Suporte As instâncias mais próximas do hiper-plano marginal máximo (aquelas de menor distancia

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

SVMs não lineares “pseudo atributos” representam combinações de atributos * Overfitting não constitui um problema porque o hiperplano 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

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

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

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 apresentados. (e. g. agrupamento de clientes)

Tipos de Aprendizagem II (pelo grau de feedback) * Supervisionada: • Conjunto de treinamento

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

Controle da aprendizagem Aprende depois age ou aprende agindo (treinos x jogos) * Agir

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

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 conhecimento

Conhecimento prévio * Aprendizagem sem conhecimento prévio: • dados (exemplos) conhecimento * Aprendizagem 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: t t 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: • conhecimento do domínio da aplicação inteligente • ex, futebol

Viés * Conhecimento prévio: • 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. , t t t * 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 !