Your SlideShare is downloading. ×
0
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
160277 redes neurais artificiais
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

160277 redes neurais artificiais

1,404

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,404
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
73
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Aprendizado de Máquina Cristiane Neri Nobre
  • 2. Aprendizado de Máquina <ul><li>Construção de programas de computador que melhoram seu desempenho por meio de experiência </li></ul>Um programa aprende a partir da experiência E , em relação a uma classe de tarefas T , com me- dida de desempenho P , se seu desempenho em T , medido por P , melhora com E Mitchell, 1997
  • 3. AM – Conceitos Básicos <ul><li>Aprendizado Supervisionado </li></ul><ul><ul><li>Indutor recebe conjunto de exemplos na forma (entrada, rótulo_desejado) </li></ul></ul><ul><ul><li>Técnicas : </li></ul></ul><ul><ul><ul><li>Redes Neurais do tipo Multilayer Perceptron </li></ul></ul></ul><ul><ul><ul><li>Máquinas de Vetores Suporte </li></ul></ul></ul><ul><ul><ul><li>Algoritmos Genéticos </li></ul></ul></ul><ul><ul><ul><li>Árvores de Decisão </li></ul></ul></ul>
  • 4. AM – Conceitos Básicos <ul><li>Aprendizado Não-supervisionado </li></ul><ul><ul><li>Indutor recebe apenas atributos de entrada </li></ul></ul><ul><ul><li>Encontrar aglomerados </li></ul></ul><ul><ul><li>Técnicas : </li></ul></ul><ul><ul><ul><li>Redes Neurais do tipo mapas auto-organizáveis </li></ul></ul></ul><ul><ul><ul><li>Algoritmo k-médias </li></ul></ul></ul>
  • 5. AM – Conceitos Básicos <ul><li>Exemplo (padrão, instância) </li></ul><ul><ul><li>Amostra de tecido de paciente </li></ul></ul><ul><li>Característica (atributo, variável) </li></ul><ul><ul><li>Nível de expressão de um gene do tecido </li></ul></ul><ul><li>Vetor de características </li></ul><ul><ul><li>Vetor com expressões de m genes do tecido </li></ul></ul><ul><li>Classe </li></ul><ul><ul><li>Presença ou ausência de câncer </li></ul></ul>
  • 6. AM – Conceitos Básicos g 1 g 2 g j g N-1 g N Padrão 1 Padrão 2 Padrão 3 Padrão i Padrão m Característica Câncer Normal Câncer Classe
  • 7. AM – Conceitos Básicos <ul><li>Conjunto de exemplos (conj. de dados) </li></ul><ul><ul><li>Conjunto de treinamento </li></ul></ul><ul><ul><li>Conjunto de teste </li></ul></ul><ul><li>Acurácia (taxa de erro) </li></ul><ul><li>Falsos positivos e falsos negativos </li></ul><ul><li>Overfitting (super ajustamento) </li></ul>
  • 8. Árvores de Decisão – ADs <ul><li>Forma mais simples: </li></ul><ul><ul><li>Lista de perguntas  respostas “sim” ou “não” </li></ul></ul><ul><ul><li>Hierarquicamente arranjadas </li></ul></ul><ul><ul><li>Levam a uma decisão </li></ul></ul><ul><li>Estrutura da árvore determinada por meio de aprendizado </li></ul>
  • 9. ADs Contém códon de parada? Não Não-gene Sim Códon de parada downstream ? Tamanho da seqüência &gt; limiar? Não-gene Gene Não-gene Não Sim Não Sim
  • 10. ADs Contém códon de parada? Não Não-gene Sim Códon de parada downstream ? Não-gene Não Sim Nós internos correspondem a testes Ramos são resultados dos testes Folhas fornecem classificações
  • 11. ADs Contém códon de parada? Não Não-gene Sim Códon de parada downstream ? Tamanho da seqüência &gt; limiar? Não-gene Gene Não-gene Não Sim Não Sim Novo padrão: Contém códon de parada dowstream e tamanho da seqüência é menor que limiar
  • 12. ADs – treinamento <ul><li>Treinamento </li></ul><ul><ul><li>AD encontra regras que recursivamente bifurcam o conjunto de dados </li></ul></ul><ul><ul><ul><li>Sub-conjuntos homogêneos intra sub-conjuntos e </li></ul></ul></ul><ul><ul><ul><li>Sub-conjuntos heterogêneos inter sub-conjuntos </li></ul></ul></ul><ul><li>Conteúdo dos sub-conjuntos pode ser descrito por um conjunto de regras </li></ul>
  • 13. ADs – treinamento Considere a tarefa de aprendizado representada pelos exemplos de treinamento na tabela abaixo, em que o objetivo é prever o atributo PlayTenis baseando-se nos outros atributos. Construa uma AD.
  • 14. ADs – treinamento
  • 15. ADs – treinamento
  • 16. ADs - conclusão <ul><li>Vantagens : </li></ul><ul><ul><li>Estrutura de fácil manipulação </li></ul></ul><ul><ul><li>Produzem modelos que podem ser facilmente interpretados por humanos </li></ul></ul><ul><li>Desvantagens : </li></ul><ul><ul><li>Pouca robustez a dados de grande dimensão </li></ul></ul><ul><ul><li>Acurácia afetada por atributos pouco relevantes </li></ul></ul><ul><ul><li>Dificuldade em lidar com dados contínuos </li></ul></ul>
  • 17. Algumas Ferramentas para extração de ADs <ul><li>Weka – http://www.cs.waikato.ac.nz/ml/weka/ </li></ul><ul><li>Trepan - poderá ser adquirido através de um e-mail enviado à Mark Craven ( [email_address] ), autor do Trepan. </li></ul><ul><li>C4.5 - HAMILTON, H.; GURAK, E.; FINDLATER, L.; OLIVE, W. </li></ul><ul><li>Machine learning/decision trees - C4.5 tutorial . Disponível em: &lt;http://www.cbi.msstate.edu/faculty/dvance/ml/ C4_5%20Tutorial.htm&gt;. Acesso em: 03 jan. 2002. </li></ul><ul><li>ID3, C5.0, dentre outros... </li></ul>
  • 18. Redes Neurais Artificiais <ul><li>O que são Redes Neurais Artificiais? </li></ul><ul><li>Redes Neurais Artificiais (RNA) são modelos de computação com propriedades particulares: </li></ul><ul><ul><li>Capacidade de adaptação (aprendizado) </li></ul></ul><ul><ul><li>Generalizar </li></ul></ul>
  • 19. O que são RNAs? <ul><li>Uma rede neural é um processador maciçamente paralelamente distribuído constituído de unidades de processamento simples, que têm a propensão natural para armazenar conhecimento experimental e torná-lo disponível para o uso. Ela se assemelha ao cérebro em dois aspectos: </li></ul><ul><li>O conhecimento é adquirido pela rede a partir de seu ambiente através de um processo de aprendizagem </li></ul><ul><li>Forças de conexão entre neurônios, conhecidas como pesos sinápticos, são utilizadas para armazenar o conhecimento adquirido. </li></ul><ul><li>Simon Haykin </li></ul>
  • 20. O que são RNAs? <ul><li>RNA: estruturas distribuídas formadas por grande número de unidades de processamento conectadas entre si. </li></ul><ul><li>Multi-disciplinaridade: Ciência da Computação, Matemática, Física, Engenharias, Psicologia, Biologia, Lingüística, Filosofia, etc. </li></ul>
  • 21. <ul><li>Modelos inspirados no cérebro humano </li></ul><ul><li>Compostas por várias unidades de </li></ul><ul><li>processamento (“neurônios”) </li></ul><ul><li>Interligadas por um grande número de </li></ul><ul><li>conexões (“sinapses”) </li></ul><ul><li>Eficientes onde métodos tradicionais têm se mostrado inadequados </li></ul>
  • 22. Características das RNAs <ul><li>Aprendem através de exemplos </li></ul><ul><li>Adaptabilidade </li></ul><ul><li>Capacidade de generalização </li></ul><ul><li>Tolerância a falhas </li></ul>
  • 23. Potenciais áreas de aplicação das RNAs <ul><li>Classificação de padrões </li></ul><ul><li>Clustering /categorização </li></ul><ul><li>Aproximação de funções </li></ul><ul><ul><li>Previsão </li></ul></ul><ul><ul><li>Otimização </li></ul></ul><ul><ul><li>Controle </li></ul></ul><ul><ul><li>Mineração de dados </li></ul></ul><ul><ul><li>etc... </li></ul></ul>
  • 24. Breve histórico <ul><li>Década de 40 : O começo </li></ul><ul><li>(1943) McCulloch &amp; Pitts </li></ul><ul><ul><li>Modelo artificial de um neurônio biológico </li></ul></ul><ul><li>(1949) Hebb desenvolve algoritmo para treinar RNA (aprendizado Hebbiano) </li></ul><ul><ul><li>Se dois neurônios estão simultaneamente ativos, a conexão entre eles deve ser reforçada </li></ul></ul>
  • 25. <ul><li>1950-1960: Anos de euforia </li></ul><ul><li>(1958) Von Neumann mostra interesse em modelagem do cérebro (RNA) </li></ul><ul><ul><li>The Computer and the Brain, Yale University Press </li></ul></ul><ul><li>(1958) Rosenblatt implementa primeira RNA, a rede Perceptron </li></ul><ul><ul><li>Ajuste iterativo de pesos </li></ul></ul><ul><ul><li>Prova teorema da convergência </li></ul></ul>
  • 26. Década de 70: Pouca atividade <ul><li>(1969) Minsky &amp; Papert analisam Perceptron e mostram suas limitações </li></ul><ul><ul><li>Não poderiam aprender a resolver problemas simples como o OU-exclusivo </li></ul></ul><ul><ul><li>Causou grande repercussão </li></ul></ul>
  • 27. Década de 70: Pouca atividade <ul><li>(1971) Aleksander propõe redes Booleanas </li></ul><ul><li>(1972) Kohonen e Anderson trabalham com RNAs associativas </li></ul><ul><li>(1975) Grossberg desenvolve a Teoria da Ressonância Adaptiva (redes ART) </li></ul>
  • 28. Década de 80: A segunda onda <ul><li>(1982) Hopfield mostra que Redes Neurais podem ser tratadas como sistemas dinâmicos </li></ul><ul><li>(1986) Hinton, Rumelhart e Williams, propõem algoritmo de aprendizagem para redes multi-camadas </li></ul>
  • 29. Tendências atuais <ul><li>Controle de generalização </li></ul><ul><li>Sistemas neurais híbridos </li></ul>
  • 30. Conceitos básicos <ul><li>Estrutura geral das RNAs: </li></ul><ul><ul><li>Unidades de processamento n i (nós) </li></ul></ul><ul><ul><li>Conexões w ij </li></ul></ul><ul><ul><li>Saída </li></ul></ul><ul><ul><li>Topologia </li></ul></ul>
  • 31. <ul><li>Modelo Matemático de um Neurônio </li></ul> Conceitos Fundamentais
  • 32. O neurônio de McCulloch-Pitts
  • 33. Neurônio de McCulloch-Pitts
  • 34. Exercício
  • 35. Solucão
  • 36. Aprendizado <ul><li>Capacidade de aprender a partir de seu </li></ul><ul><li>ambiente e melhorar sua performance com o </li></ul><ul><li>tempo </li></ul><ul><li>Parâmetros livres de uma RNA são adaptados através de estímulos fornecidos pelo ambiente </li></ul><ul><ul><li>Processo iterativo de ajustes aplicado às sinapses </li></ul></ul><ul><ul><li>A RNA deve saber mais sobre seu ambiente após cada iteração </li></ul></ul>
  • 37. <ul><li>RNA deve produzir para cada conjunto de entradas apresentado o conjunto de saídas adequado. </li></ul><ul><li>Forma geral para o ajuste de pesos é: </li></ul><ul><ul><li>w ik (n+1) = w ik (n) +  w ik (n) </li></ul></ul>
  • 38. <ul><li>Mecanismos de aprendizado </li></ul><ul><ul><li>Modificação de pesos (  wij(n)) associados às conexões </li></ul></ul><ul><ul><li>Acréscimo e/ou eliminação de conexões e/ou nodos </li></ul></ul>
  • 39. Aprendizado supervisionado <ul><li>Professor externo </li></ul><ul><ul><li>Possui conhecimento sobre ambiente </li></ul></ul><ul><ul><ul><li>Representado por conjunto de pares (x, d) </li></ul></ul></ul><ul><ul><li>Parâmetros da rede são ajustados por (x,d) </li></ul></ul><ul><ul><li>Rede procura repetir comportamento do professor </li></ul></ul>
  • 40. Aprendizado por reforço <ul><li>Crítico externo </li></ul><ul><ul><li>Processo de tentativa e erro </li></ul></ul><ul><ul><li>Procura maximizar sinal de reforço </li></ul></ul><ul><li>Se ação tomada por sistema é seguida por estado satisfatório, ação é fortalecida, caso contrário, ação é enfraquecida </li></ul>
  • 41. Aprendizado por reforço <ul><li>Tipos de reforço </li></ul><ul><ul><li>Positivo = recompensa </li></ul></ul><ul><ul><li>Negativo = punição </li></ul></ul><ul><ul><li>Nulo </li></ul></ul>
  • 42. Aprendizado não supervisionado <ul><li>Não está associado a crítico ou professor externo </li></ul><ul><li>Extração de características estatisticamente relevantes dos dados </li></ul>
  • 43. Perceptron Perceptron Simples
  • 44. Perceptron - Características <ul><li>O perceptron é usado para conjuntos de treinamento linearmente separáveis </li></ul><ul><li>Inclusão de tendência (“bias”) </li></ul><ul><li>No algoritmo de aprendizagem do Perceptron busca-se um vetor W que tenha projeção positiva (produto interno) com todos os exemplos positivos e projeção negativa com todos os exemplos negativos </li></ul><ul><li>A aprendizagem do perceptron sempre tem sucesso em tempo finito para um conjunto de treinamento finito e separável de exemplos de treinamento </li></ul>
  • 45. Algoritmo do Perceptron <ul><ul><ul><li>1. Fazer W ser o vetor nulo. </li></ul></ul></ul><ul><ul><ul><li>2. Selecionar um exemplo de treinamento E k (com a correspondente classificação C k ). Isto pode ser feito de maneira cíclica (em ordem) através dos exemplos de treinamento ou pegando um exemplo aleatoriamente. </li></ul></ul></ul><ul><ul><ul><li>3. Se W classifica E k corretamente, isto é, se: </li></ul></ul></ul><ul><ul><ul><li>{W.E k  0 e C k = +1} ou se {W.E k &lt; 0 e C k = -1} </li></ul></ul></ul><ul><ul><ul><ul><li>Então: não fazer nada. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Senão Passo de alteração : Modificar W somando ou subtraindo E k de acordo com a saída correta ser +1 ou -1: W’ = W + C k E k . </li></ul></ul></ul></ul><ul><ul><ul><li>4. I r ao passo 1. </li></ul></ul></ul>
  • 46. Perceptron - Conclusões <ul><li>Para um conjunto finito de exemplos de treinamento E , com componentes inteiros (ou racionais), o algoritmo de aprendizagem do perceptron, em tempo finito: </li></ul><ul><ul><li>Produzirá um vetor peso que satisfaz todos os exemplos de treinamento (se e somente se E é separável); ou </li></ul></ul><ul><ul><li>Abandonará e reutilizará um vetor peso (se e somente se E é não-separável). </li></ul></ul>
  • 47. Perceptron - Conclusões <ul><li>Se um conjunto de exemplos de treinamento E é não-separável, então por definição não existe um vetor de pesos W que classifique corretamente todos os exemplos de treinamento em E utilizando o algoritmo de aprendizagem do perceptron. A alternativa mais natural é encontrar um vetor de pesos W* que classifique tantos exemplos de treinamento quanto possível de E . Tal conjunto de pesos é chamado de ótimo </li></ul>
  • 48. Algoritmo Backpropagation - MLP <ul><li>Resumo do algoritmo de treinamento: </li></ul><ul><li>1 - Apresentar vetor de entrada à camada de entrada da rede e propagá-lo até a camada de saída; </li></ul><ul><li>2 - Atualizar pesos das camadas de saída e escondida, propagando o erro de volta às entradas; </li></ul>
  • 49. <ul><li>3 - para os nodos j da camada de saída , atualizar os pesos da seguinte forma: </li></ul><ul><ul><ul><li>W ij (n+1)=w ji (n) +  j (n)y i (n) </li></ul></ul></ul><ul><li>Onde  j (n) equivale a: </li></ul><ul><ul><ul><li> j (n)=  j (n)f’ j (v j (n)) </li></ul></ul></ul><ul><li>4 - Para os nodos j da camada escondida: </li></ul><ul><ul><ul><li>W ij (n+1)=w ji (n) +  j (n)y i (n) </li></ul></ul></ul>
  • 50. <ul><li>Onde  j (n) equivale a: </li></ul><ul><ul><ul><li> j (n) = f’ j (vj(n))   k (n)w kj (n) </li></ul></ul></ul><ul><li>e k se refere aos nodos da camada de saída. </li></ul>
  • 51. <ul><li>A atualização dos pesos é feita de forma individual para cada um dos vetores do conjunto de treinamento; </li></ul><ul><li>Para cada vetor de treinamento, o sinal deve ser propagado das entradas para as saídas para que o erro possa então propagar em sentido contrário e permitir o treinamento; </li></ul>Algoritmo Backpropagation - Considerações
  • 52. <ul><li>Cada apresentação completa de todos os elementos do conjunto de treinamento e conseqüente ajuste de pesos é chamada epoch ; </li></ul><ul><li>É aconselhável randomizar a seqüência com que os vetores são apresentados à rede de uma epoch para a outra para acrescentar um componente estocástico ao treinamento e evitar ciclos limites indesejáveis na atualização dos pesos; </li></ul>
  • 53. <ul><li>Os pesos iniciais devem ser preferencialmente obtidos de uma distribuição uniforme (evita polarização) </li></ul>
  • 54. <ul><li>Reconhecimento de Caracter </li></ul><ul><li>Aproximador de Funções </li></ul> Exemplos
  • 55. Defina valor de ; Repita Para cada par {v, t} Calcule a saída y apresentando v nas entradas; Se y&lt;&gt;t então w(n+1) = w(n) + (t-y)v Senão w(n+1) = w(n); Fim Fim para Até erro &lt; Tolerância Exemplo - Algoritmo Geral
  • 56. Padrões de Entrada Exemplo - Reconhecimento de Caracter
  • 57. Exemplo - Reconhecimento de Caracter Variações nos padrões de Entrada
  • 58. Exemplo - Reconhecimento de Caracter Variações nos padrões de entrada
  • 59. Parâmetros: ta=0.1, num_ep=3000, tol=0.0001) Exemplo - Aproximador de Funções
  • 60. Exemplo - Aproximador de Funções Gráfico de erro
  • 61. <ul><li>http://www.nada.kth.se/~orre/snns-manual/ </li></ul><ul><li>Matlab </li></ul><ul><li>Etc, etc </li></ul>Ferramentas

×