推荐系统冷启动问题

冷启动问题:
1、用户冷启动;
2、物品冷启动;
2、系统冷启动。

解决问题方法:

用户冷启动

提供非个性化推荐。

1、利用用户的注册信息,针对用户注册信息获取用户的特征,根据特征粒度选择当前特征范围内最热门的商品进行推荐。一般而言,特征粒度越细,召回率,准确率和覆盖率都会越高。

用户注册信息:
1、人口统计学信息;
2、用户兴趣; 3、从其他网站获取的用户站外行为信息(其他社交网站账号登陆)。
流程:
a、获取用户的注册信息;
b、根据用户的注册信息对用户分类;
c、给用户推荐他所属分类种用户最喜欢的物品。

2、选择合适的物品启动用户的兴趣。也就是在用户注册之后,不立即推荐结果,而给用户提供一些物品,让用户反应对这些物品的兴趣。

启动兴趣的物品特征:
1、比较热门:基本上用户都知道,这样用户评价的时候结论才会有效;
2、具有代表性和区分性: 不能够选择任何人都喜欢的物品,这样就无法获得有效的用户区分信息,无法区分用户个性化的兴趣;
3、启动物品集合具有多样性:需要提供覆盖率很高的物品集合供用户选择,保证能够匹配用户兴趣的多样新。e.g.可以首先提供大类供用户选择,然后再提供物品集合供用户选择。
可以用决策树来解决物品集合启动问题。
通过计算用户的兴趣方差来获得用户的兴趣是否一致。

$ sigma_{u} in U^{'}$是用户集合$U^{'}$所有评分的方差。
物品区分度度量:
$$ D(i) = sigma_{u in N^{+}(i)} + sigma_{u in N^{-}(i)} + sigma_{u in overline{N}(i)} $$
$N^{+}(i)$是对喜欢物品i的用户集合, $N^{-}(i)$是不喜欢物品i的用户集合,$overline{N}(i)$是没有对物品i评分的用户的集合。$sigma_{u in N^{+}(i)}$表示喜欢物品i的用户对于其他物品评分的方差。如果说这三类用户集合内的用户对其他物品兴趣很不一致,说明物品i具有较高的区分度。

以上就是树的分支的标准,找到物品区分度最大的物品,对用户进行分类,然后再根据这个标准继续进行分支,最后生成树。
通过这个生成树的规则,对用户进行兴趣的划分。

物品冷启动(在新闻网站等时效性强的网站很重要)

3、利用物品的内容信息。

1、UserCF当中,只要用户对新的物品有行为,推荐系统就可以根据用户的相似度推荐这个新物品。所以在这个算法当中要解决的是新物品的推动的问题,也就是第一推动力的问题。
最简单的算法:将新物品随机展示给用户,但是这个展示不够个性化,所以考虑物品的内容信息,推荐给喜欢过和这个物品内容相似的用户。

2、ItemCF:这里物品冷启动的问题比较严重,因为这个是根据用户的历史数据计算物品之间的相似度。物品之间相似度计算量大,更新速度不快,所以新物品可能不存在这个列表当中,也就无法为用户提供这个新物品,而无法根据用户的历史行为记录计算这个新物品的相似度。
解决方法: 利用物品的内容信息计算物品相关表,并且频繁更新这个表单。
基于内容的过滤算法在内容特征非常强的情况下是由于ItemCF的,但是这要求内容过滤算法有很强的内容特征。 一般而言如果内容特征的影响没有那么大,ItemCF的准确度和召回率都要是高于内容过滤算法的,基于内容特征的过滤算法可以通过计算相似度做KNN来实现分类。
一般内容过滤算法的覆盖率比ItemCF大,流行度比ItemCF要低。因为内容过滤算法忽略了用户的行为,所以忽视了物品的流行度以及用户行为当中包含的规律。
基于文本的内容过滤算法可以通过LDA实现(三元素:文档,话题,词语)。
也可以基于KL散度来判断相似度,KL散度越大,相似度越低:

$$ D_{KL}(p|| q) = sum_{i}p(i)ln(frac{p(i)}{q(i)}) $$

系统冷启动:

没有用户行为数据,也没有重组的物品内容信息计算准确的物品的相似度。
通过专家进行物品特征的标注,从而计算出物品之间的相似度。
Pandora:全部数据通过专家标注,形成特征向量。
jinni:通过人工标注部分数据,再通过机器学习的方法学习标注另外没有进行标注的样本。

原文地址:https://www.cnblogs.com/luxuriance-lily/p/8899537.html