Arquivo da tag: Python

O que é uma Rede Neural Artificial? (código Python)

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

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 O que é uma Rede Neural Artificial? (código Python)

Top used Data Science libraries for Python, R and Scala

Clique na imagem para ver maiores informações!

lib

Validação Cruzada: Conceito e Exemplo em R

O que é validação cruzada (cross-validation)?

No Aprendizado de Máquina, a validação cruzada é um método de re-amostragem usado para avaliação de modelo para evitar o teste de um modelo no mesmo conjunto de dados no qual ele foi treinado. Este é um erro comum, especialmente que um conjunto de dados de teste separado nem sempre está disponível. No entanto, isso geralmente leva a medidas de desempenho imprecisas (já que o modelo terá uma pontuação quase perfeita, pois está sendo testado nos mesmos dados em que foi treinado). Para evitar esse tipo de erro, a validação cruzada é geralmente preferida.

O conceito de validação cruzada é realmente simples: em vez de usar todo o conjunto de dados para treinar e, em seguida, testar nos mesmos dados, poderíamos dividir aleatoriamente nossos dados em conjuntos de dados de treinamento e teste.

Continuar lendo Validação Cruzada: Conceito e Exemplo em R

Introdução ao Algoritmo K-Nearest Neighbour (código Python)

Dentre todos os algoritmos de aprendizado de máquina, KNN é o mais simples de aprender. Apesar da simplicidade, provou ser incrivelmente eficaz em certas tarefas (como veremos a seguir).

E mais, pode ser utilizado para problemas de classificação e regressão! É muito mais popularmente usado para problemas de classificação, no entanto, raramente vemos o KNN sendo implementado em qualquer tarefa de regressão.

Continuar lendo Introdução ao Algoritmo K-Nearest Neighbour (código Python)

Algoritmo SVM (Máquina de Vetores de Suporte) a partir de exemplos e código (Python e R)

Índice

  1. O que é a máquina de vetores de suporte?
  2. Como funciona?
  3. Como implementar o SVM em Python e R?
  4. Como ajustar os parâmetros do SVM?
  5. Prós e contras associados ao SVM

O que é a Máquina de Vetores de Suporte?

“Support Vector Machine” (SVM) é um algoritmo de aprendizado de máquina supervisionado que pode ser usado para desafios de classificação ou regressão. No entanto, é usado principalmente em problemas de classificação. Nesse algoritmo, plotamos cada item de dados como um ponto no espaço n-dimensional (onde n é o número de recursos que você tem), com o valor de cada recurso sendo o valor de uma determinada coordenada. Então, nós executamos a classificação encontrando o hiperplano que diferencia muito bem as duas classes (veja a imagem abaixo).

Continuar lendo Algoritmo SVM (Máquina de Vetores de Suporte) a partir de exemplos e código (Python e R)

Conceitos estatísticos explicados em inglês simples

Série sobre tópicos específicos relacionados à Conceitos Estatísticos na Ciência de Dados: regressão, clustering, redes neurais, aprendizagem profunda (deep learning), árvores de decisão (decision tree), conjuntos, correlação, Python, R, Tensorflow, SVM (support vector machine), redução de dados, seleção de recursos, design experimental, validação cruzada (cross-validation), montagem de modelos e muito mais. More about Statistcs

Continuar lendo Conceitos estatísticos explicados em inglês simples

Fundamentos dos Algoritmos de Aprendizado de Máquina (com Códigos Python e R)

Introdução

Os carros e robôs autônomos do Google recebem muita publicidade, mas o futuro real da empresa é o aprendizado de máquina, a tecnologia que permite que os computadores fiquem mais inteligentes e pessoais.

Eric Schmidt (presidente do Google)

Estamos vivendo no período mais marcante da história humana. O período em que a computação passou de grandes mainframes para a nuvem. Mas o que o torna definidor não é o que aconteceu, mas o que está por vir.

O que torna esse período empolgante e atraente é a democratização das várias ferramentas e técnicas, que seguiram com o impulso da computação. Bem-vindo ao mundo da ciência de dados !

Quem pode se beneficiar ao máximo deste guia?

Esse post tem como objetivo simplificar a jornada de aspirantes a cientistas de dados e entusiastas de aprendizagem de máquina. Através deste, permitirá que você trabalhe em problemas de aprendizado de máquina e ganhe experiência.

As estatísticas por trás dessas técnicas, não esta contido aqui, já que você não precisa entendê-las no começo. Então, se você está procurando uma compreensão estatística desses algoritmos, você deve procurar em outro lugar. Mas, se você está querendo se equipar para começar a construir um projeto de aprendizado de máquina, você está no lugar certo, vamos começar!

Continuar lendo Fundamentos dos Algoritmos de Aprendizado de Máquina (com Códigos Python e R)

As melhores bibliotecas para Python e Processamento de Linguagem Natural

Libraries for data science

Essas são as melhores bibliotecas que transferem o Python de uma linguagem de programação de uso geral para uma ferramenta poderosa e robusta para análise e visualização de dados.

NumPy

O NumPy é a biblioteca básica ou o computador científico em Python, e muitas das bibliotecas downstream usam arrays NumPy como entradas e saídas. O NumPy introduz objetos para matrizes e matrizes multidimensionais e também rotinas que permitem aos desenvolvedores executar funções matemáticas e estatísticas avançadas nos arrays com o menor código possível.

Exemplo:

import numpy as np 
# Create the following rank 2 array with shape (3, 4) # [[ 1 2 3 4] # [ 5 6 7 8] # [ 9 10 11 12]] a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) 
# Use slicing to pull out the subarray consisting of the first 2 rows # and columns 1 and 2; b is the following array of shape (2, 2): # [[2 3] # [6 7]] b = a[:2, 1:3] 
# A slice of an array is a view into the same data, so modifying it # will modify the original array. print(a[0, 1]) # Prints "2" b[0, 0] = 77 # b[0, 0] is the same piece of data as a[0, 1] 
print(a[0, 1]) # Prints "77"

Continuar lendo As melhores bibliotecas para Python e Processamento de Linguagem Natural

Um guia essencial para Numpy para Machine Learning em Python

Por que isso seria útil para você?

Bem, já que a maioria de nós tende a esquecer (no caso daqueles que já implementaram algoritmos ML) as várias funções da biblioteca e acabam escrevendo código para funções pré-existentes usando lógica pura que é um desperdício de tempo e energia, em tais tempos torna-se essencial se entendermos as nuances da Biblioteca sendo usadas de forma eficiente. Então, o Numpy, sendo uma das bibliotecas essenciais para Machine Learning, requer um artigo próprio.

Quem são os leitores deste artigo?

Uma vez que a compreensão do Numpy é o ponto de partida do pré-processamento de dados e da implementação de Algoritmos ML, você pode ser alguém prestes a aprender Aprendizado de Máquina em um futuro próximo ou que acabou de começar. Numpy para ML.

Continuar lendo Um guia essencial para Numpy para Machine Learning em Python