个性化召回:
召回:从item全局中选取一部分作为候选集
根据用户的属性行为上下文等信息从物品全集中选取其感兴趣的物品作为候选集。
召回的重要作用:
召回决定了最终推荐的天花板
Item CF:
公式:
s
i
j
=
∣
u
(
i
)
∩
u
(
j
)
∣
∣
u
(
i
)
∣
∪
∣
u
(
j
)
∣
p
u
j
=
∑
i
∈
N
(
u
)
∩
s
(
j
,
k
)
s
i
j
∗
r
u
i
{\rm{s}}_{ij} = \frac{{\left| {u(i) \cap u(j)} \right|}}{{\sqrt {\left| {u(i)} \right| \cup \left| {u(j)} \right|} }}\\ p_{uj} = \sum\limits_{i \in N(u) \cap s(j,k)} {s_{ij} *r_{ui} }
sij=∣u(i)∣∪∣u(j)∣∣u(i)∩u(j)∣puj=i∈N(u)∩s(j,k)∑sij∗rui
r
u
i
r_{ui}
rui表示用户的行为得分 ,比如购买、点击等
s
i
j
s_{ij}
sij表示物品的相似度得分
公式升级1:
理论意义:活跃用户应该被降低在相似度公式中的贡献度
s
i
j
=
∑
u
∈
u
(
i
)
∩
u
(
j
)
1
log
(
1
+
∣
N
(
u
)
∣
)
∣
u
(
i
)
∣
∣
u
(
j
)
∣
s_{ij} = \frac{{\sum\limits_{u \in u(i) \cap u(j)} {\frac{1}{{\log (1 + \left| {N(u)} \right|)}}} }}{{\sqrt {\left| {u(i)} \right|\left| {u(j)} \right|} }}
sij=∣u(i)∣∣u(j)∣u∈u(i)∩u(j)∑log(1+∣N(u)∣)1
N
(
u
)
N(u)
N(u)表示用户u行为过的item总数
公式升级2:
理论意义:用户在不同时间对item的操作应给予时间衰减惩罚
s
i
j
=
∑
u
∈
u
(
i
)
∩
u
(
j
)
f
(
Δ
t
)
∣
u
(
i
)
∣
∣
u
(
j
)
∣
f
(
Δ
t
)
=
1
1
+
α
Δ
t
s_{ij} = \frac{{\sum\limits_{u \in u(i) \cap u(j)} {f(\Delta t)} }}{{\sqrt {\left| {u(i)} \right|\left| {u(j)} \right|} }}\\ f(\Delta t) = \frac{1}{{1 + \alpha \Delta t}}
sij=∣u(i)∣∣u(j)∣u∈u(i)∩u(j)∑f(Δt)f(Δt)=1+αΔt1
Δ
t
\Delta t
Δt为item_i对item_j行为时间差
User CF
给用户推荐相似兴趣用户感兴趣的物品(基于用户行为重合度得分);找到集合用户感兴趣的而目标用户没行为过的item
公式:
s
u
v
=
∣
N
(
u
)
∩
N
(
v
)
∣
∣
N
(
u
)
∣
∣
N
(
v
)
∣
s_{uv} = \frac{{\left| {N(u) \cap N(v)} \right|}}{{\sqrt {\left| {N(u)} \right|\left| {N(v)} \right|} }}
suv=∣N(u)∣∣N(v)∣∣N(u)∩N(v)∣
N
(
u
)
N(u)
N(u) 是用户u有过行为的item集合;
N
(
v
)
N(v)
N(v)是用户v有过行为的item集合
r
v
i
r_{vi}
rvi是用户v对item_i的行为得分
p
u
i
=
∑
v
∈
s
(
u
,
k
)
∩
u
(
i
)
s
u
v
∗
r
v
i
p_{ui} = \sum\limits_{v \in s(u,k) \cap u(i)} {s_{uv} *r_{vi} }
pui=v∈s(u,k)∩u(i)∑suv∗rvi
公式升级1
理论意义:降低那些异常活跃物品对用户相似度的贡献
s
u
v
=
∑
i
∈
N
(
u
)
∩
N
(
v
)
1
log
(
1
+
∣
u
(
i
)
∣
)
∣
N
(
u
)
∣
∣
N
(
v
)
∣
s_{uv} = \frac{{\sum\limits_{i \in N(u) \cap N(v)} {\frac{1}{{\log (1 + \left| {u(i)} \right|)}}} }}{{\sqrt {\left| {N(u)} \right|\left| {N(v)} \right|} }}
suv=∣N(u)∣∣N(v)∣i∈N(u)∩N(v)∑log(1+∣u(i)∣)1
u
(
i
)
u(i)
u(i)表示对item_i有过行为的用户集合
公式升级2
理论意义:不同用户对同一item行为的时间段不同应该给予时间惩罚
s
u
v
=
∑
i
∈
N
(
u
)
∩
N
(
v
)
f
(
Δ
t
i
)
∣
N
(
u
)
∣
∣
N
(
v
)
∣
f
(
Δ
t
i
)
=
1
1
+
α
∣
t
u
i
−
t
v
i
∣
s_{uv} = \frac{{\sum\limits_{i \in N(u) \cap N(v)} {f(\Delta t_i)} }}{{\sqrt {\left| {N(u)} \right|\left| {N(v)} \right|} }}\\ f(\Delta t_i) = \frac{1}{{1 + \alpha\left| {t_{ui} - t_{vi} } \right|}}
suv=∣N(u)∣∣N(v)∣i∈N(u)∩N(v)∑f(Δti)f(Δti)=1+α∣tui−tvi∣1