Machine Learning com Vowpal Wabbit

1.010 visualizações

Publicada em

Meetup sobre o uso do Vowpal Wabbit em aplicações Machine learning.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Machine Learning com Vowpal Wabbit

  1. 1. Machine Learning com Vowpal Wabbit
  2. 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. 3. Principal developer of VW http://research.yahoo.com http:// research.microsoft.com John Langford jl@hunch.net jcl@microsoft.com
  4. 4. A ideia
  5. 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,...
  6. 6. Features
  7. 7. Features
  8. 8. Modelos Modelos são simplificações da Realidade Dados Brutos -> Features, Label F(features) = Label
  9. 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
  10. 10. 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.
  11. 11. 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
  12. 12. 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])*
  13. 13. 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
  14. 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. 15. 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
  16. 16. Treinando o modelo VW –D DATA.TRAIN –C –K –PASSES 80 –F TREINO.VW [DEMO]
  17. 17. 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 ]
  18. 18. Feature Extration VW –VARINFO Identifica as features mais relevantes perl ../utl/vw-varinfo -c -k --passes 13 --base.vw > varinfo.txt
  19. 19. Overfitting Overfiting ocorre quando um algoritmo de modelo estatístico ou de aprendizagem de máquina torna-se “perfeito” ao treino.
  20. 20. MeetUp Café com Dados Até a próxima https://eventioz.com.br/e/cafe-com-dados- alfacon Inscreva-se e participe

×