A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Revisão de Sistemas Inteligentes

Apresentações semelhantes


Apresentação em tema: "Revisão de Sistemas Inteligentes"— Transcrição da apresentação:

1 Revisão de Sistemas Inteligentes
Teresa Ludermir

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

3 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,

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

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

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

7 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

8 Á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.

9 Á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

10 Á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.

11 Á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.

12 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

13 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.

14 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.

15 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).

16 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

17 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.

18 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

19 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.

20 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

21 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).

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

23 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

24 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

25 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.

26 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.

27 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.

28 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.

29 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

30 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).

31 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.

32 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.


Carregar ppt "Revisão de Sistemas Inteligentes"

Apresentações semelhantes


Anúncios Google