tdc2016sp - machine learning black boxes - terceirizando o trabalho duro
Post on 20-Mar-2017
141 Views
Preview:
TRANSCRIPT
Globalcode – Open4education
Machine Learning Black-Boxes
Denis RosaSoftware Engineer
deniswsrosa
Terceirizando o trabalho duro
Globalcode – Open4education
AgendaEcossistema de ML e Big DataComo funciona MLModelos treinados
WatsonCloud Vision APICognitive services
Modelos SupervisionadosTreinando ModelosWekaMachine Learning StudioH2OScikit-learnTuriMLLibTensorFlowHands on Demo
Globalcode – Open4education
Objetivo
Fornecer a visão macro de quais são as principais ferramentas que podemos utilizar para extrair os melhores benefícios de machine learning.
Globalcode – Open4education
Globalcode – Open4education
O que é um BlackBox ?
São ferramentas e libraries que facilitam a criação do seu modelo e o deploy dele e produção.
Globalcode – Open4education
Por que utilizar BlackBox ?
Não quero ter de implementar isso toda vez que fizer uma regressão logística por exemplo:
Globalcode – Open4education
Como funciona um modelo de machine learning?
Globalcode – Open4education
Gato
Cachorro
Globalcode – Open4education
Generalização
Globalcode – Open4education
?Cachorro
Globalcode – Open4education
SupervisionadoNão Supervisionado
TreinadoSupervisionadoNão Supervisionado
Treinado
Modelos de ML
Globalcode – Open4education
O filho adotadoTreinado
Globalcode – Open4education
Por quê utilizar serviços de modelos treinados?
• Não é necessário acumular terabytes de dados e muitas horas de processamento para treinar modelos;
• Custo total é muito mais barato;• Equipe especializada para evoluir o modelo;
Você pode se concentrar no seu produto!
Ex: Linguagem natural, tradução, reconhecimento de imagem, OCR.
• É mais rápido e escalável.
• É utilizado como um simples serviço;
Globalcode – Open4education
IBM Watson Services
Linguagem
• AlchemyLanguage• Retrieve and Rank• Bot Dialog• Concept Insights• Natural Language
Classifier• Tone Analyzer
Speech
• Speech to text• Text to speech
Visual
• Visual insights• Visual Recognition
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/services-catalog.html
Portuguêshttp://fredrikstenbeck.com/what-languages-does-ibm-watson-support/
Globalcode – Open4education
Demohttps://alchemy-language-demo.mybluemix.net/
http://retrieve-and-rank-demo.mybluemix.net/rnr-demo/dist/#/
Globalcode – Open4education
Cloud Vision APIhttps://cloud.google.com/vision/
• Filtro de conteúdo explícito;• OCR• Image label detection;• Face detection;
Serviços simples e custo baixo porém api é mal documentada.
Globalcode – Open4education
Microsoft Cognitive Serviceshttps://www.microsoft.com/cognitive-services/
Vision
• Emotion Detection • Face Detection• Face Verification• OCR
Speech
• Bing Speech• Custom Recognition• Speaker
Recognition
Language
• Spell Check• Text Analytics• Language
Understanding
Alguns serviços de texto ainda não suportam português.
Serviços de imagens são free até 30.000 requisições por mês.
Globalcode – Open4education
Demohttps://www.microsoft.com/cognitive-services/en-us/face-api
https://www.microsoft.com/cognitive-services/en-us/speaker-recognition-api
https://www.microsoft.com/cognitive-services/en-us/emotion-api
Globalcode – Open4education
O filho biológicoSupervisionado
Globalcode – Open4education
Quando treinar seus próprios modelos?
• Dados são privados *;• O modelo faz parte do core da aplicação;• Modelo deve possuir características específicas do seu negócio;
* Alguns players utilizam as imagens enviadas para evoluir o modelo treinado, por isso o preço por transaction é tão baixo.
Ex: Recomendações, regressões, classificações, árvores de decisão, clustering.
Globalcode – Open4education
Limpeza de Dados
Treinamento
Teste do Modelo
Ajustes
Validação
Como se treina um modelo de ML?
Seleção de Features
Seleção do Algorítmo
Globalcode – Open4education
75de precisão
% 90%-
Globalcode – Open4education
Como aumentar a precisão do meu modelo?
A resposta para essa pergunta é muito complexa:
• Feature engineering;• Deep Learning;• More data;• Model adjustments;
• Penalization;
• Bagging;• Boosting;
• Algorithm selection;• Lower training rates;• Model is overfitted;
Globalcode – Open4education
Machine Learning NÃO é um SIMPLES framework
Primeiro erro de todo programador Java: Mahout
Muitos algorítmos do Mahout foram deprecados
Globalcode – Open4education
Por onde eu começo?
Globalcode – Open4education
Aprenda os principais Algoritmos de ML
Globalcode – Open4education
Quais black boxes devo utilizar?
Globalcode – Open4education
Wekahttp://www.cs.waikato.ac.nz/ml/weka/
• Gratuito, GUI based e de fácil uso;
• Exporta o modelo para código java;• Possui grande variedade de algoritmos disponíveis;• Pode ser utilizado em batch mode;• A gestão da memória todavia não é muito eficaz e pode ser
um problema para grandes datasets
Globalcode – Open4education
Weka
Globalcode – Open4education
Azure Machine Learning Studiohttps://studio.azureml.net/
• Não requer código, é baseada em workflows;
• Provisiona sozinho a infraestrutura para treinar os modelo;• Excelente documentação;• Fácil definição de parâmetros e de visualização dos dados;• Possui interface web e integração com RStudio;
Globalcode – Open4education
https://www.youtube.com/watch?v=kZ04LnSjWek
Globalcode – Open4education
http://www.h2o.ai/
• Escolhido como o melhor projeto open-source de machine learning em java pelo github
• Possui interface web e boa documentação;
• Principal ferramenta utilizada para em competições como o Kaggle;
• Suporta R, Java, Scala e Python;
• Conecta com HDFS, S3, SQL, NoSQL databases, Excel, etc.
Globalcode – Open4education
Flow
https://www.youtube.com/watch?v=wzeuFfbW7WE
Globalcode – Open4education
Scikit Learnhttp://scikit-learn.org/stable/
• A principal library de machine learning;
• Safe choice para grande parte dos casos;• Bem documentado e comunidade ativa;• Fácil, robusto, rápido e open source;
Globalcode – Open4education
Exemplo de classificação
liso Irregular
Maçã Laranja
Irregular
= 1 (Laranja)
Globalcode – Open4education
Graph Lab Createhttps://dato.com/products/create/
• Uma das ferramentas mais simples para se aprender ML;
• Baseada em python;• Boa documentação e possui licensa para estudantes;• Fácil definição de parâmetros e de visualização dos dados;• Integração com Ipython Notebook;
Turi
Globalcode – Open4education
http://spark.apache.org/docs/latest/mllib-guide.html
• Open source e embarcado no Spark;
• Projetado para ser capaz de analizar terabytes de dados;• Focado em ajudar a construir um Machine Learning pipeline
ao invés de ser uma library de algorítmos.;• Simples, de fácil integração com outras ferramentas, é
inspirado no scikit-learn;
Globalcode – Open4education
http://spark.apache.org/docs/latest/mllib-guide.html
Quem está utilizando?
• Yahoo!, Uber, Toyota, NBC, Linkedin, ING, Alibaba, Amazon, Ebay, Nasa JPL e Facebook.
Globalcode – Open4education
TensorFlowhttps://www.tensorflow.org/
• Utilizado por muitos serviços do Google;
• O queridinho para classificação de imagens e Neural Network; • Open Source e com APIs em python;• Comunidade mais forte que a o Torch ou Theano;• TensorBoard;
Globalcode – Open4education
TensorBoard
Globalcode – Open4education
DemoRegressão LinearPredizendo os valores de imóveis com base em suas características.
Globalcode – Open4education
Obrigado!Denis Rosa
Software Engineer
deniswsrosa
top related