Data Science, Deep Learning, Machine Learning, Python, Redes Neurais

O que é e como codificar uma Rede Neural Artificial com Backpropagation em Python (do zero)

Esse artigo esta dividido em duas etapas:

  1. Uma breve descrição sobre Redes Neurais e alguns de seus tipos (Fonte e Direitos);
  2. Detalhando a Rede Neural com Backpropagation com exemplo em Python – com base no artigo em: How to Code a Neural Network with Backpropagation In Python (from scratch) by Jason Brownlee in Code Algorithms From Scratch
21086425615_12170e7df2_o
Fonte: https://machinelearningmastery.com/implement-backpropagation-algorithm-scratch-python/

Rede Neural Artificial (RNA) pode ser definida como uma estrutura complexa interligada por elementos de processamento simples (neurônios), que possuem a capacidade de realizar operações como cálculos em paralelo, para processamento de dados e representação de conhecimento. Seu primeiro conceito foi introduzido em 1943, mas ganhou popularidade algumas décadas depois com a introdução de algoritmos de treinamento como o backpropagation, que permite a realização de um treinamento posterior para aperfeiçoar os resultados do modelo.

Um Breve Histórico – Um histórico resumido sobre Redes Neurais Artificiais deve começar por três das mais importantes publicações iniciais, desenvolvidas por: McCulloch e Pitts (1943), Hebb (1949), e Rosemblatt (1958). Estas publicações introduziram o primeiro modelo de redes neurais simulando “máquinas”, o modelo básico de rede de auto-organização, e o modelo Perceptron de aprendizado supervisionado, respectivamente.

Alguns históricos sobre a área costumam “pular” os anos 60 e 70 e apontar um reinicio da área com a publicação dos trabalhos de Hopfield (1982) relatando a utilização de redes simétricas para otimização e de Rumelhart, Hinton e Williams que introduziram o poderoso método Backpropagation.

Entretanto, para se ter um histórico completo, devem ser citados alguns pesquisadores que realizaram, nos anos 60 e 70, importantes trabalhos sobre modelos de redes neurais em visão, memória, controle e auto-organização como: Amari, Anderson, Cooper, Cowan, Fukushima, Grossberg, Kohonen, von der Malsburg, Werbos e Widrow.

Fonte

Mais informações históricas…

Continuar lendo

Dados, Data Science, Deep Learning, Machine Learning, NLP, Python, Recuperação da Informação

Luppar News-Rec (Recomendador Inteligente de Notícias)

O Luppar News-Rec (Versão 1) é fruto da minha dissertação de Mestrado,  mais detalhes sobre – visualize aqui! É um Sistema Recomendador de Notícias (SRN) composto por algoritmos clássicos de classificação que trabalham em conjunto com representações de documentos para solucionar o problema de classificação de notícias de forma a trazer os documentos(notícias) que atendam a necessidade do usuário. A metodologia que segue esse trabalho divide os esforços da implementação do SRN em três etapas: Subsistema de Captura, Pré-Processamento e Armazenamento, Subsistema de Classificação de Notícias e Subsistema de Aquisição de Perfil de Assinantes e Distribuição.

Recursos do Luppar News-Rec

News Recommender System using Word Embeddings for study and research.

Disponível em: http://luppar.com/recommender

Coleções de documentos

  • Z5News (Coleção em Inglês com 5 tópicos)
    • sportsNews, politicsNews, technologyNews, PersonalFinance e brazil-news
  • Z5NewsBrasil (Coleção em Portugues com 5 tópicos)
    • esporteNews, politicaNews, tecnologiaNews, financaPessoal e educacaonews
  • Z12News (Coleção em Inglês com 12 tópicos)
    • sportsnews, politicsNews, technologyNews, PersonalFinance, brazil-news, aerospace-defense, autos, commoditiesNews, fundsNews, foreignexchangeNews, healthnews e environmentnews

Continuar lendo

Data Science, Python

Decision Trees e Random Forests para Classificação e Regressão

Matéria original e direitos reservados ao autor.

Traduzida pelo Google Translate com uma pequena melhorada!

Highlights: Deseja usar algo mais interoperável, algo que treine mais rápido e tenha um desempenho tão bom quanto a antiga Regressão Logística ou mesmo as Redes Neurais? Você deve considerar as Árvores de Decisão (Decision Tree) para classificação e regressão. Parte 2 sobre florestas aleatórias (Random Forest) aqui.

  • Treinamento muito mais rápido do que redes neurais simples para desempenho comparável (a complexidade do tempo das árvores de decisão é uma função de [número de recursos, número de linhas no conjunto de dados], enquanto nas redes neurais é uma função de [número de recursos, número de linhas no conjunto de dados, número de camadas ocultas, número de nós em cada camada oculta])
  • Facilmente interpretável, adequado para seleção de variáveis
  • Bastante robusto em conjuntos de dados menores
  • Árvores de decisão e aprendizado de árvore de decisão são simples de entender

Continuar lendo

Data Science, IA (Inteligência Artificial), Python

5 pacotes Python que um cientista de dados não pode viver sem

Se você estiver interessado em aprender mais sobre esses pacotes, aqui está a documentação oficial: