为推荐电影,你让用户指出他对各类电影的喜好程度。如果你是让用户给一系列小猫图片打分呢?在这种情况下,你找出的是对小猫图片的欣赏品味类似的用户。对电影推荐系统来说,这很可能是一个糟糕的推荐引擎,因为你选择的特征与电影欣赏品味没多大关系。
又假设你只让用户给《玩具总动员》《玩具总动员2》和《玩具总动员3》打分。这将难以让用户的电影欣赏品味显现出来!使用KNN时,挑选合适的特征进行比较至关重要。所谓合适的特征,就是:
- 与要推荐的电影紧密相关的特征;
- 不偏不倚的特征(例如,如果只让用户给喜剧片打分,就无法判断他们是否喜欢动作片)。
你认为评分是不错的电影推荐指标吗?我给The Wire的评分可能比House Hunters高,但实际上我观看House Hunters的时间更长。该如何改进Netflix的推荐系统呢?
回到面包店的例子:对于面包店,你能找出两个不错和糟糕的特征吗?在报纸上打广告后,你可能需要烤制更多的面包;或者每周一你都需要烤制更多的面包。
在挑选合适的特征方面,没有放之四海皆准的法则,你必须考虑到各种需要考虑的因素。