Iterm-based的基本思想是预先根据所有用户的历史偏好数据计算物品之间的相似性,然后把与用户喜欢的物品相类似的物品推荐给用户。
算法核心思想:给用户推荐那些和他们之前喜欢的物品相似的物品。
比如,用户A之前买过《数据挖掘导论》,该算法会根据此行为给你推荐《机器学习》,但是ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。
==>该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。
基于物品的协同过滤算法主要分为两步:
一、计算物品之间的相似度;
二、根据物品的相似度和用户的历史行为给用户生成推荐列表;
推荐算法的几个基本思想:
根据和你共同喜好的人来给你推荐(基于用户的)
根据你喜欢的物品找出和它相似的来给你推荐(基于物品的)
根据你给出的关键字来给你推荐(退化成搜索算法)
根据上面的几种条件组合起来给你推荐
经过多年的发展,思想还是这些思想,变化的地方在于计算相似度的衡量标准上,进而衍生出了各种计算相似度的算法,各种算法的优劣体现在相似度判定的准确度以及算法的计算速度和占用的计算资源:
用户今天买菜刀了,明天你还推荐菜刀,有点脑残,如果推荐砧板,还是比较智能的
用户今天买笔记本电脑,明天你还推荐电脑,有点脑残,如果推荐鼠标,键盘则是比较智能的