O documento fornece uma visão geral dos principais conceitos e ferramentas de machine learning, incluindo: 1) Uma explicação de modelos de machine learning treinados e como eles funcionam; 2) Uma discussão sobre quando utilizar serviços de modelos treinados versus treinar seus próprios modelos; 3) Uma comparação de populares ferramentas e bibliotecas de machine learning como Weka, H2O, Scikit-learn, TensorFlow e Spark MLLib.
2. Globalcode – Open4education
Agenda
Ecossistema de ML e Big Data
Como funciona ML
Modelos treinados
Watson
Cloud Vision API
Cognitive services
Modelos Supervisionados
Treinando Modelos
Weka
Machine Learning Studio
H2O
Scikit-learn
Turi
MLLib
TensorFlow
Hands on Demo
13. 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;
14. 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ês
http://fredrikstenbeck.com/what-languages-does-ibm-watson-support/
16. Globalcode – Open4education
Cloud Vision API
https://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.
17. Globalcode – Open4education
Microsoft Cognitive Services
https://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.
20. 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.
21. 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
23. 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;
24. Globalcode – Open4education
Machine Learning NÃO é um SIMPLES framework
Primeiro erro de todo programador Java: Mahout
Muitos algorítmos do Mahout foram deprecados
28. Globalcode – Open4education
Weka
http://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
30. Globalcode – Open4education
Azure Machine Learning Studio
https://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;
32. 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.
34. Globalcode – Open4education
Scikit Learn
http://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;
36. Globalcode – Open4education
Graph Lab Create
https://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
37. 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;
39. Globalcode – Open4education
TensorFlow
https://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;