服务热线
131-1198-7613
原文作者:新浪微博@王小科科科本文由36大数据翻译组-大海翻译,转载必需获得本站、原作者、译者的赞成,拒绝任何不表白译者及泉源的转载!
奈何前进举荐算法的有用性?紧张的方法是特征转化,模型选取,数据处置惩罚处罚等等。降维是特征加工中的一个重要部门。
这篇博文紧张陈诉奈何操纵降维方法来前进以用户为根本的协同过滤方式,协同过滤依赖测量用户的相似性进行物品举荐。我会在接下来章节里叙述所用到的每一种方法。
1、基准值
这个数值的有用性来自R(均方根误差)的打定。我通过三种匀称值打定方法设定系统基准值。第一,项目j的评分是所有用户对于项目j的评分均值。
Nu是用户数目,Rateing(ij)是用户i对于项目j的评分。
第二,用户i的评分是该用户对于所有项目评分的均值。
Nm是项目的数目(影片);Rateing(ij)是用户i对于项目j的评分。
第三,用户i对于项目j的评分是“用户i对于所有项目的评分均值”+“所有用户对于项目j的评分均值”-“总体评分均值”
三种方法的评分如下:
可以看到,第三种方法既考虑了项目又考虑了用户的偏好,比其他两种方法更好。
2、“浅近方法”:用户为根本的协同过滤
这种“浅近方法”操纵皮尔逊干系的相似度测量(pcs)来发现相似用户,同时操纵它们的评分均值作为这个项目的得分。
第一种方法,就操纵和我想推测的用户最相似的用户,并对这些最相似的用户对项目的评分求匀称值。
可是最好的成果不会优于最佳基准值。因此我改变第一种方法,仅仅打定干系系数大于0的用户,这是第二种方法。
Sim(Ui)是U用户的相似用户组,这里我们没有操纵聚类方法,可是count(Sim(Ui)),即相似用户的数目,将会影响评分。
第三种方法,我也操纵与我想推测的用户最相似的用户,可是我操纵用户赐与产品评分权重的相似度。
第四种方法,我们操纵尺度化的方法,“用户i给项目j的评分”-“项目的匀称得分”-“用户的匀称给分”+“总体评分的均值”。然后操纵尺度化矩阵来打定用户的相似度,其他做法同第二种方法,从尺度化矩阵打定得分,“用户i给项目j的尺度化评分”+“项目的匀称得分”+“用户的匀称给分”-“总体评分的均值”。(这种方法摘自(大数据挖掘))。四种方法的打定成果如下:
总体来说,这四种方法表示越来越好,第四种方法表示是最优,它比最佳基准值方法更好。看一下“评分VS前N项”的图表,我们看到从高弊端到高方差的厘革过程,尽管高方差看起来不是个很严肃的标题。
3、Kmeans项目聚类
我们操纵“浅近方法”中的第四种方法作为基准值,操纵Kmeans来对项目进行聚类,然后操纵聚类信息打定用户相似度。这里有两种方法,第一种方法我们操纵原始数据用户,项目,评分来打定推测分值,第二种方法我们操纵聚类用户,聚类,评分均值(评分均值是聚类的评分均值)打定推测得分。
聚类的数值,相似用户的数值,操练次数的数值和许多其他实施细节将会影响成果。我只考虑聚类的数值和相似用户的数值,评分信息的图表如下,每一个分图的题目上的数值是聚类数值,X轴是相似用户或许聚类的数值,Y轴是均方误差的数值。
我们能看到,从topN越变越大,方法的正确性越来越高,接着变得平稳并有点变差;方法2例如法1更平稳,可是最好的成果照旧方法1。大大都不会比最优浅近协同过滤方法,可是最好的成果比它好,好比方法1的参数TopN=50和ClusterNumber =150,RMSE(均方根误差)是0.932186048。
4、我们用浅近方法的第四种方法作为基准值,操纵EM方法进行项目聚类,然后操纵聚类信息打定用户相似度,这里我们能选择许多种方法:
(1)仅操纵最或许率的类作为推测聚类或许操纵聚类信息的初始概率;
(2)操纵用户,项目,评分矩阵来打定推测分数或许操纵聚类信息用户,聚类,评分均值来打定预算分数。
(3)EM算法中有许多种不同的参数可供选择,例如方差典范,或许是球形、带形、矩形或许完整形。
这里因为时间有限,我们只介绍两种方法。首先,我们操纵最高概率的聚类作为推测聚类,操纵初始用户,项目,评分矩阵来打定推测分数。第二种方法,我们操纵聚类概率信息找出最高的n个相似用户,并操纵用户,聚类,评分均值(均值评分是聚类的评分均值)矩阵来打定推测分数。成果如下:
我们也看到,从topN越变越大,两种方法的正确性越来越高,接着变得平稳并有点变差;方法1已经富足好了,它们的最佳得分比浅近方法的基准值得分还要好,例如:topN=50/ ClusterNumber =80(RMSE:0.925359902),topN=50/ ClusterNumber =150(RMSE:0.926167057)。第二种方法加倍平稳,一些成果也很好,如topN=100/ ClusterNumber =150(RMSE:0.931907),随着聚类数值越来越大,正确性越来越高,可是时间资本也越来越高。
5、相似性打定
在上一章节,我刚操纵了皮尔逊干系的相似度测量(pcs)找到相似用户,可是有许多其他方法可以实施,例如:
(1)余弦相似度(cosine similarity),是测量一个内积空间中两个向量间相似度的一种测量,测量两者之间的夹角余弦。我们可以将一个用户的评分看做一个向量。
(2)欧式隔断(Euclidean distance),将数据看做点,数据x和数据x的隔断是连接x和y的连线部门的长度。
利用第一步,我们先做尺度化(同浅近方法的第四种方法类似),用户i对项目j的尺度化评分是用户i给项目j的初始分值-项目的匀称分值-用户的匀称分值+所有分值的总体匀称。
第二步,我们也能选择不同评价权重的打定方法,这里我们用类似评分作为类似用户的权巨大概将它视为1。上面的那个我们叫做SWM (同权重方法),,下面的那个我们叫OWM(“1”权重方法)。详细如下:
我比较皮尔逊干系系数相似性战略(pcs)/余弦相似度(cosine similarity)/ 欧式隔断(Euclidean distance)相似方法, 将每个类似的用户的权重看做1 (OWM method)。下面是评分VS前n(打定相似用户)的图表,我们看出余弦相似度方法是最好的,欧式隔断方法是最差的。
接下来,我操纵余弦相似度方法来比较两种不同的权重打定方法。
我们看到,SWM加倍稳固,可是最高的得分是OWM,参数topN=100 (数值是0.924696436)。
6、降维方法
这一章,我来教学更深层次的降维方法:
(1)主因素阐明法(Principal component analysis),它是操纵数据的奇异值分解一种线性降维方法,只保持最明明的特征向量将向量投影到低维的空间。
(2) 自力品分阐明(Independent component analysis),是将一个多变量符号别离为具有最大自力性的附加子因素。
我操纵余弦作为相似度的打定方法,实施了团结SWM和OWM的两种方法。成果会更好。我们看到两种方法都实用于SWM,PCA的最好得分是0.917368073(topN==5/SWM),,ICA最好的得分是0.916354841(ton==5/SWM),这是我报告中所有方法中最好的。
7、结论
从以上章节,我们可以看出,聚类和直接的降维方法在协同过滤举荐的小型打定系统中是行之有用的。它能够资助我们处置惩罚处罚大方差标题。同时也有许多不同的技术影响举荐引擎的正确性,例如LDA主题模型,操纵组合算法和逻辑回归将许多方法组合起来。我将更进一步做这些介绍。
代码托管:https://github.com/wangkobe88/Mercury/tree/master/ubcf
原文所在:https://www.wangke.me/?p=142很是感谢原作者@王小科科科给我们庞大的支撑。
End.
2024-03-20
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···
2024-03-19
网页设计,是根据企业希望向浏览者传递的信息(包括产品、服务、理念、文化),进行网站功能策划,然后进行···