SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Redes Neurais Artificiais com C#
Murillo da Silveira Grübler
Vamos iniciar com a teoria...
Em quais problemas as Redes Neurais atuam?
• Verificar se uma pessoa pode receber um
empréstimo, analisando o histórico;
• Prever a duração da estadia de um paciente admitido
em um hospital;
• Diagnosticar doenças;
Revista Preferida Comediante
Favorito
A favor das
privatizações
Definição
Veja Danilo Gentili Sim Coxinha
Carta Capital Gregorio Duvivier Não Petralha
O que é uma Rede Neural Artificial?
Uma Rede Neural Artificial (RNA) pode ser definida, segundo Basheer
e Hajmeer (2000), como uma estrutura complexa densamente
interligada por elementos de processamento simples (neurônio),
adaptativos que possuem a capacidade de realizar operações como
cálculos em paralelo, para processamento de dados e representação
de conhecimento.
O que é uma Rede Neural Artificial?
 A RNA possui uma série de equações matemáticas que simulam o
processo biológico de aprendizado e memorização e pode ser
desenvolvido utilizando diferentes algoritmos de treinamento (TU,
1996);
 A RNA é uma abstração da rede neural biológica, servindo de
modelo para o aprendizado de máquinas e resoluções de problemas
complexos (Rojas, 1996);
Neurônio biológico
O sistema nervoso possui arquiteturas
globais das mais diversas complexidades.
Todavia, todos são compostos de módulos
de base semelhantes, chamados de
células neurais ou neurônios,
desempenhando funções diferentes
(ROJAS, 1996).
Relação entre o neurônio biológico e artificial
 A relação entre as redes é que
ambas possuem axônio,
dendrito e comunicam-se por
sinapses (BASHEER; HAJMEER,
2000)
RNA Multilayer Perceptron
Função de Ativação
• Sigmóide Logística
• Saída entre [0, 1]
• Tangente Hiperbólica
• Saída entre [-1, +1]
• Softmax
• Saída entre [0, 1] e a soma de todos é igual a 1
Treinamento
• Backpropagation;
• Algoritmo Genético;
• Particle Swarm Optimization
Backpropagation
• O algoritmo realiza o ajuste dos pesos da rede para minimizar as
diferenças entre a saída atual e a saída desejada;
• É uma técnica rápida que necessita apenas da taxa de aprendizagem
e o momentum.
• O backpropagation é um método baseado no gradiente
descendente, o que significa que este algoritmo não garante
encontrar um mínimo global e pode estagnar em soluções de
mínimos locais, onde ficaria preso indefinidamente;
Backpropagation
Backpropagation
Hora do código...
Diagrama de Classe
Classe MultilayerPerceptron
void Training(double[,] inputs, double[] outputs)
-> Backpropagation
double[] Run(double[] inputs)
-> Feedforward
Demonstração
Bibliotecas
• AForge.NET
• Weka with C#
• Infer.NET
• Accord.NET Framework
Overfitting
Overfitting é o termo, em aprendizagem
de máquina, utilizado quando o modelo
estatístico se ajusta ao conjunto de
dados/amostra.
Underfitting
Contato
• Email: msgrubler@gmail.com
• Twitter: @msgrubler
• Github: https://github.com/Murillo
Referências
• BASHEER, I. A.; HAJMEER, M. Artificial neural networks: fundamentals, computing, design, and
application. Journal of microbiological methods, [S.l.], v. 43, n. 1, p. 3-31, 2000.
• TU, J. V. Advantages and disadvantages of using artificial neural networks versus logistic regression
for predicting medical outcomes. Journal of clinical epidemiology, [S.l.], v. 49, n. 11, p. 1225-1231,
1996.
• ROJAS, R. Neural Networks: A Systematic Introduction. 1. ed. [S.l.]: Springer, 1996.
• TISSOT, Hegler C.; CAMARGO, Luiz C.; POZO, A. T. Treinamento de redes neurais feedforward:
comparativo dos algoritmos backpropagation e differential evolution. In: Brazilian Conference on
Intelligent Systems. 2012.
• MONTANA, David J.; DAVIS, Lawrence. Training Feedforward Neural Networks Using Genetic
Algorithms. In: IJCAI. 1989. p. 762-767.

Mais conteúdo relacionado

Semelhante a Redes Neurais com C#

Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosDiego Negretto
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais ArtificiaisRicardo Zalla
 
Clustering informatizado
Clustering  informatizadoClustering  informatizado
Clustering informatizadoDiêgo Maciel
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02siridakis
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoEduardo de Lucena Falcão
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNACarlos Cheth
 
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
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaAdriano Teixeira de Souza
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoAdriano Teixeira de Souza
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesAdilmar Dantas
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Thiago Rondon
 

Semelhante a Redes Neurais com C# (20)

Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de Dados
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
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
 
Clustering informatizado
Clustering  informatizadoClustering  informatizado
Clustering informatizado
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNA
 
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 ...
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Inteligência Artificial e Data Science
Inteligência Artificial e Data ScienceInteligência Artificial e Data Science
Inteligência Artificial e Data Science
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação Paralela
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - Introdução
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.
 
Dismistificando deep learning
Dismistificando deep learningDismistificando deep learning
Dismistificando deep learning
 

Redes Neurais com C#

  • 1. Redes Neurais Artificiais com C# Murillo da Silveira Grübler
  • 2. Vamos iniciar com a teoria...
  • 3. Em quais problemas as Redes Neurais atuam? • Verificar se uma pessoa pode receber um empréstimo, analisando o histórico; • Prever a duração da estadia de um paciente admitido em um hospital; • Diagnosticar doenças; Revista Preferida Comediante Favorito A favor das privatizações Definição Veja Danilo Gentili Sim Coxinha Carta Capital Gregorio Duvivier Não Petralha
  • 4. O que é uma Rede Neural Artificial? Uma Rede Neural Artificial (RNA) pode ser definida, segundo Basheer e Hajmeer (2000), como uma estrutura complexa densamente interligada por elementos de processamento simples (neurônio), adaptativos que possuem a capacidade de realizar operações como cálculos em paralelo, para processamento de dados e representação de conhecimento.
  • 5. O que é uma Rede Neural Artificial?  A RNA possui uma série de equações matemáticas que simulam o processo biológico de aprendizado e memorização e pode ser desenvolvido utilizando diferentes algoritmos de treinamento (TU, 1996);  A RNA é uma abstração da rede neural biológica, servindo de modelo para o aprendizado de máquinas e resoluções de problemas complexos (Rojas, 1996);
  • 6. Neurônio biológico O sistema nervoso possui arquiteturas globais das mais diversas complexidades. Todavia, todos são compostos de módulos de base semelhantes, chamados de células neurais ou neurônios, desempenhando funções diferentes (ROJAS, 1996).
  • 7. Relação entre o neurônio biológico e artificial  A relação entre as redes é que ambas possuem axônio, dendrito e comunicam-se por sinapses (BASHEER; HAJMEER, 2000)
  • 9. Função de Ativação • Sigmóide Logística • Saída entre [0, 1] • Tangente Hiperbólica • Saída entre [-1, +1] • Softmax • Saída entre [0, 1] e a soma de todos é igual a 1
  • 10. Treinamento • Backpropagation; • Algoritmo Genético; • Particle Swarm Optimization
  • 11. Backpropagation • O algoritmo realiza o ajuste dos pesos da rede para minimizar as diferenças entre a saída atual e a saída desejada; • É uma técnica rápida que necessita apenas da taxa de aprendizagem e o momentum. • O backpropagation é um método baseado no gradiente descendente, o que significa que este algoritmo não garante encontrar um mínimo global e pode estagnar em soluções de mínimos locais, onde ficaria preso indefinidamente;
  • 16. Classe MultilayerPerceptron void Training(double[,] inputs, double[] outputs) -> Backpropagation double[] Run(double[] inputs) -> Feedforward
  • 18. Bibliotecas • AForge.NET • Weka with C# • Infer.NET • Accord.NET Framework
  • 19. Overfitting Overfitting é o termo, em aprendizagem de máquina, utilizado quando o modelo estatístico se ajusta ao conjunto de dados/amostra.
  • 21. Contato • Email: msgrubler@gmail.com • Twitter: @msgrubler • Github: https://github.com/Murillo
  • 22. Referências • BASHEER, I. A.; HAJMEER, M. Artificial neural networks: fundamentals, computing, design, and application. Journal of microbiological methods, [S.l.], v. 43, n. 1, p. 3-31, 2000. • TU, J. V. Advantages and disadvantages of using artificial neural networks versus logistic regression for predicting medical outcomes. Journal of clinical epidemiology, [S.l.], v. 49, n. 11, p. 1225-1231, 1996. • ROJAS, R. Neural Networks: A Systematic Introduction. 1. ed. [S.l.]: Springer, 1996. • TISSOT, Hegler C.; CAMARGO, Luiz C.; POZO, A. T. Treinamento de redes neurais feedforward: comparativo dos algoritmos backpropagation e differential evolution. In: Brazilian Conference on Intelligent Systems. 2012. • MONTANA, David J.; DAVIS, Lawrence. Training Feedforward Neural Networks Using Genetic Algorithms. In: IJCAI. 1989. p. 762-767.