Categorias
Algoritmo Ciência de Dados Dados Machine Learning

Principais algoritmos de Machine Learning para você conhecer em 2022

Algoritmos de aprendizado de máquina utilizam parâmetros baseados em dados de treinamento – um subconjunto de dados que representa o conjunto maior. À medida que os dados de treinamento se expandem para representar o mundo de modo mais realista, o algoritmo calcula resultados mais precisos.

Diferentes algoritmos analisam dados de maneiras diferentes. Geralmente, eles são agrupados pelas técnicas de aprendizado de máquina para as quais são usados: aprendizado supervisionado, aprendizado não supervisionado e aprendizado de reforço. Os algoritmos usados com mais frequência usam a regressão e a classificação para prever categorias de destino, encontrar pontos de dados incomuns, prever valores e descobrir semelhanças.

Tendo isso em mente, vamos conhecer os 5 algoritmos de aprendizado de máquina mais importantes:

  1. Algoritmos de Ensemble Learning;
  2. Algoritmos explicativos;
  3. Algoritmos de agrupamento;
  4. Algoritmos de Redução de Dimensionalidade;
  5. Algoritmos de semelhança.

1. Algoritmos de Ensemble Learning (Random Forests, XGBoost, LightGBM, CatBoost)

O que são algoritmos de Ensemble Learning?

Para entender o que eles são, primeiro você precisa saber o que é o Método Ensemble. Esse método consiste no uso simultâneo de  vários modelos ​​para obter melhor desempenho do que um único modelo em si.

Conceitualmente, considere a seguinte analogia:

Imagem Terence Shin

Imagine a seguinte situação: em uma sala de aula é dado o mesmo problema de matemática para um único aluno e para um grupo de alunos. Nessa situação, o grupo de alunos pode resolver o problema de forma colaborativa, verificando as respostas uns dos outros e decidindo por unanimidade sobre uma única resposta. Por outro lado, um aluno, sozinho, não tem esse privilégio – ninguém mais está lá para colaborar ou questionar sua resposta.

E assim, a sala de aula com vários alunos é semelhante a um algoritmo de Ensemble com vários algoritmos menores trabalhando juntos para formular uma resposta final.

 

Saiba mais sobre o Ensemble Learning neste artigo.

Quando são úteis?

Os algoritmos de Ensemble Learning são mais úteis para problemas de regressão e classificação ou problemas de aprendizado supervisionado. Devido à sua natureza inerente, eles superam todos os algoritmos tradicionais de Machine Learning, como Naïve Bayes, máquinas vetoriais de suporte e árvores de decisão.

Algoritmos

2. Algoritmos Explicativos (Regressão Linear, Regressão Logística, SHAP, LIME)

O que são algoritmos explicativos?

Algoritmos explicativos permitem identificar e compreender variáveis ​​que possuem relação estatisticamente significativa com o resultado. Portanto, em vez de criar um modelo para prever valores da variável de resposta, podemos criar modelos explicativos para entender as relações entre as variáveis ​​no modelo.

Do ponto de vista da regressão, há muita ênfase nas variáveis estatisticamente significativas. Por quê? Quase sempre, você estará trabalhando com uma amostra de dados, que é um subconjunto de toda a população. Para tirar conclusões sobre uma população, dada uma amostra, é importante garantir que haja significância suficiente para fazer uma suposição confiável.

Imagem Terence Shin

Recentemente, também houve o surgimento de duas técnicas populares, SHAP e LIME, que são usadas para interpretar modelos de Machine Learning.

Quando são úteis?

Modelos explicativos são úteis quando você quer entender “por que” uma decisão foi tomada ou quando você quer entender “como” duas ou mais variáveis ​​estão relacionadas entre si.

Na prática, a capacidade de explicar o que seu modelo de Machine Learning faz é tão importante quanto o desempenho do próprio modelo. Se você não puder explicar como um modelo funciona, ninguém confiará nele e ninguém o usará.

Tipos de Algoritmos

Modelos explicativos tradicionais baseados em testes de hipóteses:

  • Regressão linear
  • Regressão Logística

Algoritmos para explicar modelos de Machine Learning:

3. Algoritmos de Agrupamento (k-Means, Agrupamento Hierárquico)

Imagem Terence Shin

O que são algoritmos de agrupamento?

Esses algoritmos são usados ​​para realizar análises de agrupamento, que é uma tarefa de aprendizado não supervisionada que envolve o agrupamento de dados. Ao contrário do aprendizado supervisionado, no qual a variável de destino é conhecida, não há variável de destino nas análises de agrupamento.

Quando são úteis?

O clustering é particularmente útil quando você deseja descobrir padrões e tendências naturais em seus dados. É muito comum que as análises de cluster sejam realizadas na fase de EDA, para descobrir mais informações sobre os dados.

Da mesma forma, o agrupamento permite identificar diferentes segmentos dentro de um dataset com base em diferentes variáveis. Um dos tipos mais comuns de segmentação por cluster é a segmentação de usuários/clientes.

 

Tipos de Algoritmos

Os dois algoritmos de agrupamento mais comuns são agrupamento k-means e agrupamento hierárquico, embora existam muitos mais:

4. Algoritmos de Redução de Dimensionalidade (PCA, LDA)

O que são algoritmos de redução de dimensionalidade?

Os algoritmos de redução de dimensionalidade referem-se a técnicas que reduzem o número de variáveis ​​de entrada (ou variáveis ​​de recursos) em um dataset. A redução de dimensionalidade é essencialmente usada para lidar com a maldição da dimensionalidade, um fenômeno que afirma, “à medida que a dimensionalidade (o número de variáveis ​​de entrada) aumenta, o volume do espaço cresce exponencialmente resultando em dados esparsos.

Quando são úteis?

As técnicas de redução de dimensionalidade são úteis em muitos casos:

  1. Eles são extremamente úteis quando você tem centenas ou até milhares de recursos em um dataset e precisa selecionar alguns.
  2. Eles são úteis quando seus modelos de ML estão super ajustando os dados, o que implica que você precisa reduzir o número de recursos de entrada.

Tipos de Algoritmos

Abaixo estão os dois algoritmos de redução de dimensionalidade mais comuns:

5. Algoritmos de similaridade (KNN, Distância Euclidiana, Cosseno, Levenshtein, Jaro-Winkler, SVD, etc…)

O que são algoritmos de similaridade?

Algoritmos de similaridade são aqueles que computam a similaridade de pares de registros/nós/pontos de dados/texto. Existem algoritmos de similaridade que comparam a distância entre dois pontos de dados, como a distância euclidiana, e também existem algoritmos de similaridade que calculam a similaridade de texto, como o Algoritmo Levenshtein.

Quando são úteis?

Esses algoritmos podem ser usados ​​em uma variedade de aplicações, mas são particularmente úteis para recomendação.

  • Quais artigos o Medium deve recomendar a você com base no que você leu anteriormente?
  • Qual música o Spotify deve recomendar com base nas músicas que você já gostou?
  • Quais produtos a Amazon deve recomendar com base no seu histórico de pedidos?

Estes são apenas alguns dos muitos exemplos em que algoritmos de similaridade e recomendação são usados ​​em nossas vidas cotidianas.

Tipos de Algoritmos

Abaixo está uma lista não exaustiva de alguns algoritmos de similaridade. Se você quiser ler sobre mais algoritmos de distância, confira este artigo. E se você também se interessar por algoritmos de similaridade de strings, leia este artigo.

Se você gostou desse conteúdo, acompanhe as próximas postagens do Insight Lab aqui e também nas redes sociais!

Fontes: Terence Shin e Azure.

 

 

Categorias
Algoritmo Deep Learning Reconhecimento de imagem Redes Neurais

Aprenda a Criar e Treinar Uma Rede Neural Convolucional (CNN)

As redes neurais convolucionais (CNN) se utilizam de uma arquitetura especial que é particularmente bem adequada para classificar imagens. O uso dessa arquitetura torna as redes convolucionais rápidas de treinar, o que é vantajoso para trabalhar com redes profundas. Hoje, a CNN ,ou alguma variante próxima, é usada na maioria dos modelos para reconhecimento de imagem.

Neste artigo, vamos entender como criar e treinar uma (CNN) simples para classificar dígitos manuscritos de um conjunto de dados popular.

Figura 1: dataset MNIST ( imagem:en.wikipedia.org/wiki/MNIST_database) 

Pré-requisito

Embora cada etapa seja detalhada neste tutorial, certamente quem já possui algum conhecimento teórico sobre o funcionamento da CNN será beneficiado. Além disso, é bom ter algum conhecimento prévio do TensorFlow2 , mas não é necessário.

Rede Neural Convolucional

Ao longo dos anos, o CNN se popularizou como técnica para a classificação de imagens para visões computacionais e tem sido usada nos domínios da saúde. Isso indica que o CNN é um modelo de deep learning confiável para uma previsão automatizada de ponta a ponta. Ele essencialmente extrai recursos ‘úteis’ de uma entrada fornecida automaticamente, facilitando nosso trabalho.

Figura 2: Processo end to end de CNN

Um modelo que utiliza CNN consiste, em suas versões mais simples, em três camadas principais: Camada Convolucional, Camada de Pooling e Camada Totalmente Conectada.

  1. Camada Convolucional: Esta camada extrai recursos de alto nível dos dados de entrada e os repassa para a próxima camada na forma de mapas de recursos.
  2. Camada de Pooling: É usada para reduzir as dimensões dos dados aplicando camadas de agrupamento (Pooling). Essa camada recebe cada saída do mapa de recursos da camada convolucional e prepara um mapa de características condensadas.
  3. Camada Totalmente Conectada: Finalmente, a tarefa de classificação é feita pela camada totalmente conectada. As pontuações de probabilidade são calculadas para cada rótulo de classe por uma função de ativação popularmente chamada de função softmax.

Dataset

O dataset que está sendo usado aqui é o de classificação de dígitos MNIST. O Keras é uma API de deep learning escrita em Python e ele traz consigo o MNIST. Este conjunto de dados consiste em 60.000 imagens de treinamento e 10.000 imagens de teste, o que o torna ideal para quem precisa experimentar o reconhecimento de padrões, pois ele é executado em apenas um minuto.

Quando a API do Keras é chamada, quatro valores são retornados. São eles: 

x_train,

y_train, 

x_test, 

y_test . 

Não se preocupe, você será orientado(a) sobre isso.

Carregando o dataset

A linguagem usada aqui é Python. Vamos usar o Google Colab para escrever e executar o código. Você também pode escolher um Jupyter notebook. o Google Colab foi escolhido aqui por fornecer acesso fácil a notebooks a qualquer hora e em qualquer lugar. Também é possível conectar um notebook Colab a um repositório GitHub. Você pode aprender mais sobre o Google Colab aqui.

Além disso, o código usado neste tutorial está disponível neste repositório Github. Portanto, se você se sentir confuso em alguma fase, verifique esse repositório. Para manter este tutorial relevante para todos, explicaremos o código mais crítico.

  1. Crie e nomeie um notebook.
  2. Depois de carregar as bibliotecas necessárias, carregue o dataset MNIST conforme mostrado abaixo:
(X_train,y_train),(X_test,y_test)=keras.datasets.mnist.load_data()

Como discutimos anteriormente, este conjunto de dados retorna quatro valores e na mesma ordem mencionada acima: x_train, y_train, x_test e y_test , que são representações para datasets divididos em treinamento e teste.

Muito bem! Você acabou de carregar seu dataset e está pronto para passar para a próxima etapa, que é processar os dados.

Processando o dataset

Os dados devem ser processados e limpos para melhorar sua qualidade. Para que a CNN aprenda é preciso que o dataset não contenha nenhum valor nulo, que tenha todos os dados numéricos e que seja normalizado. Então, aqui vamos realizar algumas etapas para garantir que tudo esteja perfeitamente adequado para um modelo CNN aprender. Daqui em diante, até criarmos o modelo, trabalharemos apenas no dataset de treinamento. 

Se você escrever X_train[0], obterá a 0ª imagem com valores entre 0-255, representando a intensidade da cor (preto ao branco). A imagem é uma matriz bidimensional. É claro, não saberemos o que o dígito manuscrito X_train[0] representa, para saber isso escreva y_train[0] e você obterá 5 como saída. Isso significa que a 0ª imagem deste dataset de treinamento representa o número 5. 

Vamos normalizar este dataset de treinamento e de teste, colocando os valores entre 0 e 1 conforme mostrado abaixo:

X_train=X_train/255
X_test=X_test/255

 

Em seguida, precisamos redimensionar a matriz para se adequar a API do Keras. Ela espera que cada entrada tenha 3 dimensões: uma pra linha, uma para a coluna e uma para a cor. Normalmente, essa 3ª dimensão é usada quando trabalhamos com imagens coloridas e temos múltiplos canais de cor (ex: RGB). Porém, como trabalhamos com imagens monocromáticas, essa terceira dimensão terá apenas um elemento.

X_train=X_train.reshape(-1,28,28,1) #conjunto de treinamento
X_test=X_test.reshape(-1,28,28,1) #conjunto de teste

Agora que está tudo em ordem, é hora de criarmos uma rede neural convolucional.

Criação e treinamento de uma CNN

Vamos criar um modelo CNN usando a biblioteca TensorFlow. O modelo é criado da seguinte maneira:

convolutional_neural_network=models.Sequential([  
layers.Conv2D(filters=25,kernel_size=(3,3),activation='relu',input_shape=(28,28,1)),
layers.MaxPooling2D((2,2)),
layers.Conv2D(filters=64,kernel_size=(3,3),activation='relu'),
layers.MaxPooling2D((2,2)),
layers.Conv2D(filters=64,kernel_size=(3,3),activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(64,activation='relu'),
layers.Dense(10,activation='softmax')]
)

 

Reserve algum tempo para permitir que todo o código seja absorvido. É importante que você entenda cada parte dele. No modelo CNN criado acima, há uma camada CNN de entrada, seguida por duas camadas CNN ocultas, uma camada densa oculta e, finalmente, uma camada densa de saída. Em termos mais simples, as funções de ativação são responsáveis ​​por tomar decisões de passar o que foi identificado adiante ou não. Em uma rede neural profunda como a CNN, existem muitos neurônios e, com base nas funções de ativação, os neurônios disparam e a rede avança. Se você não entende muito sobre as funções de ativação use ‘relu’, pois ele é mais popular devido sua versatilidade.

Uma vez que o modelo foi criado, é hora de compilá-lo e treiná- lo . Durante o processo de treino, o modelo percorrerá o dataset e aprenderá os padrões. Ele treinará quantas vezes for definido (as chamadas épocas). Em nosso exemplo, definimos 10 épocas. Durante o processo, o modelo da CNN vai aprender e também cometer erros. Para cada erro (previsões erradas) que o modelo comete, há uma penalidade (ou um custo) e isso é representado no valor da perda (loss) para cada época (veja o GIF abaixo). Resumindo, o modelo deve gerar o mínimo de perda e a maior precisão possível no final da última época.

 

Modelo de treinamento |  classificação de dígitos manuscritos CNN

GIF 1: Treinamento CNN e as precisões aprimoradas durante cada época

Fazendo previsões

Para avaliar o modelo CNN assim criado, você pode executar:

convolutional_neural_network.evaluate(X_test,y_test)

É hora de usar nosso conjunto de testes para ver o desempenho do modelo CNN.

y_predicted_by_model=convolutional_neural_network.predict(X_test)

O código acima usará o modelo convolutional_neural_network para fazer previsões para o conjunto de teste e armazená-lo no dataframe y_predicted_by_model. Para cada um dos 10 dígitos possíveis, uma pontuação de probabilidade será calculada. A classe com a pontuação de probabilidade mais alta é a previsão feita pelo modelo. Por exemplo, se você quiser ver qual é o dígito na primeira linha do conjunto de teste:

y_predicted_by_model[0]

A saída será mais ou menos assim:

array([3.4887790e-09,3.4696127e-06,7.7428967e-07,2.9782784e-08,6.3373392e-08,6.1983449e-08,7.4500317e-10,9.9999511e-01,4.2418694e-08,3.8616824e-07],dtype=float32)

Como é realmente difícil identificar o rótulo da classe de saída com a pontuação de probabilidade mais alta, vamos escrever outro código:

np.argmax(y_predicted[0])

E com isso, você obterá um dos dez dígitos como saída (0 a 9). Para saber a representação direta do dígito, aplique o resultado do argmax nas classes do modelo.

Em suma

Após aprender como um dataset é dividido em treinamento e teste, utilizando o MNIST para fazer previsões de dígitos manuscritos de 0 a 9, criamos um modelo CNN treinado no dataset de treinamento. Por fim, com o modelo treinado, as previsões são realizadas.

Incentivamos você a experimentar por conta própria a ajustar os hiperparâmetros do modelo na expectativa de saber se eles são capazes de alcançar precisões mais altas ou não. Se você quer aprender sempre mais, acompanhe esta aula de Redes Neurais Convolucionais. Ficamos felizes em colaborar com a sua aprendizagem!

Referências

  1. Equipe, K. (nd). Documentação Keras: conjunto de dados de classificação de dígitos MNIST. Keras. https://keras.io/api/datasets/mnist/.
  2. manav_m. (2021, 1º de maio). CNN para Aprendizado Profundo: Redes Neurais Convolucionais (CNN). Analytics Vidhya. https://www.analyticsvidhya.com/blog/2021/05/convolutional-neural-networks-cnn/.
  3. YouTube. (2020, 14 de outubro). Explicação simples da rede neural convolucional | Tutorial de aprendizado profundo 23 (Tensorflow e Python). YouTube. https://www.youtube.com/watch?v=zfiSAzpy9NM&list=PLeo1K3hjS3uvCeTYTeyfe0-rN5r8zn9rw&index=61. 

 

Artigo traduzido Analytics Vidhya : Classification of Handwritten Digits Using CNN.

Fonte de pesquisa: Deep Learning Book

 

Categorias
Algoritmo Kaggle Machine Learning

10 melhores projetos do Kaggle para aprender Machine Learning

Atualmente, grandes organizações estão investindo em análise preditiva e testando opções que sejam capazes de gerar eficiência de negócios e novas maneiras de lidar com seu público.

Partindo da ideia de que os dados são a nova riqueza mundial, saber refiná-los e transformá-los em informação será a chave para alavancar seu potencial.

Se você quer entender o que Machine Learning faz, o melhor é aprender na prática através de uma série de projetos já disponíveis. Veja aqui, 9 projetos de ML que o Insight selecionou no Kaggle para você aprender e se inspirar.

 

01  Previsão de Preço de Imóvel

Diariamente, pessoas no mundo todo compram e vendem imóveis. Mas como saber qual o melhor preço para esta categoria de produto? Como saber se o valor oferecido é justo? Neste projeto, é proposto um modelo de Machine Learning para prever o preço de uma casa baseado em dados como tamanho, ano de construção, entre outros. Durante o desenvolvimento e avaliação desse modelo, você verá o código usado para cada etapa seguido de sua saída. Este estudo utilizou a linguagem de programação Python.

 

02 Reconhecimento de gênero por voz

O reconhecimento de gênero permite a uma empresa fazer sugestões de produtos ou serviços de maneira mais personalizada aos seus usuários. Neste projeto o banco de dados foi criado para identificar uma voz como masculina ou feminina, com base nas propriedades acústicas da voz e da fala. 

O conjunto de dados consiste em 3.168 amostras de voz gravadas, coletadas de homens e mulheres. As amostras de voz são pré-processadas por análise acústica em R usando os pacotes seewave e tuneR, com uma faixa de frequência analisada de 0hz-280hz (faixa vocal humana).

 

03 Detecção de email spam

Com o crescimento da internet, o meio digital incentivou diversas práticas ruins como o email spam. Aparentemente, ele é uma parte inseparável da experiência na web, algo que aceitamos como normal, mas que é preciso combater e para isso surgiu a detecção de emails spam.

Neste projeto você irá encontrar um arquivo CSV contendo informações relacionadas de 5172 arquivos de email escolhidos aleatoriamente e seus respectivos rótulos para classificação de spam ou não spam. As informações sobre todos os 5172 emails estão armazenadas em um dataframe compacto, em vez de arquivos de texto separados.

 

04 Análise de Dados da Uber

Neste projeto de análise de dados do aplicativo Uber, o conjunto de dados são de viagens de passageiros que partem de um ponto A para um ponto B. O valor da viagem é calculado no momento da solicitação de forma automática pelo aplicativo, considerando distância, tempo estimado de viagem e disponibilidade atual do carro.

Terminada a viagem, é cobrado no cartão de crédito do passageiro e transferido uma porcentagem desse valor para a conta do motorista. Finalmente, antes de iniciar uma corrida, a viagem pode ser cancelada pelo motorista ou pelo passageiro.

A análise descritiva dos dados irá responder perguntas relacionadas a quantidade de passageiros e motoristas, quanto será o custo de uma viagem, quem são os melhores passageiros e os piores motoristas, entre outros questionamentos.

 

05 Detecção de Fraude com Cartão de Crédito

Em contrapartida ao surgimento do e-commerce e a facilidade de meios de pagamento e transações bancárias totalmente online, houve um aumento significativo nas fraudes com cartão de crédito. As operadoras de cartão passaram a dar mais importância a sistemas que possam detectar transações fraudulentas, para preservar seus clientes.

Este projeto contém transações realizadas com cartões de crédito em setembro de 2013 por portadores de cartões europeus, com intuito de analisar as transações fraudulentas.

 

06 Sistemas de Recomendação de Filme

Os sistemas de recomendação fazem com que o processo de recomendação natural do ser humano ganhe uma maior versatilidade, de modo que venha a atender digitalmente as demandas e necessidades das pessoas que procuram por algo.

O projeto analisa dados de filmes e sistemas de recomendação. Nele você verá algumas implementações de algoritmos de recomendação (baseado em conteúdo, popularidade e filtragem colaborativa) e também a construção de um conjunto desses modelos para chegar ao sistema de recomendação final. 

 

07 Análise de Sentimento no Twitter

A análise de sentimentos é uma mineração contextual de um texto que identifica e extrai informações subjetivas no material de origem. Ela ajuda as empresas a entenderem o sentimento social de sua marca, produto ou serviço. 

Segundo os criadores deste conjunto de dados, sua abordagem foi única porque os dados de treinamento foram criados automaticamente, ao invés de anotações humanos. Nesta abordagem, foi presumido que qualquer tuíte com emotions positivos, era positivo, e tuítes com emotions negativos, foram negativos. 

 

08 Predição de Câncer de Mama

Em um processo de extração de informações dos dados, existe a técnica de Mineração de Dados, que visa explorar grandes quantidades de dados com o intuito de encontrar padrões relevantes e consistentes no relacionamento entre os atributos (basicamente, colunas de tabelas) dessas bases de dados.

Uma das primeiras técnicas desenvolvidas nesse sentido foi o KDD (Knowledge Discovery in Database), desenvolvido durante o final da década de 1980. A extração de conhecimento a partir de uma base de dados é dividida em: coleta de dados, tratamento dos dados e resultado final (transformação dos dados em informações e posteriormente em conhecimento).

Neste projeto, pode-se entender as fases do KDD (Knowledge Discovery in Database) para uma base de dados na qual existe uma série de atributos de análise de imagens de células na região do câncer feitos com ultrassonografia para prever se um câncer de mama é benigno ou maligno.

Após a extração dos dados da plataforma Kaggle, foi realizado um pré-processamento para garantir que os dados lidos e interpretados sejam relevantes para o processo de extração de conhecimento. 

Em seguida, foi implementada a transformação dos dados, através do algoritmo KNN (K-Nearest Neighbors). Por fim, foram feitas as previsões a partir de novos dados, isto é, após o aprendizado realizado pelo algoritmo KNN sobre a base de dados, novas entradas de dados buscaram classificar se uma nova entrada de fotos de células seria um câncer benigno ou maligno, baseado no aprendizado anterior.

 

09 Análise estatística e fluxo de trabalho

Este projeto é para todos os aspirantes a cientistas de dados aprenderem e revisarem seus conhecimentos através de uma análise estatística detalhada do conjunto de dados do Titanic com a implementação do modelo ML.

Os objetivos principais deste trabalho são:

  • fazer uma análise estatística de como alguns grupos de pessoas sobreviveram mais do que outros;
  • fazer uma análise exploratória de dados (EDA) do titanic com visualizações e contação de histórias;
  • prever com o uso de ML as chances de sobrevivência dos passageiros.

 

 10 Previsão de preços de ações

Se você gosta de trabalhar com dados financeiros, este projeto  pode ser interessante para você. O objetivo deste projeto é prever os preços futuros das ações aprendendo com o desempenho de uma empresa.

Neste projeto serão explorados dados do mercado de ações, em particular ações de tecnologia. Ele apresenta como usar o Pandas para obter informações sobre ações, visualizar seus diferentes aspectos e, por fim, algumas maneiras de analisar o risco de uma ação com base em seu histórico de desempenho anterior. Além disso tudo, será abordado a previsão dos preços futuros de ações por meio do método Long Short Term Memory (LSTM).

 


 

No kaggle, você também encontra outros excelentes projetos como estes, disponíveis para aprendizagem e competições com outros cientistas de dados, engenheiros de Machine Learning e curiosos da área. Aprender com profissionais e ter acesso à base de dados para treinar suas habilidades, além de participar de competições, trará a você cada vez mais segurança em sua formação. 

Gostou da nossa seleção? Se você tem o seu próprio projeto ou quer indicar outro, compartilha aqui conosco!

 

Categorias
Algoritmo Dica de Leitura Machine Learning

Insight Indica o livro “Machine Learning: A Probabilistic Perspective”

O Insight apresenta aqui o livro “Machine Learning: A Probabilistic Perspective”, uma obra bem avaliada pelos leitores escrita por Kevin Patrick Murphy. Com um conteúdo extenso, mais de mil páginas, é um livro de companhia para sua carreira profissional que teve sua primeira edição lançado em 2012 e já está na sua quarta versão.

A obra é escrita de maneira informal, acessível e completa com pseudo-código para os algoritmos mais importantes. Possui todos os seus tópicos ilustrados com imagens coloridas e exemplos extraídos de domínios de aplicação como biologia, processamento de texto, visão computacional e robótica. Diferente de um tutorial, ou um livro de receitas de diferentes métodos heurísticos, a obra enfatiza uma abordagem baseada em modelos de princípios, muitas vezes usando a linguagem de modelos gráficos para especificá-los de forma concisa e intuitiva. Quase todos os modelos descritos foram implementados em um pacote de software MATLAB – PMTK (kit de ferramentas de modelagem probabilística) – que está disponível gratuitamente online. 

 

Conteúdo 

Com a quantidade cada vez maior de dados em formato eletrônico, a necessidade de métodos automatizados para análise de dados continua a crescer. O objetivo do Machine Learning (ML) é desenvolver métodos que possam detectar automaticamente padrões nos dados e, em seguida, usar esses padrões descobertos para prever dados futuros ou outros resultados de interesse. Este livro está fortemente relacionado aos campos de estatística e dados, fornecendo uma introdução detalhada ao campo e incluindo exemplos.

Com uma introdução abrangente e independente ao campo do Machine Learning, este livro traz uma abordagem probabilística unificada. A obra combina amplitude e profundidade no tema, oferecendo material de base necessário em tópicos como probabilidade, otimização e álgebra linear, bem como discussão de desenvolvimentos recentes no campo, incluindo campos aleatórios condicionais, regularização L1 e Deep Learning

 

Público-alvo

A leitura é indicada para estudantes de graduação de nível superior, de nível introdutório e estudantes iniciantes na pós-graduação em ciência da computação, estatística, engenharia elétrica, econométrica ou qualquer outro que tenha a formação matemática apropriada.

É importante que o leitor esteja familiarizado com cálculo multivariado básico, probabilidade, álgebra linear e programação de computador.

 

Sobre o autor

Kevin P. Murphy é um cientista pesquisador do Google. Anteriormente, ele foi Professor Associado de Ciência da Computação e Estatística na University of British Columbia.

 

Críticas sobre a obra

Kevin Murphy se destaca em desvendar as complexidades dos métodos de aprendizado de máquina enquanto motiva o leitor com uma série de exemplos ilustrados e estudos de caso do mundo real. O pacote de software que acompanha inclui o código-fonte para muitas das figuras, tornando mais fácil e tentador mergulhar e explorar esses métodos por si mesmo. Uma compra obrigatória para qualquer pessoa interessada em aprendizado de máquina ou curiosa sobre como extrair conhecimento útil de big data.

John Winn, Microsoft Research, Cambridge

 

Este livro será uma referência essencial para os praticantes do aprendizado de máquina moderno. Ele cobre os conceitos básicos necessários para entender o campo como um todo e os métodos modernos poderosos que se baseiam nesses conceitos. No aprendizado de máquina, a linguagem de probabilidade e estatística revela conexões importantes entre algoritmos e estratégias aparentemente díspares. Assim, seus leitores se articulam em uma visão holística do estado da arte e prontos para construir a próxima geração de algoritmos de Machine Learning.

David Blei, Universidade de Princeton

                                                 ———— . . . ————

Empolgado para se tornar um profissional mais preparado? Conta aqui, que livro você gostaria que o Insight indicasse?

Sair da versão mobile