【发布时间】:2019-01-08 03:05:33
【问题描述】:
我有一个基于内容的推荐器,它很好用。我相当肯定这是解决这个问题的正确方法(将已建立的“用户”与几乎总是新的但包含与现有项目相似的已知特征的“项目”匹配)。
在研究过程中,我发现几乎所有基于内容的过滤示例都使用文章/电影作为示例,并且只关注使用来自文本块的编码 tf-idf 特征。这并不是我要处理的内容,但我的大部分特征都是布尔特征,所以制作一个相似的向量并查看余弦距离并不是特别困难。我还有一个连续特征,我对其进行了缩放并包含在向量中。正如我所说,它似乎有效,但很不稳定,我想我知道部分原因......
我正在使用的连续功能是评分(我们称之为“美味”),其中,几乎在所有情况下,较高的分数表示项目对用户更有利。它是连续的,但它也有一个明确的“方向”(不确定这是否是正确的术语)。一个方向的错误与另一个方向的错误不同。
我遇到过一些用户对“美味”评分平庸的项目给予高评价的案例,但从逻辑上讲,他们仍然更喜欢更美味的东西。该用户的向量可能具有 2.3 的平均美味。我对余弦距离的理解是,在我的模型中,如果该用户遇到两个完全相同的新项目,除了一个具有 1.0 的美味,另一个具有 4.5 的美味,它实际上会偏爱前者,因为它更短向量之间的距离。
如何在此处修改或合并某种其他类型的距离度量,以考虑到一个方向的美味误差/距离与另一方向的误差/距离不同?
(作为第二个问题,我如何决定如何最好地扩展我的布尔特征旁边的这个连续特征?)
【问题讨论】:
标签: python machine-learning cosine-similarity recommender-systems