首先,给定一群用户,用这群用户对物品评分的方差度量这群用户兴趣的一致程度。如果方差很大,说明这一群用户的兴趣不太一致,反之则说明这群用户的兴趣比较一致。令σu∈U ' 为用户集合 U' 中所有评分的方差, 基本思想是通过如下方式度量一个物品的区分度 D(i):
其中,N+(i)是喜欢物品 i 的用户集合,N-(i)是不喜欢物品 i 的用户集合,N(i) 是没有对物品i 评分的用户集合。也就是说,对于物品 i ,将用户分成 3 类——喜欢物品 i 的用户、不喜欢物品 i 的用户和不知道物品 i 的用户(即没有给 i 评分的用户)。如果这 3 类用户集合内的用户对其他的物品兴趣很不致,说明物品 i 具有较高的区分度。
算法首先会从所有用户中找到具有最高区分度的物品 i ,然后将用户分成 3类。然后在每类用户中再找到最具区分度的物品,然后将每一类用户又各自分为 3 类,也就是将总用户分成 9 类,然后这样继续下去,最终可以通过对一系列物品的看法将用户进行分类。而在冷启动时,我们从根节点开始询问用户对该节点物品的看法,然后根据用户的选择将用户放到不同的分枝,直到进入最后的叶子节点,此时我们就已经对用户的兴趣有了比较清楚的了解,从而可以开始对用户进行比较准确地个性化推荐
网友评论