Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Recomendação - Algoritmos de Filtragem Colaborativa

Recomendação - Algoritmos de Filtragem Colaborativa

Algoritmos de Filtragem Colaborativa - similaridade, fatores latentes e rbms

Felipe cruz

August 29, 2015
Tweet

More Decks by Felipe cruz

Other Decks in Technology

Transcript

  1. quanto maior for a quanto maior for a matriz, mais

    matriz, mais recursos são recursos são necessários necessários
  2. f(a, u, I) = √ (r − ) (r −

    ) ∑i∈I a,i ra 2 ∑i∈I u,i ru 2 (r − )(r − ) ∑i∈I a,i ra u,i ru Pearson correlation
  3. (r − ) ∑ i∈I a,i ra nota dada pelo

    usuário a ao item i menos média das notas do usuário a I = { , } (r − ) u,i ru
  4. (r − ) ∑ i∈I a,i ra (r − )

    u,i ru [(4.5 − 4)(4 − 3.5)] + [(3.5 − 4)(3 − 3.5)] [0.5 × 0.5] + [−0.5 × −0.5] = 0.5
  5. √ (r − ) (r − ) ∑ i∈I a,i

    ra 2 ∑ i∈I u,i ru 2 [(4.5 − 4) + (3.5 − 4) ] × [(4 − 3.5) + (3 − 3.5) ] 2 2 2 2 [(0.5) + (−0.5) ] × [(0.5) + (−0.5) ] = = 0.5 2 2 2 2 √0.52
  6. p = + a,i ra w ∑u∈K a,u (r −

    )×w ∑u∈K u,i ru a,u Predição Predição
  7. Template method - treino Template method - treino for u

    in usuarios: similares = mesmos_produtos(R, u) for s in similares: S[(u,s)] = similaridade(u, s)
  8. R ∈ ij (u × p) Vamos dar um nome

    aquela matriz: Vamos dar um nome aquela matriz:
  9. min (r − u p ) ∑ i,j∈L i,j i

    j 2 U, P T +λ n ∣u ∣ + n ∣∣v ∣∣ (∑ i ui ∣ i∣ 2 ∑ j vj j 2) Formalização Formalização do Problema do Problema ⟨u , p ⟩ i j
  10. min (r − u p ) ∑ i,j∈L i,j i

    j 2 U, P T +λ n ∣u ∣ + n ∣∣v ∣∣ (∑ i ui ∣ i∣ 2 ∑ j vj j 2) Formalização Formalização do Problema do Problema Regularização contra overfit
  11. min (r − u p ) ∑ i,j∈L i,j i

    j 2 U, P T E = − ( 2 3 4 6 ) ( ⟨u , p ⟩ 1 1 ⟨u , p ⟩ 2 1 ⟨u , p ⟩ 1 2 ⟨u , p ⟩ 2 2 ) Minimizar o erro Minimizar o erro Rij Rij
  12. Algoritmo ALS Algoritmo ALS 1. Inicializa U com valores randômicos

    2. Fixa U, e para cada linha de P resolvemos um problema de regressão linear para achar valores ótimos para P 3. Fixa P, e para cada linha de P resolvemos um problema de regressão linear para achar valores ótimos para U
  13. Modelo Modelo Cada destino é uma unidade visível 1 se

    comprou 0 se não comprou Também é possível usar atributos do usuário no modelo. Ex: tem filhos? Só compra pacotes de luxo?
  14. Predição - input Predição - input profile = [0, 0,

    0, 1, 0, 0, 0, 1] profile = [0, 0, 0, 1, 0, 0, 0, 1] (buzios e ilha grande)
  15. Predição - output Predição - output pred = [0, 1,

    0, 1, 0, 0, 1, 1] pred = [0, 1, 0, 1, 0, 0, 1, 1] (buzios, ilha grande, angra, balneário camboriú)
  16. Na prática Na prática Funciona* bem com amostras do dataset

    Perfis vazios voltam com destinos mais populares Predição não determinística Pode ser usada antes de um modelo de Rating pra diminuir a quantidade de predições necessárias Ensemble!!! http://www.slideshare.net/akyrola/largescale- recommendation-systems-on-just-a-pc