# 推荐系统概念解释 and 一个好的推荐系统 - 用户满意度 - 用户满意度是推荐系统测评的重要指标,但是实际上,用户满意度数据获得的方式十分有限,因为这是一种用户的主观情感。 - 设计合适的方式对于用户的满意度进行回收分析,是改进推荐系统的一个很好的方式。这样的的方式包括但不限于,设计合适的调查问卷,在物品的购买结束后附上一份满意度调查。 - 满意度在一些程度上可以细分为更加具体的信息。例如点击率,用户停留时间,转化率,完播率,或者是哔站视频点赞,三连的比例。 - 预测准确度 - 召回率(Recall) $$ Recall =\frac{\sum_{u\in U}{\vert R(u)\cap T(u) \vert}}{\sum_{u\in U \vert T(u)\vert}} $$ - 其中 $R(u)$ 是根据用户在训练集上的行为给用户做出的推荐列表, $T(u)$ 是用户在测试集上的行为列表。 - 召回率的意义?可以参考机器学习中留下的定义进行理解 - 精确率 $$ Precision =\frac{\sum_{u\in U}{\vert R(u)\cap T(u)\vert}}{\sum_{u\in U}{\vert R(u) \vert}} $$ - 其中 $R(u)$ 是根据用户在训练集上的行为给用户做出的推荐列表, $T(u)$ 是用户在测试集上的行为列表。 - 精确率的意义? - 覆盖率 - 描述了一个系统对于物品长尾的发掘能力。 - 覆盖率的一个定义可以是: $$ Coverage = \frac{\vert \bigcup_{u\in U}{R(u)}\vert}{\vert I \vert} $$ - 其中,用户集合为 $U$ ,系统为每位用户推荐一个长度为 $N$ 的物品列表 $R(u)$ - 覆盖率的意义:覆盖率越高,以为这系统中被推荐给用户的物品,占所有物品的比例越大,对于一个好的推荐系统,不仅需要有较高的用户满意度,还需要有较高的覆盖率。 - 当然对于覆盖率的定义,不止以上的这一种,甚至说,在实际使用上,上述简单的覆盖率不足以支撑大规模复杂系统的覆盖率计算,所以如何对于覆盖率进行修正和更新?信息熵与基尼系数! - 推荐了解,马太效应,一个强者更强,弱者更弱的效应,在推荐系统中也同样存在。 - 多样性 - 假设,$s(i,j)$ 定义了物品 i 和 j 之间的相似度,给用户 $u$ 的推荐列表 $R(u)$的多样性定义: $$ Diversity = 1- \frac{\sum_{i,j\in R(u),i\ne j}{s(i,j)}}{\frac{1}{2}\vert R(u)\vert (\vert R(u)-1\vert)} $$ - 推荐系统整体的多样性可以定义为,用户推荐列表多样性的平均值: $$ Diversity = \frac{1}{\vert U\vert}\sum_{u\in U}{Diversity(R(u))} $$ - 信任度 - 用户对于该系统的信任程度 - 实时性 - 系统对于数据更新的时效性 - 健壮性 - 系统对于外来攻击的防护性