SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Machine Learning
com Vowpal Wabbit
Definição
O Vowpal Wabbit (VW) é uma ferramenta para criação de modelos de Machine
Learningcapazes de extrair informações e padrões de grandes volumes de dados.
O VW pode ser usado para resolver problemas de Big Data rapidamente através de cases reais
através de problemas que envolvem classificação de dados, modelos de regressão e descoberta de padrões.
Principal developer of VW
http://research.yahoo.com http:// research.microsoft.com
John Langford
jl@hunch.net
jcl@microsoft.com
A ideia
O que é
Implementação de diversos algoritmos de machine learning.
• FEATURES – Subconjunto de dados com características relevantes.
• LABEL – Resultado esperado (o que se deseja prever)
• Job Description – Dado um conjunto de features, calcule (com certa precisão) o label correspondente.
• Entrada do VW – Textual (qualquer palavra pode ser utilizada como feature)
• Exemplo – nota, curso, professor,...
Features
Features
Modelos
Modelos são simplificações da Realidade
Dados Brutos -> Features, Label
F(features) = Label
Aprendendo modelos
VW aproxima F da forma linear
F = C1*FEATURE1+C2*FEATURE2+C3*FEATURE3+...+Cn*FEATUREn
É basicamente um
somatório
dos pesos
multiplicados pelos
valores das features
Machine Learning com Vowpal Wabbit
Stochastic Gradient Descent
É um algoritmo que busca aprender dado um conjunto de exemplos baseado no valor dos pesos correspondentes para as
features.
Nesse caso, necessitamos de um modelo de treino (Aprendizagem Supervisionada). É um
aprendizado de dados interativo.
Dentro da inteligência artificial, programas estocásticos trabalham usando métodos probabilísticos para
solucionar problemas, como em redes neurais estocásticas, otimização estocástica e algoritmos genéticos.
Um problema pode ser estocástico em si mesmo, como no planejamento sob incerteza.
O treinamento
Partindo do modelo SUPERVISIONADO, passasse uma infinidade de exemplos com
features e labels para que o sistema possa identificá-los.
Exemplo:
Job Description: Tempo de compra para novos cadastros
Features: Estado, DiaCadastro, MesCadastro, Idade, Sexo, ...
Label: QtdeDiasAtéCompra
Modelo Preditivo
Modelagem:
O VW possui um modelo de entrada bastante flexível
[Label] [Importance [Tag]]|Namespace Features |Namespace Feature ....
Onde:
Namespace = String[:Value] (Pacotes de Features relacionadas)
Features = (String[:Value])*
Distribuição dos dados de entrada
2.025305865 |dados_cliente data_cadastro=30-09-2013 dia_cadastro:30.0
mes_cadastro=Setembro idade:24 cidade=passo_fundo estado=rs
data_nascimento=1990-07-02 recebe_mail_mkt:1.0 |dados_compras
data_primeira_compra=14-01-2014
quantidade_free_antes_primeira_compra:4.0
http://hunch.net/~vw/validate.html
Distribuição dos dados de entrada
2.025305865 |dados_cliente data_cadastro=30-09-2013 dia_cadastro:30.0
mes_cadastro=Setembro idade:24 cidade=passo_fundo estado=rs
data_nascimento=1990-07-02 recebe_mail_mkt:1.0 |dados_compras
data_primeira_compra=14-01-2014
quantidade_free_antes_primeira_compra:4.0
http://hunch.net/~vw/validate.html
Como otimizar essa grande quantidade de parâmetros?
Como converter esses números em palavras?
Através da função hash, pega-se a String e faz um hash dela, e a utiliza como entrada na função
de otimização.
Isso é particularmente útil para os algoritmos de aprendizagem que consomem grandes
quantidades de dados. Assim aumenta a ESCALABILIDADE
Treinando o modelo
VW –D DATA.TRAIN –C –K –PASSES 80 –F TREINO.VW
[DEMO]
Predição do tempo entre cadastro e compra
HEAD –3L DATA.TEST
HEAD –3L DATA.TEST | VW –i TREINO.VW –T –QUIET –P /DEV/STDOUT
[ WolframAlpha ]
Feature Extration
VW –VARINFO
Identifica as features mais relevantes
perl ../utl/vw-varinfo -c -k --passes 13 --base.vw > varinfo.txt
Overfitting
Overfiting ocorre quando um algoritmo de
modelo estatístico ou de aprendizagem de
máquina torna-se “perfeito” ao treino.
MeetUp
Café com Dados
Até a próxima
https://eventioz.com.br/e/cafe-com-dados-
alfacon
Inscreva-se e participe

Más contenido relacionado

Similar a Machine Learning com Vowpal Wabbit

PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...
PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...
PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...Aislan Honorato
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesRogerio P C do Nascimento
 
Mineração com sql server 2008 r2
Mineração com sql server 2008 r2Mineração com sql server 2008 r2
Mineração com sql server 2008 r2Rodrigo Dornel
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine LearningOrlando Mariano
 
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...Deep Tech Brasil
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Práticatdc-globalcode
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Modelagem Dimensional
Modelagem DimensionalModelagem Dimensional
Modelagem DimensionalMarco Garcia
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na PráticaEiti Kimura
 
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...Manuel Menezes de Sequeira
 
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosSap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosMarcelo Ramos
 
TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011Qintess
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven DesignÍtalo Bandeira
 

Similar a Machine Learning com Vowpal Wabbit (20)

PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...
PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...
PowerBI na Pártica com Indicadores Elicitados com MindMap e Canvas consumidos...
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1
 
Aula1
Aula1Aula1
Aula1
 
Mineração com sql server 2008 r2
Mineração com sql server 2008 r2Mineração com sql server 2008 r2
Mineração com sql server 2008 r2
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine Learning
 
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
[DTC21] Raphael Castilho - Começando com Inteligência Artificial e Machine Le...
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produção
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Modelagem Dimensional
Modelagem DimensionalModelagem Dimensional
Modelagem Dimensional
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
 
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosSap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
 
TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011
 
SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
DataTechDay4 - Carlos Oeiras
DataTechDay4 - Carlos OeirasDataTechDay4 - Carlos Oeiras
DataTechDay4 - Carlos Oeiras
 
Revista programar 20
Revista programar 20Revista programar 20
Revista programar 20
 

Machine Learning com Vowpal Wabbit

  • 2. Definição O Vowpal Wabbit (VW) é uma ferramenta para criação de modelos de Machine Learningcapazes de extrair informações e padrões de grandes volumes de dados. O VW pode ser usado para resolver problemas de Big Data rapidamente através de cases reais através de problemas que envolvem classificação de dados, modelos de regressão e descoberta de padrões.
  • 3. Principal developer of VW http://research.yahoo.com http:// research.microsoft.com John Langford jl@hunch.net jcl@microsoft.com
  • 5. O que é Implementação de diversos algoritmos de machine learning. • FEATURES – Subconjunto de dados com características relevantes. • LABEL – Resultado esperado (o que se deseja prever) • Job Description – Dado um conjunto de features, calcule (com certa precisão) o label correspondente. • Entrada do VW – Textual (qualquer palavra pode ser utilizada como feature) • Exemplo – nota, curso, professor,...
  • 8. Modelos Modelos são simplificações da Realidade Dados Brutos -> Features, Label F(features) = Label
  • 9. Aprendendo modelos VW aproxima F da forma linear F = C1*FEATURE1+C2*FEATURE2+C3*FEATURE3+...+Cn*FEATUREn É basicamente um somatório dos pesos multiplicados pelos valores das features
  • 11. Stochastic Gradient Descent É um algoritmo que busca aprender dado um conjunto de exemplos baseado no valor dos pesos correspondentes para as features. Nesse caso, necessitamos de um modelo de treino (Aprendizagem Supervisionada). É um aprendizado de dados interativo. Dentro da inteligência artificial, programas estocásticos trabalham usando métodos probabilísticos para solucionar problemas, como em redes neurais estocásticas, otimização estocástica e algoritmos genéticos. Um problema pode ser estocástico em si mesmo, como no planejamento sob incerteza.
  • 12. O treinamento Partindo do modelo SUPERVISIONADO, passasse uma infinidade de exemplos com features e labels para que o sistema possa identificá-los. Exemplo: Job Description: Tempo de compra para novos cadastros Features: Estado, DiaCadastro, MesCadastro, Idade, Sexo, ... Label: QtdeDiasAtéCompra
  • 13. Modelo Preditivo Modelagem: O VW possui um modelo de entrada bastante flexível [Label] [Importance [Tag]]|Namespace Features |Namespace Feature .... Onde: Namespace = String[:Value] (Pacotes de Features relacionadas) Features = (String[:Value])*
  • 14. Distribuição dos dados de entrada 2.025305865 |dados_cliente data_cadastro=30-09-2013 dia_cadastro:30.0 mes_cadastro=Setembro idade:24 cidade=passo_fundo estado=rs data_nascimento=1990-07-02 recebe_mail_mkt:1.0 |dados_compras data_primeira_compra=14-01-2014 quantidade_free_antes_primeira_compra:4.0 http://hunch.net/~vw/validate.html
  • 15. Distribuição dos dados de entrada 2.025305865 |dados_cliente data_cadastro=30-09-2013 dia_cadastro:30.0 mes_cadastro=Setembro idade:24 cidade=passo_fundo estado=rs data_nascimento=1990-07-02 recebe_mail_mkt:1.0 |dados_compras data_primeira_compra=14-01-2014 quantidade_free_antes_primeira_compra:4.0 http://hunch.net/~vw/validate.html
  • 16. Como otimizar essa grande quantidade de parâmetros? Como converter esses números em palavras? Através da função hash, pega-se a String e faz um hash dela, e a utiliza como entrada na função de otimização. Isso é particularmente útil para os algoritmos de aprendizagem que consomem grandes quantidades de dados. Assim aumenta a ESCALABILIDADE
  • 17. Treinando o modelo VW –D DATA.TRAIN –C –K –PASSES 80 –F TREINO.VW [DEMO]
  • 18. Predição do tempo entre cadastro e compra HEAD –3L DATA.TEST HEAD –3L DATA.TEST | VW –i TREINO.VW –T –QUIET –P /DEV/STDOUT [ WolframAlpha ]
  • 19. Feature Extration VW –VARINFO Identifica as features mais relevantes perl ../utl/vw-varinfo -c -k --passes 13 --base.vw > varinfo.txt
  • 20. Overfitting Overfiting ocorre quando um algoritmo de modelo estatístico ou de aprendizagem de máquina torna-se “perfeito” ao treino.
  • 21. MeetUp Café com Dados Até a próxima https://eventioz.com.br/e/cafe-com-dados- alfacon Inscreva-se e participe

Notas del editor

  1. No modo Apresentação de Slides, clique na seta para entrar no PowerPoint Getting Started Center.