基于内容的过滤推荐系统中连续特征的错误处理



我有一个基于内容的推荐器,它可以工作。。。好的我很确定这是解决这个问题的正确方法(将已建立的"用户"与几乎总是新的、但包含与现有项目类似的已知功能的"项目"进行匹配(。

在我研究的过程中,我发现几乎所有基于内容的过滤示例都以文章/电影为例,专门研究从文本块中使用编码的tf-idf功能。这并不是我所要处理的,但我的大多数特征都是布尔特征,所以制作一个类似的向量并查看余弦距离并不是特别困难。我还有一个连续的特征,我缩放了它并将其包含在向量中。正如我所说,它似乎有效,但非常不确定,我想我知道为什么。。。

我使用的连续功能是评分(我们称之为"美味"(,在几乎所有情况下,评分越高,表示物品对用户越有利。它是连续的,但也有明确的"方向"(不确定这是否是正确的术语(。一个方向上的错误与另一个方向的错误不同。

我有一些案例,一些用户对"美味"评分平平的商品给予了很高的评价,但从逻辑上讲,他们仍然更喜欢更美味的东西。该用户的矢量可能具有2.3的平均美味度。我对余弦距离的理解是,在我的模型中,如果用户遇到两个完全相同的新项目,除了一个有1.0的美味,另一个有4.5的美味,它实际上会倾向于前者,因为向量之间的距离更短。

考虑到一个方向上的美味误差/距离与另一个方向的误差/距离不同,我如何修改或合并其他类型的距离测量?

(作为第二个问题,我如何决定如何在布尔特征旁边最好地扩展这个连续特征?(

有两种基本方法可以解决这个问题:

(1( 编写自己的距离函数。显而易见的方法是从每个向量中去除deliciousness元素,独立地评估该差异。对向量的其余部分使用余弦相似性。根据需要将这个数字与口味差异结合起来。

(2( 转换deliciousness数据,使生成的度量线性。这将允许"正常"距离度量按预期完成其工作。

最新更新