机器学习-协同过滤

1、协同过滤要解决的问题

协同过滤算法主要用于推荐系统,推荐系统是信息过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品。一些人的"选择恐惧症"、没有明确需求的人。

解决如何从大量信息中找到自己感兴趣的信息。

解决如何让自己生产的信息脱颖而出,受到大众的喜爱。

就相当于物以类聚,人以群分。



用户ID、物品ID、偏好值

偏好值就是用户对物品的喜爱程度,推荐系统所做的事就是根据这些数据为用户推荐他还没有见过的物品,并且猜测这个物品用户喜欢的概率比较大。

用户ID和物品ID一般通过系统的业务数据库就可以获得,偏好值的采集一般会有很多办法,比如评分、投票、转发、保存书签、页面停留时间等等,然后系统根据用户的这些行为流水,采取减噪、归一化、加权等方法综合给出偏好值。一般不同的业务系统给出偏好值的计算方法不一样。

协同是什么意思?

就是类似的几个实体,比较相同,有相同的方面。

过滤是什么意思?

就是把相同的、类似的物品或者人过滤出来。

基本思想

第一种方式是利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。

第二种方式是利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。

第三种方式是利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。

2、相似度度量

物品A与物品B之间的相似度通过A、B特有的特征向量来度量

度量方法有很多

欧氏距离:

余弦相似度:

3、邻域大小

有了相似度的比较,那么比较多少个用户或者物品为好呢?一般会有基于固定大小的邻域以及基于阈值的领域。具体的数值一般是通过对模型的评比分数进行调整优化。

4、基于用户的CF


5、基于物品的CF

6、基于LFM思想的矩阵分解-ALS

思想是什么?

投资顾问给用户推荐理财产品,推荐哪个?

A:我手上的这一个VIP客户,做事比较谨慎、不爱冒风险,不是冲动型客户。

B:那这款理财产品,虽然收益比较高,但投资大、风险也比较高,估计不适合他。

隐语义向量

既然要打分,那么?

(潜在特征模型)隐语义模型

P:用户是不是有一些隐含的特征?

Q:物品是不是有一些隐含的特征?

ALS优化

既然要打分,那么?

损失函数:吉洪诺夫正则化


7、协同过滤推荐架构

①. 查询的是与该用户相似的用户,所以一来直接查了关系数据源。以及相似用户与该用户的相似度。

②. 对数据集进行优化,得到相似用户和相似度。

③. 查询关系数据源,得到相似用户即邻居偏好过的物品;如步骤④;图中由于空间小,没有把所有邻居的偏好关系都列出来,用......表示。其次还要得到该用户偏好过的物品集合。

④. 被推荐的Item集合是由该用户的所有邻居的偏好过的物品的并集,同时再去掉该用户自己偏好过的物品。作用就是得到你的相似用户喜欢的物品,而你还没喜欢过的。

⑤. 集合优化同基于物品的协同过滤算法的步骤②。

⑥. 也是对应类似的,依次计算被推荐集合中Item_i 的推荐值,计算的方式略有不同,Value_1_i表示邻居1对,Item_i的偏好值,乘以该用户与邻居1的相似度 Similarity1;若某个邻居对Item_i偏好过,就重复上述运算,然后取平均值;得到Item_i的推荐值。

⑦、⑧. 与上一个算法的最后两部完全类似,只是步骤 ⑧你竖着看,判断两个用户相似的法子和判断两个物品相似的法子一样。

相关推荐
Maxwell_li115 分钟前
pandas数据合并
机器学习·数据分析·numpy·pandas·matplotlib
Likeadust18 分钟前
视频直播点播平台EasyDSS助力企业打造全场景数字化宣传体系
运维·人工智能·音视频
韩曙亮32 分钟前
【AI 大模型】LangChain 框架 ① ( LangChain 简介 | LangChain 模块 | LangChain 文档 )
人工智能·ai·langchain·llm·大语言模型·prompts·agents
码农阿豪34 分钟前
本地 AI 模型随心用!Cherry Studio + cpolar解锁跨设备智能办公
人工智能
通义灵码42 分钟前
用 Qoder 加速前端巨石应用的架构演进
前端·人工智能·架构·qoder
一水鉴天1 小时前
整体设计 定稿 之21 拼语言表述体系之3 dashboard.html V5(codebuddy)
前端·人工智能·架构
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2025-12-01
大数据·人工智能·经验分享·搜索引擎·产品运营
m0_462605221 小时前
第N8周:使用Word2vec实现文本分类
人工智能·分类·word2vec
子洋1 小时前
LLM 原理 - 输入预处理
前端·人工智能·后端
我很哇塞耶1 小时前
OpenAI公开新的模型训练方法:或许能解决模型撒谎问题,已在GPT-5 thiking验证
人工智能·ai·大模型·训练