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

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

_____________________________________________________________________________ _______________________________________________________________________ 1.

Apresentações semelhantes


Apresentação em tema: "_____________________________________________________________________________ _______________________________________________________________________ 1."— Transcrição da apresentação:

1 _____________________________________________________________________________ _______________________________________________________________________ 1 Aprendizado de Máquina Teresa Ludermir

2 _____________________________________________________________________________ _______________________________________________________________________ 2 Conteúdo –Revisão de Sistemas Inteligentes (AD, RN, AG) –Otimização (PSO, GSO, DE) –Seleção de Modelos –Design de um sistema de AM –Extreme Learning Machines - ELM

3 _____________________________________________________________________________ _______________________________________________________________________ 3 Material Didático –Curso de Machine Learnig – Andrew NG Stanford - coursera –Referencia otimizacao – aula de otimizacao –Extreme Learning Machines (ELM) – aula de ELM –Slides cin.ufpe.br/~tbl/Aulas/AM-graduacao

4 _____________________________________________________________________________ _______________________________________________________________________ 4 Á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 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.

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

6 _____________________________________________________________________________ _______________________________________________________________________ 6 Á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.

7 _____________________________________________________________________________ _______________________________________________________________________ 7 Á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.

8 _____________________________________________________________________________ _______________________________________________________________________ 8 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. 0 1 y  i x i w i  x1 x1 x2 x2 xN xN y w1 w1 w2 w2 wN wN...

9 _____________________________________________________________________________ _______________________________________________________________________ 9 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.

10 _____________________________________________________________________________ _______________________________________________________________________ 10 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.

11 _____________________________________________________________________________ _______________________________________________________________________ 11 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).

12 _____________________________________________________________________________ _______________________________________________________________________ 12 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. 0 1  w i x i f (  w i x i ) 0 1  w i x i f (  w i x i ) Ex.: Função limiar (não-diferenciável).Ex.: Função sigmóide (diferenciável).

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

14 _____________________________________________________________________________ _______________________________________________________________________ 14 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. 0 1  w i x i f (  w i x i – w 0 ) w0w0 O termo de polarização w 0 indica onde está a curvatura da sigmóide.

15 _____________________________________________________________________________ _______________________________________________________________________ 15 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.

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

17 _____________________________________________________________________________ _______________________________________________________________________ 17 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).

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

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

20 _____________________________________________________________________________ _______________________________________________________________________ 20 Backpropagation (9/12) w 1 não é de um nodo de saída:  w 1 =   1 x 1 w1w1  1 = (  w ) f ’ (net 1 ) net 1 f x1x1 w Calculado anteriormente

21 _____________________________________________________________________________ _______________________________________________________________________ 21 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.

22 _____________________________________________________________________________ _______________________________________________________________________ 22 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  w ji (t) e  w ji (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.

23 _____________________________________________________________________________ _______________________________________________________________________ 23 Backpropagation (12/12) Critérios de parada mais comuns: –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.

24 _____________________________________________________________________________ _______________________________________________________________________ 24 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.

25 _____________________________________________________________________________ _______________________________________________________________________ 25 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). A B CD E (A, B, D, C, E) Fenótipo: Genótipo:

26 _____________________________________________________________________________ _______________________________________________________________________ 26 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).

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

28 _____________________________________________________________________________ _______________________________________________________________________ 28 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 "_____________________________________________________________________________ _______________________________________________________________________ 1."

Apresentações semelhantes


Anúncios Google