Aprendendo dados tabulares com RBMs
Agenda
- Dados tabulares
- Métodos tradicionais
- Máquinas de Boltzmann restritas
- Filtragem colaborativa & RBMs
- Resultados
?
?
?
?
?
?
?
?
Taxonomia dos métodos

Modelos de Vizinhança
- Descobrir quais usuários compraram itens comuns
- Calcular a similaridade entre esses usuários
- Média de notas x similaridades

f(
)
f
é a função de similaridade
f(a, u, I) = \frac{\sum_{i \in I} (r_{a,i} - \overline{r_a}) (r_{u,i} - \overline{r_u})}{\sqrt{\sum_{i \in I} (r_{a,i} - \overline{r_a})^{2} \sum_{i \in I}(r_{u,i} - \overline{r_u})^{2}}}
Correlação de Pearson

Predição
p_{a,i} = \overline{r_{a}} + \frac{\sum_{u \in K}(r_{u,i} - \overline{r_{u}}) \times w_{a,u}}{\sum_{u \in K} w_{a,u}}
Predição
Modelos de fatores latentes
- Fatores latentes
- Redução de dimensionalidade
- Fatoração de matriz ou RBM

\overline{R}_{(u \times p)} = U_{(u \times k)}P_{(k \times p)}
Fatoração de Matriz
Aprendizado
\text{min} \sum_{i,j \in L}(r_{i,j} - u_{i}p_{j})^2
+ \lambda \left(\sum_{i} n_{u_i} \left \vert\vert u_i \right \vert\vert^2 + \sum_{j} n_{v_j} \vert\vert v_j \vert\vert^2 \right)
RBMs
O que faz?
Características
Treinamento

Dataset



Características
- Generativo
- Baseado em Energias
- Estocástico

Visible
Hidden

Energia
E(v, h) = -\sum \limits_{i} b_i v_i - \sum \limits_{j} c_j h_j - \sum \limits_{i} \sum \limits_{j} v_i w_{ij} h_j
Probabilidade de uma configuração
P(v, h) = \frac{e^{-E(v, h)}}{Z}
Probabilidade marginal de uma entrada
P(v) = \frac{1}{Z} \sum \limits_{h} e^{-E(v, h)}
Probabilidades condicionais
P(v|h) = \prod \limits_{i=1}^m P(v_i|h)
P(h|v) = \prod \limits_{j=1}^n P(h_j|v)
Aprendizado
\arg\min \limits_{W} \mathbb{E} \left[\sum \limits_{v \in V} - \log P(v)\right]
Derivada e correção
\frac{\partial \log P(v)}{w_{ij}} = \langle\ v_i h_j \rangle_{data} - \langle\ v_i h_j \rangle_{model}
\Delta w_{ij} = \epsilon(\langle\ v_i h_j \rangle_{data} - \langle\ v_i h_j \rangle_{model})

x = \{1, 0, 1\}

P(h_j=1|v) = \sigma \left(c_j + \sum_{i=1}^m w_{i,j} v_i \right)

P(v_i=1|h) = \sigma \left(a_i + \sum_{j=1}^n w_{i,j} h_j \right)

v_0 = \{1, 0, 1\}
v_1 = \{1, 1, 1\}
CD-k
k = passos de amostragem
FC & RBMs

Item 1
Item 2
Item 3

Em detalhe
- nós binários, um pra cada nota
- Um peso e um viés de entrada para cada nota de 1 a
k
k
Ativação de uma unidade visível
P(v_i^k = 1|h) = \frac{\exp(b_i^k + \Sigma_j W_{ij}^k h_j)} {\Sigma_{k=1}^K \exp(b_i^k + \Sigma_j W_{ij}^k h_j)}

Predição
- Realizar uma etapa de amostragem e escolhe a maior ativação de uma unidade
- Obter energia dos 5 ratings possíveis, normalizar e usar o valor esperado como predição
Experimentos
U-RBM & I-RBM
Validação - H


U-RBM
I-RBM
Validação - tx. aprendzado


U-RBM
I-RBM
Validação - momentum


U-RBM
I-RBM
Validação - decaimento


U-RBM
I-RBM

Referências
-
Ruslan Salakhutdinov, Andriy Mnih and Geoffrey Hinton. “Restricted Boltzmann machines for collaborative filtering”. In: In Machine Learning, Proceedings of the Twenty-fourth International Conference (ICML 2004). ACM. AAAI Press, 2007, pp. 791–798.
-
Geoffrey E. Hinton. “A Practical Guide to Training Restricted Boltzmann Machines”. In: Neural Networks: Tricks of the Trade - Second Edition. 2012, pp. 599–619. doi: 10.1007/978-3-642-35289-8_32. url: http: //dx.doi.org/10.1007/978-3-642-35289-8_32.
Fim
Perguntas?
fcruz@inf.puc-rio.br
Aprendendo dados tabulares com RBMs
By Felipe Cruz
Aprendendo dados tabulares com RBMs
RBMs & FC
- 696