Aprendizagem de máquina: visão geral Francisco Carvalho, Paulo Adeodato, Geber Ramalho e Jacques Robin CIn-UFPE
Aprendizagem On-Line: Agente Adaptativo Experiências informativas Depende do FRC Padrões de aceitação Agente t + 1 sensores crítico t avaliação trocas elemento ator elemento de aprendizagem conhecimento a m b i e n t e objetivos de aprendizagem Gerador de problemas efetuadores
Aprendizagem Off-Line: Acquisição de Conhecimento para Sistema Inteligente exemplos Escolhe e descreve elemento de aprendizagem parametriza Engenheiro de conhecimento critica Agente elemento ator Base de conhecimento
Dimensões para classificar tarefas e técnicas de aprendizagem de máquina Tarefas de aprendizagem: componente e aspeto do elemento de performance a melhorar Complexidade do ambiente do agente aprendiz Retorno no processo de treinamento do agente Controle dos mecanismos de aprendizagem e de ação Formalismo de representação do conhecimento Aproveitamento de conhecimento prévio Visões unificadoras: aprendizagem = adquirir uma representação, geralmente aproximativa, de uma função matemática aprendizagem = busca de uma região em um espaço de hipótese explicando os dados (exemplos) Relação com otimização, analise numérica, estatística Propriedades matemática e viés a priori sobre a função a aproximar ou do espaço de hipótese a buscar
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 Aprendizagem por explicações Raciocínio baseado em casos Aprendizagem Q Agrupamento de conceitos proposicionais Paradigma probabilista: K Vizinhos mais próximo Regressão estatística Funções de bases radiais Aprendiz bayesiano ingênuo Paradigma conexionista: Perceptron multicamada Memórias associativas Paradima evolucionista: Algoritmos genéticos Abordagens híbridos: Rede bayesianas
Tarefas de aprendizagem Classificação: dados = instâncias conceitos aprende novo conhecimento da forma: CI: Estado(Ambiente,t) x Percepções(t) Estado(Ambiente,t+1) Previsão: dados(t) conceitos dados(t+1) CP1: Estado(Ambiente,t) Estado(Ambiente,t+1) CP2: Estado(Ambiente,t) x Ações(t) Estado(Ambiente,t+1) classificação destacando atributo tempo generaliza-se na identificação de serias temporais Controle: dados política de comportamento R: Percepções Ações, ou Cu1: Estado(Ambiente,t) x Objetivos(t) Utilidade, ou Cu2: Estado(Ambiente,t) x Ações(t) x Objetivos(t) Utilidade
Tarefas de aprendizagem Otimização: aprender nova representação de conhecimento prévio para melhorar desempenho do agente e não sua versatilidade embora não envolve aprender nada de fundamentalmente novo as vezes a diferença entre 2 representações do mesmo problema é a diferença entre uma solução puramente teórica e uma solução operacional na prática Meta-aprendizagem aprender valores ótimas de parâmetros ou de representações de viés para aprendizagem de conhecimento do domínio da aplicação Aprendizagem multi-camada: muitas vezes, controle requer previsão, que requer classificação e o conhecimento assim obtido precisa ser otimizado para execução em tempo real ex, futebol de robôs
Complexidade do ambiente Acessível? Episódico? Discreto? Determinista? Ruidoso? Dinâmico? Relacional? Diverso? Grande?
Retorno no processo de treinamento Aprendizagem supervisionada certo(ação) ou errado(ação) Dado conjunto de exemplos pré-classificados, Aprender descrição que abstraí a informação contida nesses exemplos e que pode ser usada para prever casos futuros ex., concessão de crédito Aprendizagem não-supervisionada se vire! Dada uma coleção de dados não classificados, Agrupá-los por regularidades ex., caixa de supermercado empacotando
Retorno no processo de treinamento Aprendizagem por reforço: recompensa/punição certo(ação1(t0)/.../ação(tn) ou errado(ação1(t0)/.../ação(tn)) dado sucesso ou insucesso global de um seqüência de ação, determinar qual ação e’ a mais desejável em cada situação ex., DeepBlue jogando contra ele próprio: é por a propagar para trás recompensas e punições a partir do estado final
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... se reduzem as 3 primeiras
Conhecimento prévio Aprendizagem sem conhecimento prévio: dados (exemplos) conhecimento Aprendizagem com conhecimento prévio: dados x conhecimento prévio conhecimento aprendido 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 Homogeneidade: 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 !
Indução de árvore de decisão: características Tarefas: classificação, previsão e controle Ambiente: inacessível: + não episódico: + contínuo: + ou - ruidoso: + dinâmico: + relacional: - diverso: - grande: + Supervisionado Controle da aprendizagem: Treino antes da ação Não incremental Não iterativo Top-down Guloso Global Representação do conhecimento: lógica propocisional Não pode aproveitar de conhecimento prévio Propriedades da função aproximada: escada N dimensional
Busca no espaço de versões: características Tarefas: classificação, previsão e controle Ambiente: inacessível: + não episódico: + contínuo: + ou - ruidoso: + ou - dinâmico: + ou - relacional: - diverso: - grande: + ou - Supervisionado Controle da aprendizagem : Treino antes da ação Incremental Não iterativo Bidirecional: top-down e bottom-up Guloso Global Representação do conhecimento: lógica proposicional Não pode aproveitar de conhecimento prévio Propriedades da função aproximada: escada N dimensional
N vizinhos mais próximos Algoritmo de Treinamento Para cada exemplo <x, f(x)>, onde x=(x1,…,xp) é a sua descrição e f(x) é a sua classificação, adicionar o mesmo a lista treinamento Algoritmo de Classificação Dada uma instância xq a ser classificada seja x1, …, xk, as k instancias da lista treinamento mais similares a xq retorne faprox(xq) o valor mais comum de f entre as k instancias da lista treinamento mais similares a xq
N mais vizinhos próximos: exemplo - - - - + - xq + + - + 1 vizinho mais próximo classifica xq positivo, 5 vizinhos mais próximos classifica xq negativo
N vizinhos mais próximos: características Tarefas: classificação, previsão, controle Ambiente: inacessível: + não episódico: + contínuo: + ruidoso: + dinâmico: + relacional: - diverso: - grande: + Supervisionado Controle da aprendizagem: Treino antes ou durante a ação Incremental Não iterativo Preguiçoso Local Representação do conhecimento: pontos em espaço N dimensional Não pode aproveitar de conhecimento prévio Propriedades da função aproximada: 1 poliedro convexo ao redor de cada exemplo
Regressão localmente ponderada Generalização do K vizinhos mais próximos Constrói uma aproximação explicita de uma função f em uma região próxima de xq Aproximação linear, quadrática, exponencial, ... de f Regressão linear: faprox = w0 + w1 y1(x) + … + wp yp(x) Escolher os pesos wi que minimiza a soma dos quadrados dos erros em relação aos k vizinhos mais próximos de xq
Regressão localmente ponderada: características Tarefas: classificação, previsão, controle Ambiente: inacessível: + não episódico: + contínuo: + ruidoso: + dinâmico: + relacional: - diverso: - grande: + Supervisionado Não pode aproveitar de conhecimento prévio Controle da aprendizagem: Treino antes ou durante da ação Incremental Não iterativo Preguiçoso Local Representação do conhecimento: pontos em espaço N dimensional Propriedades da função aproximada: teoricamente qualquer função já que forma da função é parâmetro do método
Classificador bayesiano ingênuo: teorema de Bayes V1, ... Vn partição Y = i (YVi) Então: P(Y) = i P(Y Vi ) = i P(Y |Vi ) P(Vi ) E então: V1 V2 Vi Vn Y
Classificador bayesiano ingênuo: idéia Conjunto de treinamento = conjunto de pares <x, f(x)> onde x = (x1, …, xp), com xi valore do atributo i de x f(x) V = {V1, ... , Vm) Classificador de Bayes: Aloca uma nova instância y = (y1, …, yp) o valor que maximamente verossímil vMAP vMAP = argmax P(vj / y1, …, yp) vj V = argmax P(y1, …, yp / vj) P(vj) (teorema de Bayes) P(y1, …, yp / vj) e P(vj) simplesmente freqüências na base exemplos Hipótese ingênua de independência entre todos os atributos descritivos P(a1, …, ap / vj) = i P(ai / vj) VMAP = argmax P(y1, …, yp / vj) P(vj) = VNB = argmax P(vj) i P(ai / vj) vj V vj V
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
Classificador bayesiano ingênuo: características Tarefas: classificação, previsão e controle Ambiente: inacessível: + não episódico: + contínuo: - ruidoso: + dinâmico: + relacional: - diverso: - grande: + Supervisionado Não pode aproveitar de conhecimento prévio Controle da aprendizagem: Treino antes e durante a ação Não incremental Não iterativo Preguiçoso Global Representação do conhecimento: probabilidades condicionais entre proposições representadas por pares atributo-valor Propriedades da função a aproximar: distribuição de probabilidades univariada e discreta
Raciocínio Baseado em Casos Aquisição manual do conhecimento: Aprendizagem indutivo: Case-based reasoning (CBR) Especialista Humano Regras Exemplos Regras Exemplos Exemplos parecidos
Raciocínio Baseado em Casos Extensão de K vizinhos mais próximos: descrições simbólicas x coordenadas em um espaço euclidiano adaptação do resultado da função do exemplo cuja descrição é a mais próximo do novo caso a processar
CBR: recuperar, reutilizar, revisar, reter novo caso (alvo) novo caso (alvo) Indexar caso recupe-rado (fonte) problema base Reutilizar caso aprendido caso solução solução sugerida Reter caso testado e corrigido solução final Revisar
Raciocínio baseado em casos: características Tarefas: classificação, previsão, controle Ambiente: inacessível: + não episódico: + contínuo: + ruidoso: + dinâmico: - relacional: - diverso: - grande: + Supervisionado Não pode aproveitar de conhecimento prévio Controle da aprendizagem: Treino durante da ação Incremental Não iterativo Preguiçoso Local Representação do conhecimento: medida de similaridade entres pares de atributos-valores Propriedades da função aproximada: depende do método particular de indexação, recuperação e adaptação do exemplos potencialmente qualquer função
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
MLP: 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
Regiões de Decisão do MLP Ativação Sigmóide x Gaussiana
Redes Neurais: Perceptrão 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
Exemplo de aplicação de MLP: previsão de séries temporais
Perceptron Multi-Camada: características Tarefas: classificação, previsão, controle Ambiente: inacessível: + não episódico: + contínuo: + ruidoso: + dinâmico: + relacional: - diverso: - grande: + ou - Supervisionado Não pode aproveitar de conhecimento prévio Controle da aprendizagem: Treino antes da ação Incremental ou não incremental Iterativo Guloso Global Representação do conhecimento: pesos das conexões na rede Propriedades da função aproximada: função arbitrária
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 (transformações conformes) 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
Memórias associativas: características Tarefas: classificação, previsão? Ambiente: inacessível: + não episódico: + contínuo: + ruidoso: + dinâmico: + relacional: - diverso: - grande: + Não supervisionado Não pode aproveitar conhecimento prévio Controle da aprendizagem: Treino antes da ação Incremental Iterativo Preguiçoso? Global? Representação do conhecimento: pesos das conexões da redes Propriedades da função aproximada: ?
Paradigma evolutivo: algoritmos genéticos EVOLUÇÃO diversidade é gerada por cruzamento e mutações os seres mais adaptados ao seus ambientes sobrevivem (seleção natural) as características genéticas de tais seres são herdadas pelas próximas gerações Algoritmos genéticos: Definição Método probabilista de busca para resolução de problemas (otimização) “inspirado” na teoria da evolução
Algoritmos genéticos Idéia: Aprendizagem indivíduo = solução faz evoluir um conjunto de indivíduos mais adaptados por cruzamento através de sucessivas gerações fitness function f(i): R ->[0,1] Aprendizagem on-line, numeríca Exemplo: ~compint\public_html\aulas-IAS\programas\ga\tsp2.exe
Aprendizagem evolucionária: características Tarefas: classificação, previsão, controle, meta-aprendizagem Ambiente: inacessível: + não episódico: + contínuo: + ruidoso: + dinâmico: - relacional: + ou - diverso: + grande: + Supervisionado Pode aproveitar de conhecimento prévio (população inicial não aleatória) Controle da aprendizagem: Treino antes da ação Incremental Iterativo Guloso Global Representação do conhecimento: Algoritmo genético: população de indivíduos, cada um representado por um bit string Programação genética: população de indivíduos, cada um representada pela árvore de instruções informática Propriedades da função aproximada: função arbitrária?
: características Tarefas: Ambiente: Supervisionado inacessível: não episódico: contínuo: ruidoso: dinâmico: relacional: diverso: grande: Supervisionado Conhecimento prévio Controle da aprendizagem: Treino antes da ação? Incremental? Iterativo? Top-down? Guloso? Global? Representação do conhecimento: Propriedades da função aproximada: escada N dimensional