Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Gerson Groth Inteligência Artificial Aula 05 – Probabilidade, Redes Bayesianas e Introdução à Machine Learning http://www.free-powerpoint-templates-design.com/ Relembrando Relembrando Grande parte dos ambientes contém elementos de incerteza. Um robô não tem certeza aonde ele está devido a possibilidade dos motores escorregarem Sensores podem não ser confiáveis Tem-se apenas informações parciais sobre o ambiente Como podemos raciocinar sobre tais domínios? Teoria da Probabilidade Rede Bayesiana Carro não liga Sem Bateria Bateria Morta Bateria não está carregando Alternador Quebrado Correia Quebrada Medidor de Bateria Idade da Bateria Luzes Luz do óleo Medidor de Combustível Medidor de Óleo Sem óleo Sem combustível Passagem de combustível bloqueada Arranque quebrado Rede Bayesiana 16 nodos Se assumirmos que são binários 2^16 valores diferentes Rede Bayesiana é uma representação compacta da distribuição sobre essa vasta rede de distribuição de probabilidades de todas essas variáveis Rede Bayesiana Especificar Observar Computar Usada em quase todos os campos de sistemas de computação inteligentes Redes Bayesianas Eventos Binários Probabilidade Redes Bayesianas Simples Independência Condicional Teoria da Probabilidade Como podemos lidar com regras complexas que não são sempre verdadeiras? Probabilidade é um dos pilares da Inteligência Artificial Usados para expressar incerteza Machine Learning Redes Bayesianas Visão Computacional Robótica Teoria da Probabilidade Associamos um grau de crença com a proposição: P(h) = 0.5 h é uma variável randômica e pode assumir valores {true,false}. Variáveis randômicas podem ser: Booleanas Discretas Contínuas Teoria da Probabilidade Em lógica, nós temos um número de mundos possíveis Um deles é verdade, todos os outros são falsos Teoria da probabilidade trata o quão provável é cada um dos mundos A probabilidade de um mundo é dada por P(w) = [ 0 , 1 ] para cada mundo w. A soma da probabilidade de todos os mundos é igual a 1. Teoria da Probabilidade P(h) = ½ P(t) = ? Teoria da Probabilidade P(h) = ½ P(t) = ½ ou 50% (0.5) Probabilidade à Prior Probabilidade à Prior, ou Incondicional, mede o grau de crença associado a alguma proposição na falta de qualquer outra informação. Por exemplo: P(moeda = cara) = 0.5 -> abreviada como P(cara) = 0.5 Uma distribuição de probabilidade captura a probabilidade de cada possível valor da proposição: Por exemplo: moeda justa P(moeda) P(cara) = 0.5 P(coroa) = 0.5 Escrevemos isso P(h)=0.5 e P(t)=0.5 Teoria da Probabilidade P(h) = ¼ P(t) = ? Teoria da Probabilidade P(h) = ¼ P(t) = ¾ ou 75% Teoria da Probabilidade Moeda viciada – sempre cai cara primeiro P(h) = ? P(t) = ? Teoria da Probabilidade Moeda viciada – sempre cai cara primeiro P(h) = 1 (100%) P(t) = 0 (0%) P(h) + P(t) = 1 P(A) = 1 – P(¬A) Teoria da Probabilidade {cara, cara} P(h) = 0.5 P(h, h) = ? Teoria da Probabilidade {cara, cara} P(h) = 0.5 P(h, h) = 0.25 2 moedas {cara, cara} P(h) = 0.5 P(h,h) = 0.25 P(h,h) = P(h) * P(h) 2 moedas {cara, cara} P(h) = 0.6 P(h,h) = ? 2 moedas {cara, cara} P(h) = 0.6 P(t) = 0.4 P(h,h) = 0.36 2 moedas P(h) = 0.5 P(exatamente 1 h) = ? 2 moedas P(h) = 0.5 P(exatamente 1 h) = 0.5 Teoria da Probabilidade {cara, cara, cara} P(h) = 0.5 P(h, h, h) = ? Teoria da Probabilidade {cara, cara, cara} P(h) = 0.5 P(h, h, h) = 0.125 3 moedas P(h) = 0.5 P(exatamente 1 h) = ? 3 moedas P(h) = 0.5 P(exatamente 1 h) = 3/8 3 moedas P(h) = 0.6 P(exatamente 1 h) = ? 3 moedas P(h) = 0.6 P(exatamente 1 h) = 0.288 Probabilidade Xi = resultado da ith moeda Xi = {h,t} Pi(H) = ½ ∀𝑖 P(X1 = X2 = X3 = X4) = ? Probabilidade Xi = resultado da ith moeda Xi = {h,t} Pi(H) = ½ ∀𝑖 P(X1 = X2 = X3 = X4) = 0.125 Probabilidade Xi = resultado da ith moeda Xi = {h,t} Pi(H) = ½ ∀𝑖 P({X1 X2 X3 X4} contém >= 3 h) = ? Probabilidade Xi = resultado da ith moeda Xi = {h,t} Pi(H) = ½ ∀𝑖 P({X1 X2 X3 X4} contém >= 3 h) = 0.3125 5 * 1/16 = 0.3125 Probabilidade Probabilidade Complementar 𝑃 𝐴 = 𝑝 → 𝑃 ¬𝐴 = 1 − 𝑝 Independência 𝑋 𝑌: P(X) P(Y) = P(X,Y) Dependência Dependência H: P(X2 = H | X1 = H) = 0.9 P(X1 = H) = ½ T: P(X2 = T | X1 = T) = 0.8 P(X2 = H) = ? Dependência H: P(X2 = H | X1 = H) = 0.9 P(X1 = H) = ½ T: P(X2 = T | X1 = T) = 0.8 P(X2 = H) = 0.55 P(X2 = H) = P(X2 = H | X1 = H).P(X1 = H) + P(X2 = H | X1 = T).P(X1 = T) = 0.9 * ½ + 0.2 * ½ = 0.45 + 0.1 = 0.55 Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = ? Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = 0.2 Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = 0.2 P(D2 = Sol | D1 = Chuva) = 0.6 P(D2 = Chuva | D1 = Chuva) = ? Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = 0.2 P(D2 = Sol | D1 = Chuva) = 0.6 P(D2 = Chuva | D1 = Chuva) = 0.4 Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = 0.2 P(D2 = Sol | D1 = Chuva) = 0.6 P(D2 = Chuva | D1 = Chuva) = 0.4 P(D2 = Sol) = ? P(D3 = Sol) = ? Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = 0.2 P(D2 = Sol | D1 = Chuva) = 0.6 P(D2 = Chuva | D1 = Chuva) = 0.4 P(D2 = Sol) = 0.78 -> 0.9*0.8 + 0.1*0.6 P(D3 = Sol) = ? Exercício P(D1) P(D1 = Sol) = 0.9 P(D2 = Sol | D1 = Sol) = 0.8 P(D2 = Chuva | D1 = Sol) = 0.2 P(D2 = Sol | D1 = Chuva) = 0.6 P(D2 = Chuva | D1 = Chuva) = 0.4 P(D2 = Sol) = 0.78 -> 0.9*0.8 + 0.1*0.6 P(D3 = Sol) = 0.756 -> 0.78 * 0.8 + 0.22 * 0.6 Probabilidade Condicional Probabilidade condicional, ou posterior, identifica a probabilidade de uma proposição, dado o conhecimento que alguma outra proposição ocorra. Isso pode também ser expressado como P(A,B) = P(A | B) * P(B) Exercício - Câncer P(C) = 0.01 P(~C) = ? Exercício - Câncer P(C) = 0.01 P(~C) = 0.99 P(+|C) = 0.9 P(-|C) = ? Exercício - Câncer P(C) = 0.01 P(~C) = 0.99 P(+|C) = 0.9 P(-|C) = 0.1 P(+|~C) = 0.2 P(-|~C) = 0.8 P(C|+) = P(+,C) = ? P(-,C) = ? P(+,~C) = ? P(-,~C) = ? Exercício - Câncer P(C) = 0.01 P(~C) = 0.99 P(+|C) = 0.9 P(-|C) = 0.1 P(+|~C) = 0.2 P(-|~C) = 0.8 P(C|+) = ? P(+,C) = 0.009 P(-,C) = 0.001 P(+,~C) = 0.198 P(-,~C) = 0.792 Exercício - Câncer P(C) = 0.01 P(~C) = 0.99 P(+|C) = 0.9 P(-|C) = 0.1 P(+|~C) = 0.2 P(-|~C) = 0.8 P(C|+) = 0.043 = 0.009/(0.009 + 0.198) = 0.043 P(+,C) = 0.009 P(-,C) = 0.001 P(+,~C) = 0.198 P(-,~C) = 0.792 Regra de Bayes P(A|B) = P(B|A) . P(A) P(B) P(B) = Probabilidade total P(C|+) = P(+|C) . P(C) P(+) 0.9 * 0.01 = 0.009 = 0.043 0.9*0.01 + 0.2*0.99 0.009 + 0.198 Regra de Bayes Quantos parâmetros? A B Não observável Observável P(A) P(B|A) P(B|~A) Diagnóstico P(A|B) P(A|~B) Regra de Bayes Quantos parâmetros? 3 A B Não observável Observável P(A) P(B|A) P(B|~A) Diagnóstico P(A|B) P(A|~B) Redes Bayesianas Introduzimos teoria da probabilidade Discutimos como independência simplifica a representação do mundo Como podemos codificar tal relacionamento de independência? Redes Bayesianas Uma Rede Bayesiana (BN) representa a dependência entre as variáveis e codifica a distribuição de probabilidade conjunta de maneira concisa Um rede bayesiana é um grafo, onde cada nodo é anotado com informações de probabilidade. O conjunto de variáveis produz os nodos da rede Um conjunto de links diretos conecta pares de nodos, codificando relação de pai-filho Cada nodo Xi tem uma distribuição de probabilidade condicional P( Xi | Pai(Xi) ) O grafo tem círculos diretos Intuitivamente, arcos de X para Y significam que X tem influência direta em Y. Redes BayesianasP(A|B) = P(B|A) . P(A) P(A|B) + P(~A|B)=1 P(B) P(~A|B) = P(B|~A) . P(~A) P(B) P’(A|B) = P(B|A)P(A) P(A|B) = 𝜗P’(A|B) P’(~A|B) = P(B|~A)P(~A) P(~A|B) = 𝜗P’(~A|B) 𝜗 = (P’(A|B) + P’(~A|B) )^(-1) Exemplo Teste Câncer C T1 T2 P(C) = 0.01 P(+|C) = 0.9 P(-|~C) = 0.8 P(~C) = 0.99 P(-|C) = 0.1 P(+|~C) = 0.2 P(C|T1 = + T2 = +) = P(C|++) = ? Exemplo Teste Câncer C T1 T2 P(C) = 0.01 P(+|C) = 0.9 P(-|~C) = 0.8 P(~C) = 0.99 P(-|C) = 0.1 P(+|~C) = 0.2 P(C|T1 = + T2 = +) = P(C|++) = 0.1698 + + ‘P P(C|++) C 0.01 0.9 0.9 0.0081 0.1698 ~C 0.99 0.2 0.2 0.0396 0.8301 0.0477 Exemplo Teste Câncer C T1 T2 P(C) = 0.01 P(+|C) = 0.9 P(-|~C) = 0.8 P(~C) = 0.99 P(-|C) = 0.1 P(+|~C) = 0.2 P(C|T1 = + T2 = +) = P(C|++) = 0.1698 P(C|T1 = + T2 = -) = P(C|+-) = ? Exemplo Teste Câncer C T1 T2 P(C) = 0.01 P(+|C) = 0.9 P(-|~C) = 0.8 P(~C) = 0.99 P(-|C) = 0.1 P(+|~C) = 0.2 P(C|T1 = + T2 = +) = P(C|++) = 0.1698 P(C|T1 = + T2 = -) = P(C|+-) = ? + - ‘P P(C|+-) C 0.01 0.9 0.1 0.0009 0.0056 ~C 0.99 0.2 0.8 0.1584 0.9943 0.1593 Exercício Final C T1 T2 P(C) = 0.01 P(+|C) = 0.9 P(-|~C) = 0.8 P(~C) = 0.99 P(-|C) = 0.1 P(+|~C) = 0.2 P(T2 = + | T1 = +) = ? Aprendizado de Máquina Motivação Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Motivação Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Motivação Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Motivação Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Cogumelos Comestíveis X Venenosos Um pesquisador foi a campo e coletou diversos cogumelos Ao chegar em seu laboratório, ele mediu o comprimento e altura de cada cogumelo Ele também classificou cada cogumelo coletado como comestível ou venenoso Cogumelos Comestíveis X Venenosos Aprendizado Sócrates: “Aprender é recordar” Aprendizado de Máquina Um programa de computador é dito aprender a partir de uma experiência E com respeito a alguma classe de tarefas T e medida de desempenho P, se seu desempenho em tarefas de T, medido por P, melhora com a experiência E.” (Mitchell, 1997) Exemplo 1 – Jogar Xadrez Tarefa T: jogar Medida de desempenho P: porcentagem de jogos vencidos contra adversários Experiência de treinamento E: praticar jogando contra si próprio ou contra adversários humanos (p.ex., pela internet) Exemplo 2 – Filtrar Spam Tarefa T: categorizar mensagens de e-mail como spam ou legítima Medida de desempenho P: percentagem de mensagens corretamente classificadas Experiência de treinamento E: conjunto de e-mails manualmente rotulados por seres humanos Exercício 1 – Reconhecer Escrita Tarefa T: Medida de desempenho P: Experiência de treinamento E: Exercício 2 – Veículo autônomo Tarefa T: Medida de desempenho P: Experiência de treinamento E: Exercício 3 – Diagnóstico Médico Tarefa T: Medida de desempenho P: Experiência de treinamento E: Paradigmas de Aprendizado de Máquina Paradigmas de Aprendizado de Máquina Treinamento: Supervisionado Semi Supervisionado Não Supervisionado Reforço Treinamento Supervisionado Guiado por “professor” externo: “Professor” possui conhecimento sobre a tarefa Representado por conjuntos de pares (x, d) Algoritmo de AM gera modelo que busca reproduzir comportamento do “professor” Parâmetros do modelo são ajustados por apresentações sucessivas dos pares (x, d) Após a geração do modelo (treinamento), desempenho do sistema deve ser testado com dados não-vistos: Dados de teste 𝐷𝑡𝑒𝑠𝑡𝑒 ∩ 𝐷𝑡𝑟𝑒𝑖𝑛𝑎𝑚𝑒𝑛𝑡𝑜 = ∅ Treinamento Supervisionado Exemplos de tarefas supervisionadas: Classificação de padrões: Categorizar objetos Regressão: previsão de valores contínuos Treinamento por Reforço Guiado por um “crítico” externo Processo de tentativa e erro Procura maximizar sinal de reforço Se ação tomada pelo agente é seguida de um estado satisfatório, aquela decisão é fortalecida. Caso contrário, é enfraquecida (lei de Thorndike) Tipos de reforço: Positivo | Negativo | Nulo Supervisionado X Reforço Treinamento Não Supervisionado Nem “crítico” nem “Professor” Extração de propriedades estatisticamente relevantes Exemplos Clusterização: descobre categorias automaticamente Associação: descobre relacionamentos entre variáveis Foco da Aprendizagem Devem ser especificados: Tipo exato de conhecimento a ser aprendido: Função alvo Uma representação para o conhecimento adquirido: Modelo de representação de conhecimento Um mecanismo de aprendizagem: Técnica de aprendizagem Função Alvo O conhecimento que será aprendido Permite verificar quão bem ele foi aprendido Exemplos: Função discriminante entre categorias (classe) Função de similaridade intragrupos, etc. Escolha da Função Alvo Exemplo: Aprender a diagnosticar pacientes com diabetes Função = mapeamento das características dos pacientes para os valores (classes) “diabéticos” e “não diabéticos” Como aprender a função? Ajustá-la aos dados disponíveis Como determinar o desempenho da função aprendida? Verifica quantos pacientes ela diagnostica corretamente Modelo de representação de conhecimento Modelos matemáticos Modelos simbólicos Modelos “lazy” Modelos Probabilísticos Modelo de representação de conhecimento Modelos matemáticos: Regressão linear/logística Redes Neurais Máquinas de Vetores de Suporte Modelo de representação de conhecimento Modelos Simbólicos Árvores de Decisão Regras em lógica proposicional ou de 1ª ordem Redes Semânticas Modelo de representação de conhecimento Modelos “lazy”: K-NN Raciocínio Baseado em Casos (CBR) Modelo de representação de conhecimento Modelos Probabilísticos Naive Bayes Redes Bayesianas Mistura de Gaussianas Modelos de Markov Escondidos (HMMs) Exemplos de Modelos Exemplos de Modelos Exemplos de Modelos Modelo de representação de conhecimento Dado um tipo de modelo, uma função alvo e um conjunto de exemplos de treinamento, é preciso algum mecanismo para obter um modelo específico que represente bem a função alvo Esse mecanismo constitui, primordialmente, uma técnica de busca Busca-se, no espaço de modelos plausíveis de um determinado tipo, aquele que melhor represente a função alvo Modelo de representação de conhecimento Algoritmos Baseados em Gradiente Regressão linear/logística, redes neurais, … Algoritmos baseados em Programação Dinâmica HMMs, … Algoritmos baseados em Divisão e Conquista Indução de árvores e regras de decisão Algoritmos baseados em Probabilidades Naïve Bayes, Redes Bayesianas, … Algoritmos baseados em Computação Evolutiva Aplicável a vários modelos Identificação Cada tipo de modelo é mais apropriado para determinada classe de problemas Assim como cada técnica é mais apropriada para um tipo de modelo É parte importante do estudo de AM aprender a identificar os cenários mais apropriados para cada modelo e técnica de aprendizado O modelo e a técnica estabelecem algo fundamental no aprendizado de Máquina: Bias Indutivo Bias Indutivo Informalmente, o bias indutivo de um sistema de AM é uma tendência a privilegiar um dado conjunto de hipóteses em detrimento a outras Assuma que “hipótese” neste caso se refere a uma realização (ou instanciação) particular de um modelo para aproximar uma determinada função alvo Informações Úteis sobre AM Repositório de Dados na Web UCI data repository: http://archive.ics.uci.edu/ml/ MachineLearning (Coursera–Andrew Ng): https://class.coursera.org/ml-006 Data Mining withv Weka: https://weka.waikato.ac.nz/explorer http://archive.ics.uci.edu/ml/ https://class.coursera.org/ml-006 https://weka.waikato.ac.nz/explorer Informações Úteis sobre AM WekaSoftware MachineLearning Toolbox (Java) : http://www.cs.waikato.ac.nz/ml/weka/ MatlabToolbox for Pattern Recognition http://www.prtools.org R http://cran.r-project.org/http://www.cs.waikato.ac.nz/ml/weka/ http://www.prtools.org/ http://cran.r-project.org/ Dados e suas Características Conjunto de Dados (Dataset) Linhas (N) Instâncias (instances) Objetos (objects) Exemplos (examples) Tuplas(tuples) Amostras (samples) Casos (cases) Registros (records) Vetor de características (feature vector) Colunas (M) Atributos (attributes) Características (features) Campo (field) Variável (variable) Dimensão (dimension) Conjunto de Dados (Dataset) Ex. Diagnóstico de uma Doença Tipos de Atributos Nominal (qualitativo) Ex: cor, identificação, profissão Ordinal (qualitativo) Ex: qualidade (ruim, médio, bom), dias da semana Intervalar (quantitativo) Ex: data, temperatura em Celsius Racional (quantitativo) Ex: peso, altura, idade, temperatura em Kelvin Exemplo Exercício Definir o tipo dos seguintes atributos como nominal, ordinal, intervalar ou racional: Tempo (em termos de AM ou PM) Brilho (medido por medidor de luz) Brilho (medido pelo julgamento humano) Bronze, Prata e Ouro (medalhas) Número de pacientes em hospital Ranking militar Tipos de Atributos Uma taxonomia alternativa para atributos pode ser estabelecida pelo número de valores Atributo Contínuo Assume uma quantidade incontável de valores Atributo Discreto Assume um número contável de valores Finito ou infinito Atributos Contínuos Assumem valores que são números reais Temperatura Peso Distância ... Atributos Discretos Valores enumeráveis (finitos ou infinitos) estações do ano, cores elementares, código postal nº de filhos, nº de estrelas, nº de anos (quantidades de elementos) Caso especial: Atributos Binários 0 ou 1 V ou F S ou N Binários Assimétricos Caso particular de atributos discretos binários Assume dois valores como todo atributo binário Porém, apenas um deles é relevante Indica que instância possui determinada característica Ex: aluno matriculado ou não em cada disciplina Identificar um atributo binário como assimétrico é importante para o projeto de sistemas de AM! Cenário clássico: text mining Referências Slides adaptados dos professores Bianca Zadrozny e Alison Panisson, Curso Udacity Livro Artificial Intelligence: A Modern Approach
Compartilhar