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

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

Avançando o processamento de linguagem natural (NLP) para domínios corporativos

Por Salim Roukos, IBM Fellow (todos os direitos reservados ao autor – matéria (EN))

Encontrar informações no vasto acervo de documentos e bases de conhecimento de uma empresa para responder às perguntas dos usuários nunca é tão fácil quanto deveria ser. As respostas podem muito bem existir, mas geralmente permanecem fora de alcance por vários motivos.

Para iniciantes, ao contrário da Web, onde as informações são conectadas através de um rico conjunto de links e geralmente são capturadas de forma redundante em várias formas (facilitando a localização), o conteúdo corporativo geralmente é armazenado em silos com muito menos repetição das informações principais. Além disso, os usuários que pesquisam conteúdo corporativo geralmente fazem perguntas complexas e esperam respostas mais detalhadas do que receberiam de um mecanismo de pesquisa na Web. Isso pode incluir perguntas sobre suporte ao produto, faturas, o regulamento mais recente aplicável a contratos com clientes, as implicações de eventos descobertos em sites de notícias e assim por diante. Por fim, as empresas costumam relutar em confiar na IA da ‘caixa preta’ que não pode explicar suas recomendações e pode exigir técnicas explicáveis ​​aos tomadores de decisão ou usuários finais.

O processamento de linguagem natural (do inglês: Natural Language ProcessingNLP) é uma grande promessa para ajudar a encontrar informações tão profundas no conteúdo da empresa, permitindo que os usuários expressem mais livremente suas necessidades de informações e fornecendo respostas precisas para perguntas cada vez mais complexas. No entanto, os sistemas empresariais de NLP são frequentemente desafiados por vários fatores, que incluem compreender silos heterogêneos de informações, lidar com dados incompletos, treinar modelos precisos a partir de pequenas quantidades de dados e navegar em um ambiente em mudança no qual novos conteúdos, produtos, termos e outras informações são continuamente adicionadas.

Continuar lendo

Big Data, Business Intelligence (BI), Data Science, Machine Learning

Definindo a ciência de dados: o quê, onde e como a ciência de dados

Ciência de dados – um termo universalmente reconhecível que precisa desesperadamente de divulgação.

Ciência de dados é um termo que foge a qualquer definição completa única, o que dificulta o uso, principalmente se o objetivo é usá-lo corretamente. A maioria dos artigos e publicações usa o termo livremente, com a suposição de que ele é universalmente entendido. No entanto, a ciência de dados – seus métodos, objetivos e aplicativos – evolui com o tempo e a tecnologia. A ciência de dados há 25 anos se referia à coleta e limpeza de conjuntos de dados e à aplicação de métodos estatísticos a esses dados. Em 2018, a ciência de dados cresceu para um campo que abrange análise de dados, análise preditiva, mineração de dados, inteligência de negócios, aprendizado de máquina e muito mais.

Continuar lendo

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

Materiais sobre Inteligência Artificial, Machine Learning, Statistics e etc…

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

Rotulando com o Active Learning

A verdade feia por trás de todos esses dados

Estamos na era dos dados. Nos últimos anos, muitas empresas já começaram a coletar grandes quantidades de dados sobre seus negócios. Por outro lado, muitas empresas estão apenas começando. Se você trabalha em uma dessas empresas, pode estar se perguntando o que pode ser feito com todos esses dados.

Que tal usar os dados para treinar um algoritmo de aprendizado de máquina supervisionado (ML – Machine Learning)? O algoritmo ML poderia executar a mesma tarefa de classificação que um ser humano faria, muito mais rápido! Poderia reduzir custos e ineficiências. Pode funcionar com os dados combinados, como imagens, documentos de texto e apenas números simples. Poderia fazer todas essas coisas e até obter essa vantagem sobre a concorrência.

No entanto, antes que você possa treinar qualquer modelo supervisionado decente, você precisa de dados básicos da verdade. Geralmente, os modelos supervisionados de ML são treinados em registros de dados antigos que já estão rotulados de alguma forma. Os modelos treinados são aplicados para executar previsões de rótulos em novos dados. E esta é a verdade feia: antes de prosseguir com qualquer treinamento de modelo, qualquer definição de problema de classificação ou qualquer entusiasmo adicional na coleta de dados, você precisa de um conjunto suficientemente grande de registros de dados rotulados corretamente para descrever seu problema. E a rotulagem de dados – especialmente em uma quantidade suficientemente grande – é … cara.

Continuar lendo

Data Science, Deep Learning, IA (Inteligência Artificial), Recuperação da Informação

O que há de novo no Hype Cycle da Gartner para IA, 2019

Gartner-Hype-Cycle-For-Artificial-Intelligence-2019

  • Entre 2018 e 2019, as organizações que implantaram inteligência artificial (IA) aumentaram de 4% para 14%, de acordo com a pesquisa CIO Agenda 2019 da Gartner.
  • A IA de conversação permanece no topo das agendas corporativas estimuladas pelo sucesso mundial do Amazon Alexa, Google Assistant e outros.
  • As empresas estão progredindo com a IA à medida que ela cresce mais e também cometem mais erros que contribuem para sua curva de aprendizado acelerada.

Continuar lendo

Data Science, Recuperação da Informação

Uma lista completa de estruturas importantes de processamento de linguagem natural que você deve conhecer (Infográfico de NLP)

Visão global

  • Aqui está uma lista das estruturas mais importantes de processamento de linguagem natural (do inglês NLPNatural Language Processing) que você precisa conhecer nos últimos dois anos
  • Do Transformer do Google AI ao XLM / mBERT do Facebook Research, traçamos o aumento da NLP através das lentes dessas descobertas sísmicas.

Introdução

Você já ouviu falar sobre a estrutura mais recente de processamento de linguagem natural lançada recentemente? Eu não culpo você se você ainda está atualizando a excelente biblioteca StanfordNLP ou a estrutura PyTorch-Transformers!

Houve um aumento notável na quantidade de pesquisas e avanços ocorrendo na NLP nos últimos dois anos.

Posso rastrear essa recente ascensão a um artigo (sísmico) – “Atenção é tudo que você precisa” do Google AI em junho de 2017. Essa descoberta gerou tantas novas e empolgantes bibliotecas de NLP que nos permitem trabalhar com o texto de maneiras anteriormente limitado à nossa imaginação (ou Hollywood).

A seguir, o interesse no processamento de idiomas naturais, de acordo com as pesquisas do Google nos últimos 5 anos nos EUA:

estruturas de PNL

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, Machine Learning, Recuperação da Informação

10 métodos de aprendizado de máquina que todo cientista de dados deve conhecer

Todos os direitos reservados à Jorge Castanon

O aprendizado de máquina (machine learning (ML)) é um tópico importante na pesquisa e na indústria, com novas metodologias desenvolvidas o tempo todo. A velocidade e a complexidade do campo dificultam o acompanhamento de novas técnicas, mesmo para especialistas – e potencialmente esmagadoras para iniciantes.

Para desmistificar o aprendizado de máquina e oferecer um caminho de aprendizado para aqueles que são novos nos conceitos principais, vejamos dez métodos diferentes, incluindo descrições simples, visualizações e exemplos para cada um.

Um algoritmo de aprendizado de máquina, também chamado de modelo, é uma expressão matemática que representa dados no contexto de um problema, geralmente um problema de negócios. O objetivo é passar de dados a insights. Por exemplo, se um varejista on-line quiser antecipar as vendas para o próximo trimestre, ele poderá usar um algoritmo de aprendizado de máquina que prevê essas vendas com base em vendas anteriores e outros dados relevantes. Da mesma forma, um fabricante de moinho de vento pode monitorar visualmente equipamentos importantes e alimentar os dados de vídeo através de algoritmos treinados para identificar rachaduras perigosas.

Os dez métodos descritos oferecem uma visão geral – e uma base na qual você pode desenvolver enquanto aprimora seus conhecimentos e habilidades de aprendizado de máquina:

  1. Regressão
  2. Classificação
  3. Agrupamento
  4. Redução de dimensionalidade
  5. Métodos de conjunto
  6. Redes Neurais e Aprendizagem Profunda
  7. Transferência de Aprendizado
  8. Aprendizagem por Reforço
  9. Processamento de linguagem natural
  10. Incorporação de palavras

Continuar lendo