2016 - machine learning - public - machine learning.pdf · § quantas transações teremos na black...
TRANSCRIPT
Ricardo Abdalla@ricardoabdalla | [email protected]
Machine LearningUma pequena introdução à Aprendizagem de Máquina
Apresentação
§ Coordenador de Inovação na Braspag§ Ciência da Computação – UFF§ Engenharia de Software (+10 anos)§ Agile, Lean & Kanban Software Development (+5 anos)§ Cloud, Machine Learning & IoT (< 2 anos)
Motivação
§ Programar um computador é como explicar a alguém como realizar uma tarefa
§ Só é possível explicar aquilo que se conhece§ Mas e se a tarefa for complexa demais? E se não soubermos
como realiza-la?§ Ter que descrever explicitamente como a máquina executa cada
tarefa é uma grande limitação da programação tradicional
Aplicações de ML no mundo real
§ Mecanismo de buscas (Bing, Google)§ Descrição e reconhecimento automático de imagens (Facebook)§ Reconhecimento óptico de caracteres (OCR)§ Carros autônomos (Google Self Driving Car)§ Filtro de Spam (Gmail, Outlook)§ Análise de sentimentos em redes sociais (Facebook, Twitter)§ Detecção de fraudes no uso de cartão de crédito (Braintree)§ Recomendações (Amazon, Netflix)§ Tradução simultânea em tempo real (Skype)
O que é Aprendizagem de Máquina?
§ Ramo da Inteligência Artificial (reconhecimento de padrões e teoria da aprendizagem computacional)
§ Algoritmos que ensinam uma máquina como se auto programar para executar uma tarefa
§ Utilizam um conjunto de ‘exemplos conhecidos’ como input para a escrita do seu próprio programa
§ Ferramenta poderosa para aquisição automática de conhecimento
§ Não existe um único algoritmo que apresente melhor desempenho para todos problemas
Aprendizagem de máquina é a habilidade de um programa aprender a partir da experiência ou, em outras palavras, modificar a sua execução com base em informação recém adquirida.
Como ensinamos crianças a identificar os animais?
Elefante
ElefanteElefante
Elefante!
Quero que a minha foto fique como uma tela de Picasso
Inferência Indutiva
§ Inferência lógica que obtém conclusões a partir de um conjunto de exemplos observados1. Observação de dados particulares e isolados2. Procura por um padrão ou lei geral3. Aplicação a casos isolados análogos
Premissa1(Particular)
Premissa2(Particular)
Conclusão(Geral)
Como funciona?
DadosdeTreinamento
Algoritmo deAprendizagem
HipóteseDadosdeTeste
Dados
Performance
Feedback
80%
20%
Os tipos de aprendizagem
§ Supervisionada (Supervised Learning)§ Os dados de treino incluem a saída correta com a precisão esperada (label)§ Exemplo: algoritmos de classificação e regressão
§ Não Supervisionada (Unsupervised Learning)§ Os dados de treino não possuem label ou resposta correta associada§ Exemplo: algoritmos de clusterização
§ Por Reforço (Reinforcement Learning)§ O algoritmo escolhe uma ação como resposta para cada dado, e recebe um sinal de
recompensa alguns instantes depois, indicando a qualidade da decisão§ A estratégia é modificada dinamicamente para buscar a maior recompensa§ Exemplo: robótica
Aprendizagem Supervisionada
(cadeira)
(computador) (cadeira) (cadeira)
(gato) (elefante)
Cadeira?
Aprendizagem Não Supervisionada
Os principais tipos de algoritmosClassificação, Regressão, Agrupamento, Detecção de Anomalia e Recomendação
Classificação
§ Método para classificar os dados em categorias discretas§ Email: Spam / Não Spam?§ Transação Online Fraudulenta: (Sim/Não)?
§ Classificação em duas classes ou mais classes§ Algoritmos: Regressão Logística, SVM, Multiclass NN
[ 100 996 5 0 1 ] → -1[ 45 997 3 1 1 ] → 1[ 37 996 2 0 0 ] → -1[ 92 998 3 1 1 ] → ?
Features (X) Label (Y)
Observações realizadas
Predição
Regressão
§ Método para predição de resultados numéricos contínuos§ Quantos clientes teremos em nosso site na próxima semana?§ Quantas transações teremos na Black Friday 2016?
§ Problemas do tipo “quantos?”§ Algoritmos: Regressão Linear, NN Regression, Decision Tree
[ 48 98.50 5 0 1 ] → 84.56[ 43 10.45 3 1 1 ] → 20.34[ 37 54.00 2 1 0 ] → 10.00[ 88 16.23 3 1 1 ] → ?
Features (X) Label (Y)
Observações realizadas
Predição
Agrupamento (Clustering)
§ Método para agrupar entidades com features semelhantes§ Como identifico clientes com perfis semelhantes?§ Como identifico objetos com qualidades semelhantes?
§ Objetos de uma coleção são agrupados pela similaridade§ Exemplos: K-means, Hierarchical Clustering, Distribution Based
Detecção de Anomalia (Anomaly Detection)
§ Método para descobrir dados incomuns na amostragem§ Como identifico comportamentos de compra fraudulentos?
§ Identifica observações que não atendem ao padrão esperado§ Exemplos: One-class SVM, PCA-Based, Local Outlier Factor
Recomendação (Recommender Systems)
§ Método para recomendar itens a um indivíduo baseado no comportamento passado ou preferências de indivíduos semelhantes
§ Exemplos: Collaborative Filtering, Content Based Filtering
https://azure.microsoft.com/en-us/documentation/articles/machine-learning-algorithm-cheat-sheet/
Referências
§ Microsoft Azure Machine Learninghttps://studio.azureml.net/
§ Scikit Learn (Python)http://scikit-learn.org/
§ Accord Framework .NEThttp://accord-framework.net/
§ Machine Learning – Stanford Universityhttps://www.coursera.org/learn/machine-learning