SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Aprendizado de Máquina para Classificação de
Dados
Diego Henrique Negretto
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.
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.
O que você pensa quando ouve os termos IA e
Aprendizado de Máquina?
Eu penso nisso ...
O que temos hoje em dia ...
IA – Inteligência Artificial
➢
1956 – McCarthy,
Minsky e Shanon
organizaram a
primeira conferência
sobre IA em
Dartmouth – Criado
o termo
“Inteligência
Artificial”
IA – Inteligência Artificial
“A ciência e engenharia de produzir
máquinas inteligentes.” (John McCarthy).
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)
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
➢
…
Tipos de Aprendizado de Máquina
➢
3 tipos diferentes:
➢
Aprendizado Supervisionado.
➢
Aprendizado Não Supervisionado.
➢
Aprendizado Semi-Supervisionado.
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).
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).
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).
Redes Neurais
Neurônios Artificiais
Neurônio de McCulloch-Pitts
Alguns algoritmos baseados em
Redes Neurais
➢
Perceptron com uma camada
➢
Perceptron com múltiplas camadas
➢
Redes ARTs
➢
Redes Adaline
➢
...
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).
Perceptron de Múltiplas Camadas
➢
Consiste em uma rede fortemente conectada
com conexões feedforward.
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.
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
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.
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.
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.
Algoritmo Back-Propagation:
Treinamento
➢
É constituido da iteração de duas fases, uma
fase para frente (forward) e uma fase para trás
(backward).
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.
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.
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) .
Algoritmo Back-Propagation:
Treinamento
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.
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.
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.
Árvores de Decisão
Á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.
Alguns algoritmos baseados em
Árvores de Decisão
➢
ID3
➢
CART
➢
C4.5
➢
J48
➢
...
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.
Exemplo Pŕatico com o Weka
http://www.cs.waikato.ac.nz/ml/weka/
Alguns resultados
Resultados → Iris DataSet
➢
Perceptron de Múltiplas Camadas.
➢
Tempo: 0.09s
Resultados → Iris DataSet
➢
Algoritmo J48.
➢
Tempo: - 0s.
Resultados Pima-Indians→ DataSet
➢
Perceptron Múltiplas Camadas.
➢
Tempo: 0.73 s
Resultados Pima-Indians→ DataSet
➢
Algoritmo J48.
➢
Tempo: 0.01s
Obrigado !!!
Dúvidas???
Referências Bibliográficas

Mais conteúdo relacionado

Mais procurados

Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningMorvana Bonin
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasNatanael Simões
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de DadosNauber Gois
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Introducao redes
Introducao redesIntroducao redes
Introducao redesErikHR
 
Introdução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosIntrodução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosNorton Guimarães
 
Construindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonConstruindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonMarcel Caraciolo
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Pensamento Computacional
Pensamento ComputacionalPensamento Computacional
Pensamento ComputacionalLuiz Rocha
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais ArtificiaisMarcos Castro
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 

Mais procurados (20)

Arquitetura de Redes de Computadores
 Arquitetura de Redes de Computadores Arquitetura de Redes de Computadores
Arquitetura de Redes de Computadores
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Barramentos
BarramentosBarramentos
Barramentos
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de Dados
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Introducao redes
Introducao redesIntroducao redes
Introducao redes
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Introdução aos Algoritmos Genéticos
Introdução aos Algoritmos GenéticosIntrodução aos Algoritmos Genéticos
Introdução aos Algoritmos Genéticos
 
Construindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com PythonConstruindo Sistemas de Recomendação com Python
Construindo Sistemas de Recomendação com Python
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Pensamento Computacional
Pensamento ComputacionalPensamento Computacional
Pensamento Computacional
 
Hierarquia de níveis
Hierarquia de níveisHierarquia de níveis
Hierarquia de níveis
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 

Destaque

Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NETfilipe-lemos
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosVitor Silva
 
Programaçao C - Aula 2
Programaçao C - Aula 2Programaçao C - Aula 2
Programaçao C - Aula 2Filipo Mór
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dadosdouglasschaefler
 

Destaque (6)

Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Plataforma .Net
Plataforma .NetPlataforma .Net
Plataforma .Net
 
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
05 - Acesso e Manipulação de Dados através de Classes do ADO.NET
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a Dados
 
Programaçao C - Aula 2
Programaçao C - Aula 2Programaçao C - Aula 2
Programaçao C - Aula 2
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dados
 

Semelhante a Aprendizado de Máquina para Classificação de Dados

A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadascesar do amaral
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02siridakis
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNACarlos Cheth
 
Redes Neurais com C#
Redes Neurais com C#Redes Neurais com C#
Redes Neurais com C#POANETMeetup
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Ricardo Brasil
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLPAhirton Lopes
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Bruno Catão
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...
Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...
Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...Sérgio Dias
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasFabio Spanhol
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive BayesAhirton Lopes
 

Semelhante a Aprendizado de Máquina para Classificação de Dados (20)

Apresentacao
ApresentacaoApresentacao
Apresentacao
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadas
 
Modelos de previsão de Ocorrências
Modelos de previsão de OcorrênciasModelos de previsão de Ocorrências
Modelos de previsão de Ocorrências
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNA
 
Redes Neurais com C#
Redes Neurais com C#Redes Neurais com C#
Redes Neurais com C#
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
 
Redes Neuronais
Redes NeuronaisRedes Neuronais
Redes Neuronais
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2
 
Redes neurais
Redes neuraisRedes neurais
Redes neurais
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
 
Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...
Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...
Extração e Representação de Conhecimento de Redes Neurais Artificiais Utiliza...
 
Artigo tecnico RNA Iris
Artigo tecnico RNA IrisArtigo tecnico RNA Iris
Artigo tecnico RNA Iris
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
 

Aprendizado de Máquina para Classificação de Dados

  • 1. Aprendizado de Máquina para Classificação de Dados Diego Henrique Negretto
  • 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?
  • 6. O que temos hoje em dia ...
  • 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.
  • 25. Algoritmo Back-Propagation: Treinamento ➢ É constituido da iteração de duas fases, uma fase para frente (forward) e uma fase para trás (backward).
  • 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.
  • 35. Alguns algoritmos baseados em Árvores de Decisão ➢ ID3 ➢ CART ➢ C4.5 ➢ J48 ➢ ...
  • 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.
  • 40. Resultados → Iris DataSet ➢ Perceptron de Múltiplas Camadas. ➢ Tempo: 0.09s
  • 41. Resultados → Iris DataSet ➢ Algoritmo J48. ➢ Tempo: - 0s.
  • 42. Resultados Pima-Indians→ DataSet ➢ Perceptron Múltiplas Camadas. ➢ Tempo: 0.73 s