Revisão de Sistemas Inteligentes

Slides:



Advertisements
Apresentações semelhantes
Otimização com Simulated Annealing e Tabu Search
Advertisements

Redes Neurais Artificiais (RNA): Perceptron
Redes Neurais Artificiais (RNA): Aprendizado
Lógica Fuzzy Aplicada a Sistemas de Diagnóstico
Aspectos de Implementação do Algoritmo Backpropagation
Ronaldo Gilberto de Oliveira
REDES NEURONAIS ARTIFICIAIS (RNAs) Universidade do Minho.
PERCEPTRON (CONTINUAÇÃO)
Adaptive Resonance Theory Carpenter & Grossberg
Backpropagation Through Time
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
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 de Hopfield Redes Neurais COPIN
GRASP Greedy Randomized Adaptative Search Procedure
Curso Introdução às Redes Neuronais Parte 2 Prof. Dr. rer.nat. Aldo von Wangenheim.
IA em jogos modelagem de comportamento de personagens
Redes Neurais (Conceitos Fundamentais)
Raciocínio Baseado em Casos
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial
Inteligência Artificial
Algoritmos Genéticos – Capítulo 11
Algoritmos Genéticos - Capítulo 10 Representação Numérica
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
Previsão de consumos a curto prazo
Meta - heurísticas Prof. Aurora
Introdução O que é computação?.
Otimização Prof. Benedito C. Silva IRN UNIFEI
Otimização por Colônia de Formigas (ACO)
Redes Neurais Prof. Alex F. V. Machado.
Aprendizado de Máquina
Marcílio C. P. de Souto DIMAp/UFRN
Redes Neuronais/Neurais/ Conexionistas Introdução
Tópicos Avançados em Inteligência Artificial
Algoritmos Genéticos Ricardo Prudêncio.
Redes Neurais Artificiais
Adaline ta distância entre saída e resposta desejada
O PROBLEMA DE SCHEDULING EM JOB-SHOP
(OU) Hardware da Rede Implementacao da rede
Redes Neurais Artificiais. Introdução RNA são modelos matemáticos que se assemelham às estruturas neurais biológicas Capacidade computacional adquirida.
Recuperação Inteligente de Informação
Prof. Anne Magály de Paula Canuto
Universidade Federal de Lavras Departamento de Ciência da Computação
Implementação de uma arquitetura de Redes Neurais MLP utilizando FPGA
Regressão e Previsão Numérica.
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
Redes Neurais Artificiais
Algoritmos Genéticos Ricardo Prudêncio.
O Que São as Redes Neurais Artificiais
Inteligência Artificial
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.
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.
Ant Colony Optimization Theory Rio de Janeiro 2011 Disciplina: Inteligência de Enxame Docente: José Manoel Seixas Discente: José Dilermando Costa Junior.
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
Mineração de Dados (Data Mining)
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
Comportamento Assintótico
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:

Revisão de Sistemas Inteligentes Teresa Ludermir

Conteúdo Sistemas Fuzzy Árvores de Decisão. Redes Neurais: Redes Perceptron. Redes Multi-Layer Perceptron treinadas com Backpropagation. Algoritmos Genéticos.

Teoria dos Conjuntos Fuzzy Lógica Fuzzy Teoria dos Conjuntos Fuzzy Definição de conjunto fuzzy Seja X um conjunto (o nosso conjunto universo) O conjunto fuzzy, A, será representado pela função de pertinência,

Operadores dos Conjuntos Fuzzy Lógica Fuzzy Operadores dos Conjuntos Fuzzy Intersecção A B

Operadores dos Conjuntos Fuzzy Lógica Fuzzy Operadores dos Conjuntos Fuzzy União A B

Operadores dos Conjuntos Fuzzy Lógica Fuzzy Operadores dos Conjuntos Fuzzy Complemento

Agente inteligente difuso entrada saída Sensores efetuadores BC Regras Condicionais Incondicionais Fuzzificação Variáveis lingüísticas Conjuntos Difusos Qualificadores Inferência Defuzzificação Min-max vs. aditivas Máximos vs. Centróide

Árvores de Decisão (1/4) São técnicas de classificação que funcionam da seguinte forma: Escolhe um dos atributos. Divide o conjunto de dados através de um teste no atributo escolhido: Se for categórico (nominal): Forma um subconjunto de exemplos para cada categoria possível. Se for numérico: Escolhe um limiar de referência. Forma um conjunto contendo os exemplos cujo atributo é menor que o limiar, e outro contendo aqueles cujo atributo é maior (igual) que o limiar. Continua o processo para os subconjuntos gerados, até que os critérios de parada sejam satisfeitos. Obs.: Cada subconjunto gerado é representado por um nó de uma árvore.

Árvores de Decisão (2/4) Atributo escolhido O objetivo é obter subconjuntos finais com predominância de uma das classes (folhas da árvore). Tempo 9 S, 5 N 9 padrões da classe Sim, 5 padrões da classe Não Chuva Nublado Sol Vento 3 S, 2 N Umidade 2 S, 3 N Sim 4 S, 0 N Normal Fraco Alta Note que o conhecimento pode ser expresso por regras. Ex.: Se (Tempo = Sol) e (Umidade = Alta), então (Classe = Não). Forte Sim 2 S, 0 N Não 0 S, 3 N Sim 3 S, 0 N Não 0 S, 2 N

Árvores de Decisão (3/4) Escolhas importantes de implementação: 1) Critério de escolha do melhor atributo. 2) Critérios de parada do algoritmo. 1) Critério de escolha do melhor atributo: Em geral, escolhe-se aquele com maior ganho de informação. Este ganho é igual à diferença entre as entropias antes e depois de dividir o conjunto usando o atributo. O atributo com maior ganho é aquele que consegue diminuir mais a entropia: Aquele que consegue subconjuntos com quantidades mais desproporcionais entre as classes. Ex.: Muitos padrões da classe A e poucos da classe B. Dessa forma, estamos preferindo atributos que têm importância na distinção entre as classes.

Árvores de Decisão (4/4) 2) Critérios de parada do algoritmo: É importante definir, a fim de evitar overfitting: A árvore fica tão complexa que modela exatamente os dados de treinamento, gerando classificações erradas para dados novos. Pre-pruning: Parar o crescimento da árvore mais cedo. Ex.: Parar quando a quantidade de exemplos nos subconjuntos cair abaixo de um certo limite. Se o subconjunto for muito pequeno, sua regra correspondente será a descrição de uma quantidade muito pequena de exemplos. Pos-pruning: Construir uma árvore complexa para depois podar. Ex.: Transformar o nó em folha se seu erro de classificação for menor do que a soma dos erros dos nós descendentes.

Redes Neurais (1/1) Conceito: São sistemas paralelos distribuídos compostos por unidades de processamento simples interligadas por conexões, sendo inspiradas no funcionamento do cérebro. Neurônio de McCulloch-Pitts (MCP): Posteriormente, funções de ativação mais complexas foram propostas. x1 y w1 1 x2 w2 ... y wN  i xi wi xN

Perceptron (1/1) Perceptron: Um único neurônio ou uma camada de neurônios MCP. Ajuste de pesos: w (t +1) = w( t ) +  e x( t ).  é a taxa de aprendizado. e = (saída desejada – saída da rede). x é o valor que está na entrada da conexão a ser ajustada. Se a saída da rede for 0, mas a desejada era 1, então: e = (1 – 0) = 1  O peso é ajustado somando uma fração () da entrada.  A soma ponderada aumenta e se aproxima do limiar . Um raciocínio análogo pode ser feito para o caso e = –1. Converge em nº finito de iterações se o problema for linearmente separável. Traça retas no espaço de padrões.

Redes MLP (1/2) Redes Multi-Layer Perceptron (MLP): São redes do tipo Perceptron com mais de uma camada. Obs.: Não necessariamente implementam função do tipo limiar. São capazes de resolver problemas não-linearmente separáveis. Cada camada intermediária (escondida) particiona o espaço de padrões de acordo com regiões mais complexas do que a camada anterior.

Redes MLP (2/2) Definição da topologia (quantidade de neurônios e conexões): É uma escolha difícil (não há uma regra objetiva). Em geral, é feita por uma série de tentativas. Lembrar que um MLP implementa uma função, e os pesos são os parâmetros ajustáveis da função. Existe o compromisso “Rigidez x Flexibilidade”: Falta de parâmetros pode gerar underfitting (ajuste insuficiente). Excesso de parâmetros pode gerar overfitting (ajuste excessivo).

Backpropagation (1/12) É o mais conhecido algoritmo de treinamento para redes MLP. Procura minimizar o erro alterando os pesos através do uso de informações sobre a derivada da função de erro. As funções de ativação das unidades devem ser diferenciáveis (contínuas). Por esse motivo, dizemos que é um algoritmo baseado em gradiente. Ex.: Função limiar (não-diferenciável). Ex.: Função sigmóide (diferenciável). f ( wi xi) f ( wi xi) 1 1  wi xi  wi xi

Backpropagation (2/12) Se a função não for diferenciável, devem ser usados outros métodos que não usem derivada. Ex.: Algoritmos genéticos, simulated annealing e outros. O funcionamento é baseado na propagação da informação de erro a partir da camada de saída até a camada de entrada. Por este motivo, não é comum usar muitas camadas escondidas (em geral, usamos 1 ou 2). Cada vez que o erro é propagado para a camada anterior, torna-se uma estimativa menos precisa.

Backpropagation (3/12) Termo de polarização (bias): Também é ajustável durante o treinamento. Indica a posição da curva ao longo do eixo horizontal. f ( wi xi – w0) O termo de polarização w0 indica onde está a curvatura da sigmóide. 1 w0  wi xi

Backpropagation (4/12) Funcionamento do algoritmo: Ponto de partida para obter a expressão de ajuste de pesos: Erro para um padrão, considerando todos os nodos de saída. Para caminhar em direção ao mínimo, o peso é ajustado com sinal contrário ao da derivada.

Backpropagation (5/12) Interpretação gráfica: Busca do mínimo global. E (erro de treinamento) d E d w > 0 d E d w < 0 w0 w0 w w > 0 w < 0

Backpropagation (5/12) A partir desta idéia, fazendo manipulações matemáticas, obtemos a expressão de ajuste de pesos: Em cada iteração, o algoritmo realiza duas fases: Forward (a rede gera suas saídas a partir das entradas), Backward (a rede ajusta seus pesos a partir das saídas).

Backpropagation (7/12) Fase Forward: Apresenta-se o padrão à rede, que gera uma saída. y (Saída da rede) Padrão

Backpropagation (8/12) Fase Backward: Ajusta os pesos da rede a partir da camada de saída. w é de um nodo de saída: x  = ( d – y ) f ’(net) w y Saída desejada net =  wi xi f w =   x

Backpropagation (9/12) x1 w1 w1 não é de um nodo de saída: f net1  1 = ( w ) f ’(net1) w Calculado anteriormente w1 =   1 x1

Backpropagation (10/12) Treinamento pode ser: Por padrão (on-line, incremental) - Ajusta pesos a cada padrão de treinamento apresentado. Por ciclo (batch) - Ajusta pesos depois de apresentar todos os padrões de treinamento (considera um erro médio para o conjunto de padrões). Estático - Topologia fixa (ajusta somente os pesos). Dinâmico – Topologia ajustável (ajusta pesos e topologia). Principais dificuldades no uso de backpropagation: Mínimos locais, Overfitting.

Backpropagation (11/12) Abordagens mais comuns para melhorar o aprendizado: Taxa de aprendizado adaptativa durante o treinamento, Termo de momentum (): Acelera o aprendizado se o ajuste anterior foi feito no mesmo sentido do atual (se wji(t) e wji (t – 1) possuem mesmo sinal). Suprime oscilações em torno de um mínimo se ajustes sucessivos estiverem sendo feitos em sentidos opostos. Critério de parada baseado no conjunto de validação: Estratégia de early stopping: Parar o treinamento se o erro no conjunto de validação atingir um mínimo.

Backpropagation (12/12) Critérios de parada mais comuns: Importante: Parar quando atingir a quantidade máxima de iterações permitidas, Parar quando o erro de treinamento cair abaixo de um limiar, Parar quando o erro de validação crescer após atingir um mínimo. Importante: Existem várias outras redes neurais além do Perceptron e do MLP. Redes MLP podem ser treinadas com outros algoritmos além do Backpropagation (Ex.: Rprop, Quickprop, Levenberg-Marquardt). Árvores de decisão e o classificador ingênuo de Bayes são utilizados apenas para classificação, enquanto redes MLP podem fazer classificação e aproximação. É importante não considerar uma técnica melhor que as outras. Cada uma tem suas vantagens e desvantagens.

Algoritmos Genéticos (1/5) São técnicas de otimização (assim como hill climbing e simulated annealing). Não são técnicas de classificação, como as anteriormente explicadas. Isto significa que foram desenvolvidos para resolver problemas de otimização: Dado um conjunto de soluções possíveis, em que cada solução tem um custo associado, o objetivo é encontrar a solução que tem custo mínimo. Ex.: Caixeiro viajante: Dado um conjunto de percursos possíveis entre N cidades, encontrar o de menor distância total. Diferentemente de hill climbing e simulated annealing, algoritmos genéticos trabalham com um conjunto de soluções a cada iteração, em vez de uma única solução. Este conjunto recebe o nome de população.

Algoritmos Genéticos (2/5) Cada solução do mundo real (fenótipo) é representada por um genótipo (que também pode ser chamado de indivíduo ou cromossomo). Ex.: Caixeiro viajante. Cada percurso (fenótipo) pode ser representado por um vetor contendo a seqüência de cidades visitadas (genótipo). Fenótipo: A Genótipo: 3 2 5 4 (A, B, D, C, E) 4 E B 5 6 4 3 D C 5

Algoritmos Genéticos (3/5) Estrutura básica: Gera um conjunto de soluções iniciais (população inicial). Enquanto critérios de parada não forem satisfeitos, Seleciona as melhores soluções (indivíduos de maior aptidão / menor custo). Ex.: Aleatoriamente, dando probabilidade proporcional à aptidão. Aplica, nos indivíduos selecionados, operadores de: Crossover – Combina partes das soluções atuais para gerar novas. Ex.: No caixeiro viajante, combinar partes dos melhores percursos pode gerar outros percursos bons. Mutação – Introduz uma mudança aleatória nas soluções atuais. Ex.: Permutar aleatoriamente duas cidades consecutivas introduz uma pequena mudança aleatória (gera diversidade).

Algoritmos Genéticos (4/5) Observações: Em geral, a melhor solução da população final é retornada pelo algoritmo. Existem diversos operadores de crossover e mutação. Os exemplos dados não são necessariamente os melhores. Da mesma forma, existem diversas maneiras de selecionar os melhores indivíduos. Também existem vários critérios de parada.

Algoritmos Genéticos (5/5) Técnicas de otimização: Existem diversas outras técnicas de otimização global que servem para resolver os mesmos problemas. Ex.: Hill climbing, simulated annealing, tabu search, colônias de formigas. Não se pode dizer que algoritmos genéticos são melhores do que as outras técnicas de otimização. Não se pode dizer que nenhuma das técnicas de otimização é melhor do que outra. Cada uma pode funcionar bem para alguns problemas e funcionar mal para outros casos.