eq值 推荐算法_利用 SVD 实现协同过滤推荐算法

奇异值分解(Singular Value Decomposition,以下简称SVD)

是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。

优点:简化数据,去除噪声,提高算法的结果。

缺点:数据的转换可能难以理解。

应用领域:推荐引擎(协同过滤、相似度计算)、图像压缩等。

SVD定义:如果我们求出了矩阵A的n个特征值λ1≤λ2≤...≤λn,以及这n个特征值所对应的特征向量{w1,w2,...wn},如果这n个特征向量线性无关,那么矩阵A就可以用下式的特征分解表示:A=WΣW−1,其中W是这n个特征向量所张成的n×n维矩阵,而Σ为这n个特征值为主对角线的n×n维矩阵。一般我们会把W的这n个特征向量标准化,即满足||wi||2=1, 或者wiTwi=1,此时W的n个特征向量为标准正交基,满WTW=I,即WT=W−1, 也就是说W为酉矩阵。要进行特征分解,矩阵A必须为方阵。那么如果A不是方阵,则用到SVD。

矩阵A的SVD为:A=UΣVT,其中U是一个m×m的矩阵,Σ是一个m×n的矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个n×n的矩阵。U和V都是酉矩阵,即满足UTU=I,VTV=I。

对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。

因此SVD 也是一种强大的降维工具,可以利用 SVD 来逼近矩阵并从中获得主要的特征。通过保留矩阵的 80%~90% 的能量,就可以得到重用的特征并去除噪声。

推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。

主要有以下几种推荐算法:

基于内容的推荐(用到自然语言处理),协同过滤(主流),基于规则推荐(基于最多用户点击,最多用户浏览等),混合推荐(类似集成算法,投票决定),基于人口统计信息的推荐(根据用户基本信息)

协同过滤推荐分为三种类型。第一种是基于用户(user-based)的协同过滤(需要在线找用户和用户之间的相似度关系),第二种是基于项目(item-based)的协同过滤(基于项目的协同过滤可以离线找物品和物品之间的相似度关系),第三种是基于模型(model based)的协同过滤(用户和物品,主流)。

一般在推荐系统中,数据往往是使用 用户-物品 矩阵来表示的。用户对其接触过的物品进行评分,评分表示了用户对于物品的喜爱程度,分数越高,表示用户越喜欢这个物品。而这个矩阵往往是稀疏的,空白项是用户还未接触到的物品,推荐系统的任务则是选择其中的部分物品推荐给用户。

5d01cda7f433?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

对于这个 用户-物品 矩阵,用已有的部分稀疏数据来预测那些空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。

具体基于模型的方法有:

用关联算法做协同过滤(Apriori算法、FP Tree算法)

用聚类算法做协同过滤(针对基于用户或者基于模型,Kmeans,DBSCAN)

用分类算法做协同过滤(设定评分阈值,高于推荐,低于不推荐,逻辑回归和朴素贝叶斯,解释性很强)

用回归算法做协同过滤(Ridge回归,回归树)

用矩阵分解做协同过滤(由于传统的奇异值分解SVD要求矩阵不能有缺失数据,必须是稠密的,而用户物品评分矩阵是一个典型的稀疏矩阵,主要是SVD的一些变种,比如FunkSVD,BiasSVD和SVD++。这些算法和传统SVD的最大区别是不再要求将矩阵分解为UΣVT的形式,而变是两个低秩矩阵PTQ的乘积形式。)

用神经网络做协同过滤(限制玻尔兹曼机RBM)

在 Python 的 numpy 中,linalg已经实现了SVD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

USB外接摄像头不能用怎么办

1.如果USB摄像头不能用,首先需要检查摄像头USB数据线是否与主机连接,以及连接状态是否良好 2.检查线路连接正常后,进入设备管理器中查看是否检测得到USB视频设备 3.如果像上图显示的一样,而且驱动也已成功安装,所有都…

电脑自动关机后又自动开机怎么办

用户在将电脑关机后,过一会儿,发现电脑又自动开机了怎么办?下面分享电脑关机后又自动开机的原因及解决措施。 电脑自动关机后又自动开机怎么办 原因一、可能是系统设置不正确 所有Windows操作系统默认情况下,当系统出现错误时会自动重新启…

打开数据库_打开这份指南,数据库运维也能优雅、简单!

对于常规数据库的运维监控来说,如何能够快速简洁的发现问题,直达问题本质并解决常见问题,是 Bethune 的安身立命之本。简约,优雅,专业,直抵本心,这是用户对 Bethune 的评价。Bethune X 功能强大…

电脑开机显示checking media解决方法

1、进入pe界面,打开diskgenius分区工具,将硬盘重新分区,分成mbr格式 2、然后进bios,切换到security选项,选择seurce boot回车进入下一子菜单 3、然后选择seurce boot,设置为disabled 4、接着切换到start…

mysql集群_MySQL集群

MySQL集群搭建之主从复制: 主从复制原理: 从库生成两个线程,一个I/O线程,一个SQL线程; i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中; 主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog; SQL 线程,会读取relay log文件中…

无线网络受限制或无连接处理方法

无线网络受限制或无连接要如何解决呢?下面分享无线网络受限制或无连接的处理方法。 无线网络受限制或无连接处理方法 一、使用系统中的诊断工具诊断网络 系统自带的无线网络诊断功能可以定位网络问题并给予部分的修复,可以启用系统内置的诊断工具,只…

centos mysql_CentOS MySQL数据库备份工具mysqldump介绍

mysqldump工具是mysql自带的一个非常方便的一款小工具,存在mysql安装目录的/usr/local/mysql/bin (CentOS)是下。mysqldump 和 mysql一样,都是应用程序,你在mysql下是执行不了的。切记 ,输入 mysqldump –help 可查年相关信息。my…

电脑提示找不到宽带连接怎么办

电脑在重装完系统后,进行宽带连接的时候,电脑却出现电脑找不到宽带连接的提示,导致宽带无法正常连接怎么办?下面分享今电脑提示找不到宽带连接的解决方法。 电脑提示找不到宽带连接怎么办 原因分析: 1、可能是拨号宽带连接没有…

mysql首次_mysql首次登陆任务

WINDOWS下没有mysql服务//卸载mysql服务mysqld --remove mysql//手动安装mysql服务mysqld -install//启动mysqlnet start mysql//停止mysqlnet stop mysql首次登陆mysql -u root -p//没有密码修改密码use mysqlupdate user set authentication_stringpassword("123456&quo…

mysql 数据库操作类_【数据库操作类】10个php操作数据库类下载

数据库(Database)操作是在开发过程中重要的组成部分,熟练掌握数据库的操作是开发人员必备的武器。PHP中文网为大家提供了各种封装好的php数据库操作类库,供大家下载和学习。相关mysql视频教程推荐:《mysql教程》php各种数据库操作类库下载PDO…

mysql 改成宽松模式_mysql5.6 sql_mode设置为宽松模式

最近遇到一个很奇怪的事情由于数据人员的需求,现在需要修改mysql的sql_modesql_mode默认是sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES这时候我在/etc/my.cnf配置如下sql_modeNO_ENGINE_SUBSTITUTION重启后还是mysql> SELECT GLOBAL.sql_mode;---------…

2021-03-03

对于win7怎么还原系统的这个问题,其实很好操作,来看视频是怎么做的吧。 1 第一步 按winr组合键,打开运行,输入sysprep,回车 2 第二步 进入页面,双击sysprep.exe 3 第三步 弹出窗口,勾选通用&…

少儿故事:小乌鸦智斗老鹰

少儿故事:小乌鸦智斗老鹰 一天,老鹰跑到小乌鸦家门口,大声问:“小乌鸦,请你回答我,你是否忠于虎大王?” 小乌鸦拍拍胸脯,点点头,说:“当然!” …

苹果笔记本的系统

随着电脑使用时间越来越久,电脑中的垃圾就越来越多,在必要的时候我们需要重装系统,有的用户会拿去电脑店,这样可能会影响到用户的效率,那苹果笔记本怎么重装系统?接下来就分享一下苹果笔记本重装系统教程。 使用云骑…

mysql 太多字段 排除某一列_Atitit 数据库排除某一列 字段 显示

Atitit 数据库排除某一列 字段 显示GROUP_CONCAT 行列转换sELECT GROUP_CONCAT(COLUMN_NAME)FROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME yunprint_print_goodssELECT GROUP_CONCAT(COLUMN_NAME)FROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME yunprint_print_goodsa…

u盘修复系统

虽然Windows10附带了许多系统修复程序,例如备份,恢复和重置,但我们仍然可以为系统安全性添加另一层保险,可以用u盘修复系统,具体来看以下步骤 以win10 64位系统为例,u盘无法直接修复系统,但可以…

mysql 磁盘限额_Linux运维知识之为Linux MySQL数据库设置磁盘限额

本文主要向大家介绍了Linux运维知识之为Linux MySQL数据库设置磁盘限额,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。因为MySQL数据库本身没有磁盘限额的功能,我们可以限制Linux自带的quota工具为mysql进行磁盘限额。1、…

程序员需要知道的职场真相

关于面试谈薪: 1. 你值多少钱,不是由老板决定的,也不是由你自己的能力决定,而是由市场决定的。这个技术就你一个会,你说多少钱就多少钱。这个技术 100W人会,不好意思,肯定是公司在一定的时间内&…

QQ浏览器怎么同步通讯录?QQ浏览器同步通讯录的方法

QQ浏览器怎么同步通讯录?QQ浏览器同步通讯录的方法 qq浏览器是一款非常好用的手机服务软件,有很多用户都会使用这款软件作为自己的主流浏览器,相信已经有很多用户使用过这款软件了,这款软件的搜索功能非常的强大,有很多…

2021-03-19

uc浏览器是一款非常主流的线上浏览服务软件,这款浏览器在国内有十几年的发展史了,在现在浏览器市场非常盛行的时代,满足用户的各种需求就会非常现实了,用户可以下载电脑的uc浏览器,然后根据需求选择合适的服务&#xf…