概述
- 是最小二乘法;
- 利用矩阵分解的结果,无限逼近现有数据,得到隐含特征;
- 利用隐含特征,预测其余结果;
ALS 算法 | 举个栗子
product1 | product2 | product3 | |
---|---|---|---|
user1 | 3.0 | ||
user2 | 1.0 | 3.0 | |
user3 | 3.0 | ||
user4 | 1.0 |
- 在线采集系统会记录用户的所有行为;
- user2 浏览过 product2,计 1.0 分,多次浏览也只计 1.0 分,只计 UV,不记 PV;
- user1 浏览并下单过 product1,计 3.0 分;
- 推荐系统要做的事情,比如对 user2 来说,不是再推荐 product2 和 product3 给 user2,而是在没有分数的 product 里给 user2 推荐,当然,在推荐之前,要给所有没有分数的格子打分,推荐的规则就是把算分最高的格子推荐给用户;
- ALS 算法,就是根据已有值的格子,得出每个 user 和 product 的特征值;
ALS 得出的 user 的特征值
f1 | f2 | f3 | f4 | f5 | |
---|---|---|---|---|---|
user1 | 0.21 | 0.31 | 0.01 | 0.29 | 0.89 |
user2 | 0.29 | 0.22 | 0.54 | 0.78 | 0.12 |
user3 | 0.12 | 0.67 | 0.31 | 0.64 | 0.11 |
user4 | 0.12 | 0.98 | 0.56 | 0.45 | 0.43 |
- 这个表格是由隐含层预测出来的;
ALS 得出的 product 的特征值
f1 | f2 | f3 | f4 | f5 | |
---|---|---|---|---|---|
product1 | 0.21 | 0.31 | 0.01 | 0.29 | 0.89 |
product2 | 0.29 | 0.22 | 0.54 | 0.78 | 0.12 |
product3 | 0.12 | 0.67 | 0.31 | 0.64 | 0.12 |
矩阵相乘 U' = UPT
- 通过最小二乘法,不断的拟合到有值的格子,然后之前空值的格子也都有值了;
- 推荐就是根据拟合的结果做排序,拟合结果高的格子推荐给用户;