背景
在阅读文章《DisenQNet:Disentangled Representation Learning for Educational Questions》时,实验部分的metric提到了DOA却没有DOA的全称和引用,百度搜出来的全都是DOA,Direction of Arrival(波达方向定位技术),可是这明显不是在教育问题推荐系统里的metric。于是找了半天终于找到了DOA在推荐系统里的真实含义!
DOA介绍
Degree of Agreement(DOA)标准,也叫做满意度标准,是一种衡量用户对于所有项目喜好程度排序正确性的评价指标。
设I表示所有项目的集合,
I
u
I_u
Iu表示用户u评分过的项目集合,
I
u
ˉ
\bar{I_u}
Iuˉ表示用户u没有评过分的项目。
显然,
I
=
I
u
+
I
u
ˉ
I=I_u+\bar{I_u}
I=Iu+Iuˉ
然后我们把
I
u
I_u
Iu集合分成
L
u
L_u
Lu和
T
u
T_u
Tu两部分,即
I
u
I_u
Iu=
L
u
L_u
Lu+
T
u
T_u
Tu。
接着,我们定义一个布尔函数
c
h
e
c
k
_
o
r
d
e
r
u
(
i
j
,
i
k
)
check\_order_u(i_j,i_k)
check_orderu(ij,ik)如下:
c
h
e
c
k
_
o
r
d
e
r
u
(
i
j
,
i
k
)
=
{
1
,
i
f
R
u
i
j
>
=
R
u
i
k
0
,
o
t
h
e
r
w
i
s
e
check\_order_u(i_j,i_k)= \begin{cases} 1, if R_u^{i_j}>=R_u ^{i_k}\\ 0, otherwise \end{cases}
check_orderu(ij,ik)={1,ifRuij>=Ruik0,otherwise
其中
R
u
i
j
R_u^{i_j}
Ruij是推荐系统根据用户u训练集计算并给项目
i
j
i_j
ij的评分值,
R
u
i
k
R_u^{i_k}
Ruik是推荐系统根据用户u训练集计算并给项目
i
k
i_k
ik的评分值。
那么,对于用户u,DOA的计算公式为
D
O
A
u
=
∑
i
j
∈
T
u
,
i
k
∈
I
u
ˉ
c
h
e
c
k
_
o
r
d
e
r
u
(
i
j
,
i
k
)
|
T
u
|
∗
|
I
u
ˉ
|
DOA_u=\frac{ \sum_{i_j\isin T_u,i_k\isin \bar{I_u}}check\_order_u(i_j,i_k)}{\text{\textbar}{T_u} \text{\textbar}* \text{\textbar}\bar{I_u}\text{\textbar}}
DOAu=|Tu|∗|Iuˉ|∑ij∈Tu,ik∈Iuˉcheck_orderu(ij,ik)
D
O
A
u
DOA_u
DOAu衡量推荐系统为用户u对项目排序的正确序的对数所占的比例,一个好的推荐系统应该把用户已经评过分的项目相对于那些未评过分的项目排在一个更靠前的位置。
注:本文所介绍DOA来自《推荐系统概述及其相关技术》