2. Quem vos fala ...
*Mestrando em Ciência da Computação na
Universidade Estadual Paulista Júlio de
Mesquita Filho.
*Graduado em Sistemas de Informação pela
universidade FHO|Uniararas.
*Colaborador no Laboratório de Evolução
Molecular (LEM) na Unesp de Rio Claro na
área de bioinformática.
*Java, Delphi, Bancos de Dados Relacionais,
Drupal e Linux.
*Interesses de pesquisa: Aprendizado de
Máquina, Computação Inspirada pela
Natureza e Bioinformática.
3. Roteiro
➢
IA e Aprendizado de Máquina
➢
Tipos de Aprendizado de Máquina
➢
Redes Neurais
➢
Neurônios Artificiais
➢
Histórico
➢
Algoritmo Perceptron de Múltiplas Camadas
➢
Algoritmo Back-Propagation
➢
Árvores de Decisão
➢
Algoritmo J48
➢
Exemplo com o Weka.
4. O que você pensa quando ouve os termos IA e
Aprendizado de Máquina?
7. IA – Inteligência Artificial
➢
1956 – McCarthy,
Minsky e Shanon
organizaram a
primeira conferência
sobre IA em
Dartmouth – Criado
o termo
“Inteligência
Artificial”
8. IA – Inteligência Artificial
“A ciência e engenharia de produzir
máquinas inteligentes.” (John McCarthy).
9. Aprendizado de Máquina
“O Aprendizado de Máquina trata do
projeto e desenvolvimento de algoritmos
que imitam o comportamento de
aprendizagem humano, com um foco
principal em aprender automaticamente a
reconhecer padrões complexos e
tomar decisões.” (T. Mitchell)
10. Aprendizado de Máquina
➢
Sub-Área da Inteligência Artificial.
➢
Utiliza o raciocínio Indutivo.
➢
Algumas Aplicações práticas:
➢
Motores de Busca;
➢
Processamento da Linguagem Natural (NLP)
➢
Diagnósticos Médico
➢
Bioinformática
➢
Reconhecimento da Fala
➢
Reconhecimento da Escrita
➢
…
11. Tipos de Aprendizado de Máquina
➢
3 tipos diferentes:
➢
Aprendizado Supervisionado.
➢
Aprendizado Não Supervisionado.
➢
Aprendizado Semi-Supervisionado.
12. Aprendizado Supervisionado
➢
Os algoritmos presentes nessa categoria
deduzem uma função a partir dos dados de
treinamento, que consistem em pares de
exemplos de entradas e saídas. As saídas
podem conter um rótulo utilizado para a
classificação ou ser um valor contínuo. Dessa
forma, o objetivo dos algoritmos deste tipo de
aprendizado de máquina é predizer uma saída
para qualquer entrada válida, após um
treinamento suficiente (MITCHELL, 1997).
13. Aprendizado Não Supervisionado
➢
Nesta categoria, os algoritmos buscam determinar
como os dados estão organizados, através de
dados de treinamento que consistem apenas de
exemplos de entrada e que não estão
rotulados. Dessa forma, o objetivo deste tipo de
aprendizado é encontrar padrões nos dados de
entrada (MITCHELL, 1997).
14. Aprendizado Semi - Supervisionado
➢
Os algoritmos desta categoria estão em um meio
termo entre os das categorias de Aprendizado
Supervisionado e Não Supervisionado. Assim, faz-
se uso de dados rotulados e não rotulados para
o treinamento (CHAPELLE, 2006).
17. Alguns algoritmos baseados em
Redes Neurais
➢
Perceptron com uma camada
➢
Perceptron com múltiplas camadas
➢
Redes ARTs
➢
Redes Adaline
➢
...
18. Um pouco de história ...
➢
Em 1958, Rosenblatt implementou a Rede
Perceptron (neurônio artificial de McCulloch-
Pitts).
➢
Em 1969, Minky e Papert lançaram um livro
demonstrando a limitação do Perceptron em
classificar apenas objetos linearmente separáveis.
➢
Tal fato, diminui bastante o interesse em redes neurais nos anos
70.
➢
Em 1986, Rumelhart, Hinton e Williams
propuseram o algoritmo Back-Propagation
(Retropropagação de erro).
19. Perceptron de Múltiplas Camadas
➢
Consiste em uma rede fortemente conectada
com conexões feedforward.
20. Perceptron de Múltiplas Camadas
➢
Cada neurônio realiza uma função específica.
➢
A função implementada por um neurônio de uma
dada camada é uma combinação das funções
realizadas pelos neurônios da camada anterior
que estão conectados a ele.
➢
À medida que o processamento avança de uma
camada intermediária para outra, o
processamento realizado se torna mais complexo.
21. Perceptron de Múltiplas Camadas
Na primeira camada, cada neurônio aprende uma
função que define um hiperplano, o qual divide o
espaço de entrada em duas partes
22. Perceptron de Múltiplas Camadas
Cada neurônio da camada seguinte combina um
grupo de hiperplanos definidos pelos neurônios
da camada anterior, formando regiões convexas.
23. Perceptron de Múltiplas Camadas
Os neurônios da camada seguinte combinam um
subconjunto das regiões convexas em regiões de
formatos arbitrários.
24. Algoritmo Back-Propagation
➢
É baseado na regra delta utilizada na rede adaline, e
também conhecido como regra delta generalizada.
➢
Para que esse algoritmo seja utilizado, a função de
ativação precisa ser contínua, diferenciável e, de
preferência, não decrescente.
26. Algoritmo Back-Propagation:
Treinamento
Forward = O objeto é recebido por cada um
dos neurônios da primeira camada
intermediária, que aplica a função de ativação
e produz um valor de saída, que é utilizado
como valor de entrada pelos neurônios da
camada seguinte.
27. Algoritmo Back-Propagation:
Treinamento
Backward = O valor de erro de cada neurônio é
utilizado para ajustar seus pesos de entrada.
➢
O ajuste prossegue da camada de saída até a
primeira camada intermediária.
28. Algoritmo Back-Propagation:
Treinamento
➢
Os valores dos erros são conhecidos apenas para os
neurônios da camada de saída, assim o erro para os
neurônios das camadas intermediárias precisa ser estimado
(soma dos neurônios da camada seguinte que estão
conectados à ele, ponderados pelo valor do peso associado
a essas conexões) .
30. Algoritmo Back-Propagation: Ajuste
de Parâmetros
➢
O valor da taxa de aprendizado tem uma forte
influência no tempo necessário à convergência
da rede.
➢
Muito Pequena: muitos ciclos podem ser
necessários para induzir um bom modelo.
➢
Muito Grande: pode provocar oscilações que
dificultam a convergência.
31. Algoritmo Back-Propagation: Critério
de Parada
➢
Número máximo de ciclos.
➢
Taxa máxima de erros.
➢
Overfitting: a rede para de aprender e começa
a se tornar superajustada aos dados de
treinamento.
32. Algoritmo Back-Propagation: Crítica
➢
Uma crítica ao Back-Propagation é sua lentidão
para um bom conjunto de pesos e a sua queda
de desempenho quando utilizado em grandes
conjuntos de dados e problemas complexos.
34. Árvores de Decisão
Uma árvore de decisão utiliza-se da estratégia
de dividir para conquistar na resolução de
problemas de decisão.
➢
As árvores são construídas no modelo top-
down.
36. Algoritmo J48
➢
O algoritmo J48 permite a criação de modelos
de decisão em árvores, sendo uma
implementação em Java, para o Weka, do
algoritmo C4.5.
➢
Gera árvores de decisão com base em um
conjunto de treinamento, sendo que para
cada nó, é escolhido um atributo que
subdivide o conjunto de amostras mais
eficientemente.