1. 基准
i2i召回只需要考虑两个点
- 如何表示一个商品item
- 相似度量函数是什么
1. 常规的Item-CF
- 所有点击的用户拼接成一个向量,以此来表示一个item。假如我们有100个用户,每个用户是否点击过这个商品可以编码为一个向量
user-item | u1 | u2 | u3 | … | u100 |
---|---|---|---|---|---|
i1 | 1 | 0 | 0 | 0 | 1 |
i2 | 1 | 0 | 1 | 0 | 1 |
i3 | 0 | 0 | 1 | 0 | 1 |
- 度量函数使用cosin函数,一个优点是分母部分可以抑制热度商品,缓解哈利波特问题。
s i m ( I 1 , I 2 ) = ∑ u ∈ I 1 ∩ I 2 1 N I 1 N I 2 = 重 合 用 户 数 点 击 I 1 用 户 数 ∗ 点 击 I 2 用 户 数 sim(I_1,I_2)=\frac{\sum_{ u \in I_1 \cap I_2} 1}{\sqrt{N_{I_1}N_{I_2}}}=\frac{重合用户数}{点击I_1用户数*点击I_2用户数} sim(I1,I2)=NI1NI2∑u∈I1