推荐算法汇总
- 格式:docx
- 大小:25.19 KB
- 文档页数:6
100以内加减法快速算算法方法:两位数加两位数的进位加法:口诀:加9要减1,加8要减2,加7要减3,加6要减4,加5要减5,加4要减6,加3要减7,加2要减8,加1要减9(注:口决中的加几都是说个位上的数)。
例:26+38=64解:加8要减2,谁减226上的6减2。
38里十位上的3要进4。
(注:后一个两位数上的十位怎么进位,是1我进2,是2我进3,是3我进4,依次类推。
那朝什么地方进位呢,进在第一个两位数上十位上。
如本次是3我进4,就是第一个两位数里的2+4=6。
)这里的26+38=64就是6-2=4写在个位上,是3。
第一讲加法速算一、凑整加法凑整加法就是凑整加差法,先凑成整数后加差数,就能算的快。
8+7=15计算时先将8凑成108加2等于107减2等于510+5=15如17+9=26计算程序是17+3=209-3=620+6=26二、补数加法补数加法速度快,主要是没有逐位进位的麻烦。
补数就是两个数的和为101001000等等。
8+2=1078+22=1008是2的补数,2也是8的补数,78是22的补数,22也是78的补数。
利用补数进行加法计算的方法是十位加1,个位减补。
例如6+8=14计算时在6的十位加上1,变成16,再从16中减去8的补数2就得14如6+7=13先6+10=16后16-3=13如27+8=3527+10=3737-2=35如25+85=11025+100=125125-15=110如867+898=1765867+1000=18671867-102=1765三、调换位置的加法两个十位数互换位置,有速算方法是:十位加个位,和是一位和是双,和是两位相加排中央。
例如61+16=77,计算程序是6+1=7 7是一位数,和是双,就是两个7,61+16=77再如83+38=121计算程序是8+3=11 11就是两位数,两位数相加1+1=2排中央,将2排在11中间,就得121。
第二讲减法速算一、两位减一位补数减法两位数减一位数的补数减法是:十位减1,个位加补。
角平分线算法汇总1.什么是角平分线算法?角平分线算法是一种数学算法,用来求解一个角的平分线(即将角划分为两个相等的部分)。
这种算法可以应用于许多几何问题和实际应用中。
2.基本原理角平分线算法的基本原理是根据角的定义和性质来确定角的平分线。
根据三角形的性质,角的平分线可以通过连接角的顶点和对边上的等距点来构造。
具体的步骤如下:将给定角的两条边的端点对应连接起来,形成一个三角形。
在三角形对边上选择等距点,然后将这些等距点连接起来。
连接角的顶点与等距点的连接线,即为角的平分线。
3.应用领域角平分线算法在几何学和实际应用中都有广泛的应用。
以下是一些常见的应用场景:地图绘制:角平分线算法可以应用于绘制地图上的路线,以确保两个地点之间的角度保持一致。
相机校准:角平分线算法可以用于相机校准,确保图像中的物体位置和角度的准确表示。
机器人导航:角平分线算法可以用于机器人导航,以确定机器人应该采取的方向和角度。
4.实例分析以下是一个实例分析,演示角平分线算法的应用:假设有一个直角三角形,其中一个角的度数为90度。
我们需要确定这个角的平分线。
首先,将直角三角形的两个边的端点连接起来,形成一个三角形。
在对边AB和AC上选择等距点D和E。
然后,将顶点A和等距点D、E连接起来,即可得到角的平分线。
通过这个实例分析,我们可以看到角平分线算法的应用过程。
5.总结角平分线算法是一种用来求解角的平分线的数学算法。
它通过连接角的顶点和对边上的等距点来构造平分线。
该算法在几何学和实际应用中有广泛的应用,比如地图绘制、相机校准和机器人导航等领域。
以上是有关角平分线算法的汇总文档。
参考文献:Smith。
J。
(2018)。
___。
111(2)。
124-130.Johnson。
R。
(2017)。
Geometry and Beyond。
Wiley.。
二年级数学上册必背算法汇总一、加法算法1. 单位数相加- 将两个个位数相加,将个位数相加后的结果写在一行,十位数保持不变。
- 例如:3 + 5 = 82. 十位数相加- 将两个十位数相加,并将个位数相加后的结果写在一行,十位数保持不变。
- 例如:20 + 30 = 503. 十位数和个位数相加- 将一个十位数和一个个位数相加,并将个位数相加后的结果写在一行,十位数保持不变。
- 例如:40 + 7 = 47二、减法算法1. 单位数相减- 从被减数中减去减数,并写下差。
- 例如:9 - 3 = 62. 十位数相减- 从被减数的十位数中减去减数的十位数,并写下差。
然后从被减数的个位数中减去减数的个位数,并写下差。
- 例如:80 - 30 = 503. 十位数和个位数相减- 从被减数的十位数中减去减数的十位数,并写下差。
然后从被减数的个位数中减去减数的个位数,并写下差。
- 例如:70 - 25 = 45三、乘法算法1. 口诀表- 十以内的乘法口诀表必须熟记,方便进行计算。
- 例如:2 × 3 = 62. 乘法竖式- 将乘数和被乘数写成竖式,并从右向左逐位相乘,然后将各位的乘积相加得到结果。
- 例如:32 × 5 = 160四、除法算法1. 除法竖式- 将被除数和除数写成竖式,从左向右逐位进行除法运算,得到商和余数。
- 例如:43 ÷ 8 = 商5 余32. 整除数- 当被除数可以整除除数时,商为整数,余数为0。
- 例如:20 ÷ 5 = 商4 余0以上是二年级数学上册必背的算法汇总,通过掌握这些算法,可以更好地进行数学运算。
最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b 整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。
计算最小公倍数时,通常会借助最大公约数来辅助计算。
其中,4是最小的公倍数,叫做他们的最小公倍数。
例如,十天干和十二地支混合称呼一阴历年,干支循环回归同一名称的所需时间,就是12 和10 的最小公倍数,即是60 ──一个“甲子”。
对分数进行加减运算时,要求两数的分母相同才能计算,故需要通分;假如令两个分数的分母通分成最小公倍数,计算量便最低。
目录最小公倍数的求法专题简析计算机程序实现最小公倍数的求法短除法步骤:一、找出两数的最小公约数,列短除式,用最小公约数去除这两个数,得二商;二、找出二商的最小公约数,用最小公约数去除二商,得新一级二商;三、以此类推,直到二商为互质数;四、将所有的公约数及最后的二商相乘,所得积就是原二数的最小公倍数。
例:求48和42的最小公倍数解:48与42的最小公约数为248/2=24;42/2=21;24与21的最小公约数为324/3=8;21/3=7;8和7互为质数2×3×8×7=336短除法是最常见的用法。
也有其他的方法,再用短除法是一定要超出他们的最大公倍数。
质因数分解举例:12和27的最小公倍数12=2×2×327=3×3×3必须用里面数字中的最大次方者,像本题有3和3的立方,所以必须使用3的立方(也就是3*3*3),不能使用3所以:2×2×3×3×3=4×27=108两数的最小公倍数是108借助最大公约数求最小公倍数步骤:一、利用辗除法或其它方法求得最大公约数;二、最小公倍数等于两数之积除以最大公约数。
举例:12和8的最大公约数为412×8/4=24两数的最小公倍数是24专题简析几个数公有的倍数叫做这几个数的公倍数,其中最小的一个公倍数,叫做这几个数的最小公倍数。
C语言常用算法程序汇总C语言是一门广泛应用于计算机编程的语言,具有较高的效率和灵活性。
在C语言中,常见的算法程序包括排序算法、查找算法、递归算法等等。
以下是一些常用的C语言算法程序的汇总:1.排序算法:-冒泡排序:通过多次迭代比较相邻元素并交换位置,将最大的元素逐渐移动到正确的位置。
-插入排序:将待排序的元素与已排序的部分依次比较并插入到正确的位置。
-选择排序:每次从待排序的元素中选择最小的元素并与已排序的部分交换位置。
-快速排序:通过选择一个基准元素,将数组划分为两个子数组进行递归排序。
2.查找算法:-顺序查找:逐个比较数组中的元素,直到找到目标元素或到数组末尾。
-二分查找:通过比较目标元素与数组中间元素的大小,逐步缩小范围,直到找到目标元素。
-哈希查找:通过散列函数将目标元素映射到哈希表的索引位置进行查找。
3.递归算法:-阶乘:通过递归调用自身计算一个正整数的阶乘。
-斐波那契数列:通过递归调用自身计算斐波那契数列的第n个数。
-二叉树遍历:通过递归调用自身遍历二叉树的各个节点。
4.图算法:- 最短路径算法:如Dijkstra算法和Floyd算法,用于计算图中两个节点之间的最短路径。
-拓扑排序:通过对有向无环图进行排序,使得所有的边从排在前面的节点指向排在后面的节点。
- 最小生成树:如Prim算法和Kruskal算法,用于找到图中连接所有节点的最小子树。
5.动态规划:-最长公共子序列:通过寻找两个字符串中的最长公共子序列,解决字符串匹配问题。
-背包问题:通过动态规划解决在给定容量下选取物品使得总价值最大的问题。
-最大子序列和:通过动态规划解决一个数组中选取连续子序列使得和最大的问题。
以上只是一些C语言中常用的算法程序的汇总,实际上,还有很多其他的算法,如逆波兰表达式、霍夫曼编码、最小割等等。
通过学习这些算法,可以更好地理解C语言的应用和开发。
常见监督学习聚类集成降维推荐算法汇总(一)监督学习1.线性回归:线性回归是一种用于建立线性模型的监督学习算法,在给定输入和输出之间建立一个线性关系,用于预测连续型输出。
它的目标是找到一条最佳拟合直线来描述输入和输出之间的关系。
2.逻辑回归:逻辑回归是一种用于建立分类模型的监督学习算法,用于预测二元型输出。
它通过将线性回归的结果经过一个激活函数转换为概率值,从而进行分类预测。
3.支持向量机:支持向量机是一种用于二分类和多分类的监督学习算法。
它通过将样本映射到高维特征空间中,构建一个超平面来实现对样本的划分。
其目标是找到一个最优的划分超平面,使得距离最近的样本点到超平面的间隔最大。
4.决策树:决策树是一种基于树形结构的监督学习算法,用于建立分类和回归模型。
它通过对特征进行划分,采用自顶向下的贪心策略构建决策树,从而实现对数据的分类和预测。
5.随机森林:随机森林是一种集成学习方法,通过构建多个决策树并对其结果进行综合来实现分类和回归。
每个决策树都是基于随机选择的样本和特征构建的,最终输出通过投票或平均等方式进行集成。
6.朴素贝叶斯:朴素贝叶斯是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立,通过计算先验概率和条件概率来进行分类预测。
朴素贝叶斯算法简单快速,常用于文本分类等任务。
聚类是一种无监督学习算法,用于将数据集中的样本划分为多个类别或簇,使得同一类别内的样本相似度高,不同类别之间的样本相似度低。
常见的聚类算法包括K-means聚类、层次聚类、DBSCAN等。
1. K-means聚类:K-means聚类是一种划分聚类算法,通过迭代计算样本到聚类中心的距离,并将样本划分到距离最近的聚类中心所对应的类别中。
它的目标是最小化样本与聚类中心的距离总和。
2.层次聚类:层次聚类是一种基于层次性的聚类算法,通过合并或分割样本来构建聚类树。
它可以根据样本之间的相似度构建凝聚式聚类树或分裂式聚类树,并通过剪枝来确定最终的聚类结果。
多模型融合推荐算法常见的多模型融合算法多模型融合算法可以⽐单⼀模型算法有极为明显的效果提升。
但是怎样进⾏有效的融合,充分发挥各个算法的长处?这⾥总结⼀些常见的融合⽅法:1. 线性加权融合法线性加权是最简单易⽤的融合算法,⼯程实现⾮常⽅便,只需要汇总单⼀模型的结果,然后按不同算法赋予不同的权重,将多个推荐算法的结果进⾏加权,即可得到结果:是给⽤户(user)推荐商品(item)的得分,是算法K的权重,是算法k得到的⽤户(user)对商品item的推荐得分。
这种融合⽅式实现简单,但效果较差。
因为线性加权的参数是固定的,实践中参数的选取通常依赖对全局结果升降的总结,⼀旦设定后,⽆法灵活的按照不同的推荐场景来⾃动变换。
⽐如如果某个场景⽤算法A效果较好,另外⼀种场景⽤算法B效果较好,线性融合的⽅式在这种情况下不能取得好的效果。
为了解决这个问题,达观数据进⾏了改进,通过引⼊动态参数的机制,通过训练⽤户对推荐结果的评价、与系统的预测是否相符⽣成加权模型,动态的调整权重使得效果⼤幅提升。
2. 交叉融合法交叉融合常被称为Blending⽅法,其思路是在推荐结果中,穿插不同推荐模型的结果,以确保结果的多样性。
这种⽅式将不同算法的结果组合在⼀起推荐给⽤户。
交叉融合法的思路是“各花⼊各眼”,不同算法的结果着眼点不同,能满⾜不同⽤户的需求,直接穿插在⼀起进⾏展⽰。
这种融合⽅式适⽤于同时能够展⽰较多条结果的推荐场景,并且往往⽤于算法间区别较⼤,如分别基于⽤户长期兴趣和短期兴趣计算获得的结果。
3. 瀑布融合法瀑布型(Waterfall Model)融合⽅法采⽤了将多个模型串联的⽅法。
每个推荐算法被视为⼀个过滤器,通过将不同粒度的过滤器前后衔接的⽅法来进⾏:在瀑布型混合技术中,前⼀个推荐⽅法过滤的结果,将作为后⼀个推荐⽅法的候选集合输⼊,层层递进,候选结果在此过程中会被逐步遴选,最终得到⼀个量少质⾼的结果集合。
这样设计通常⽤于存在⼤量候选集合的推荐场景上。
C程序设计的常用算法算法(Algorithm):计算机解题的基本思想方法和步骤。
算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。
通常使用自然语言、结构化流程图、伪代码等来描述算法。
一、简单数值类算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。
1、求阶乘:n!=1*2*384…..*n; n!= n*(n-1)!=下列程序用于求n的阶乘.在累乘之前,一定要将用于存放乘积的变量的值初始化为1.long func(int n){int i;long t=1;for(i=2;i<=n;i++)t*=i;return t;}printf("\n");}main(){ int n;scanf("%d", &n);printf("n!=%ld\n", fac(n));}2、整数拆分问题:把一个整数各个位上的数字存到数组中#define N 4 /* N代表整数位数*/viod split(int n, int a[ ])/* 1478: a[ 3]=8, a[2 ]=7, a[1 ]=4…*/{int i;for(i=N-1;i!=0; i--){ a[i]=n%10;n=n/10;}}main(){int i,m=1478,b[N-1];split(m, b);for(i=0;i<4; i++)printf(“%5d”, b[i]);}3、求整数的因子之和12=1*2*3*4 long factor(int n){int i;long sum=0;for(i=1;i<=n;i++)if(n%i= =0)sum+=i;return sum;}注意:因子包括1和自身。
最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。
计算最小公倍数时,通常会借助最大公约数来辅助计算。
其中,4是最小的公倍数,叫做他们的最小公倍数。
例如,十天干和十二地支混合称呼一阴历年,干支循环回归同一名称的所需时间,就是12 和10 的最小公倍数,即是60 ──一个“甲子”。
对分数进行加减运算时,要求两数的分母相同才能计算,故需要通分;假如令两个分数的分母通分成最小公倍数,计算量便最低。
目录最小公倍数的求法专题简析计算机程序实现最小公倍数的求法短除法 步骤: 一、找出两数的最小公约数,列短除式,用最小公约数去除这两个数,得二商; 二、找出二商的最小公约数,用最小公约数去除二商,得新一级二商; 三、以此类推,直到二商为互质数; 四、将所有的公约数及最后的二商相乘,所得积就是原二数的最小公倍数。
例:求48和42的最小公倍数 解:48与42的最小公约数为2 48/2=24;42/2=21;24与21的最小公约数为3 24/3=8;21/3=7;8和7互为质数 2×3×8×7=336 短除法是最常见的用法。
也有其他的方法,再用短除法是一定要超出他们的最大公倍数。
质因数分解 举例:12和27的最小公倍数 12=2×2×3 27=3×3×3 必须用里面数字中的最大次方者,像本题有3和3的立方,所以必须使用3的立方(也就是3*3*3),不能使用3 所以: 2×2×3×3×3=4×27=108 两数的最小公倍数是108借助最大公约数求最小公倍数 步骤: 一、利用辗除法或其它方法求得最大公约数; 二、最小公倍数等于两数之积除以最大公约数。
举例:12和8的最大公约数为4 12×8/4=24 两数的最小公倍数是24专题简析 几个数公有的倍数叫做这几个数的公倍数,其中最小的一个公倍数,叫做这几个数的最小公倍数。
第一部分目前推荐算法应用背景较多,方法也各不相同。
按推荐背景分:社交网络推荐系统,服务推荐系统,视频推荐系统,电子商务推荐系统等。
目前采用的推荐算法分类:(该部分总结基本均参考文献[17])1.协同过滤算法:(1)基于记忆的推荐算法1) 基于内容推荐算法2)基于用户推荐算法3)基于用户的Top-N算法4)基于项目的Top-N推荐算法(2)基于模型的推荐算法1)基于朴素贝叶斯分类的推荐算法[1]利用加权朴素贝叶斯方法对没有评分的数据进行预测。
优点:缓解稀疏性,推荐准确度提高。
较好的计算精度缺点:用户评分之间存在相互依赖关系时,该算法的准确性将打折扣2)基于线性回归的推荐方法[1]缺点:推荐精度低。
3)基于马尔科夫决策过程MDP的推荐算法优点:考虑每个推荐的长期影响,以及每个推荐的期望值。
4)基于矩阵分解的推荐算法,SVD系列推荐算法优点:缓解稀疏度,推荐准确性好缺点:只能对二维数据进行分析,考虑因素较少。
5)Slope one优点:产生结果速度快缺点:准确性不高6)基于聚类的 Gibbs 抽样方法缺点:计算复杂度大7)概率相关方法缺点:计算复杂度大8)极大熵方法缺点:计算复杂度大2.基于内容的推荐算法1) 文本推荐方法优点:特征提取容易,应用广泛。
2)基于潜在语义分析( Latent Semantic Analysis,LAS)的推荐缺点:潜在语义空间物理意义不明确,计算量大3)自适应推荐(1)决策树(2)聚类(3)人工神经网络优点:根据用户兴趣动态调整推荐3.基于图结构的推荐算法:基于图结构的推荐算法通过分析二部图结构给出合理的推荐。
优点:推荐准确性较高。
4.混合推荐算法应用最多的是协同过滤推荐算法,并且很多方法已经并行化实现。
基于记忆的推荐算法较简单,推荐准确性不高;基于模型的比较复杂,推荐准确性高,研究较多。
基于内容的推荐算法着重强调文本信息,研究也较多。
基于图结构的推荐算法和混合推荐算法应用较少。
第二部分以下是近年来的水平较高的推荐算法汇总,这些算法均进行了并行化实现:1.云环境下top-n推荐算法[1]:多层分布式存储架构MDSA,在该架构中,网络节点被组织成一棵层次索引树MDSA-Tree,而电子商务数据按照特定的规则分割存储于MDSA-Tree 的各节点上.为了降低网络传输代价和I/O 开销,提出了适合top-n 推荐的数据编码模式,而为了缩减系统响应时间,利用map /reduce 分布式编程模型来快速获取满足用户偏好的前n 个项。
优点:实用性和可扩展性强。
2.基于混合推荐和隐马尔科夫模型的服务推荐方法[2]:云环境下对最优服务进行有效推荐的方法,,针对常常被忽略的新用户学习策略,提出新用户偏好的确定方法;针对服务的动态变化情况,基于隐马尔科夫模型(hidden Markov model)提出一种冗余服务消解策略。
优点:更高的准确度和更好的服务质量,能更有效地提高系统性能。
缺点:仅仅考虑了基于内存的协同过滤方法(memory-based collaborative filtering),还没有考虑网络的本身的结构拓扑。
3.融合用户集合关系的稀疏线性( UCSLIM) 推荐算法[3]:将用户划分为用户集合,进一步挖掘用户与用户集合之间的隐含关系,并综合考虑用户与用户相关性、用户与用户集合相关性这两个因素。
优点:时间复杂度低。
缺点:用户集划分不够精准。
4.一种基于标签与协同过滤的并行混合推荐算法[4]:该算法通过计算标签的词频-逆文档频率(TF-IDF)值降低流行标签权重,根据用户的历史行为预测用户对其他资源的偏好值,最后依据预测偏好值排序产生Top-N推荐结果。
优点:推荐质量高,具有一定的普适性;解决传统协同过滤算法的Top-N冷启动问题。
算法并行化提高了推荐效率,复杂度较低。
缺点:实际应用中,标签质量对实验结果的影响。
5.基于实值的状态玻尔兹曼机模型[5]:模型和用户的社交关系相结合。
优点:解决数据稀疏问题。
缺点是:应用领域都是传统的0-1数据。
6.基于Apache Spark 的一种混合分布式协同过滤算法[6]:在spark平台上实现基于用户的协同过滤算法,并结合了维度减少和机器学习中的聚类算法。
还通过标签得到用户对项目的关联性。
优点:解决了冷启动问题,同时效率提高。
缺点:当新的数据加入时需要更新模型。
7.非负稀疏潜在语义分析算法[7]:采用图形处理单元加速的方法来优化非负稀疏潜在语义分析的算法,用来挖掘多媒体资源和标签数据关联背后的潜语义空间。
优化了非负稀疏潜在语义模型,并且并行化实现,用一个数据分区方案高效地解决了内存拥堵。
优点:计算复杂度低。
8.一个采用Mapreduce框架来并行计算标签亲和力的方法[8]:采用Mapreduce编程框架来计算微观、宏观和二元标签的同现出现频率。
大概采用wordcount方法来计算标签同时出现率。
优点:性能好,可扩展性强9.并行化的隐式反馈推荐模型[9]:优点:克服了在隐式反馈推荐场景下只有正反馈而缺乏负反馈导致的困难,通过建模用户与产品间的选择倾向来提高推荐质量;极大地提高了优化算法的效率和可扩展性。
缺点:只考虑了隐式反馈,没有考虑显式反馈,实际中隐式反馈也可能与显式反馈并存。
10.基于规范矩阵因式分解的推荐模型(RMF模型)[10]:并行改进的规范矩阵因式分解的推荐模型(P-RMF)。
优点:推荐准确度高和可扩展性强,速度快。
缺点:在处理极度不平衡的数据集上,可能会导致训练瓶颈。
目前每种推荐算法都有应用,并且都有创新。
应用最多的是基于模型的推荐算法。
因为每个领域都有各自独特的特征,因此研究方法也就不一样,内容也较多。
基于标签的推荐算法外文文章较多,但是没有查到其并行化实现的文章。
以上都是并行化实现过的。
第三部分没有实现并行化的:11.基于标签推荐的数据挖掘算法[11]:利用扩展激活算法来学习标签推荐的主题,这种方法建立在一种假设上,及推荐给用户的标签来自于从现存的微博和主题中提取的关键字。
同样也提出一个标签分类系统,即基于相关性的特征选择——遗传算法和支持向量机分类器。
12.用户生成内容协同过滤推荐[12]:一种标准的方法来利用各种类型的用户生成内容算法来提高推荐准确性。
建立两个新的统计模型——协同过滤和主题建模。
一个模型的重点是学习用户的喜好,另一个模型的目的是学习用户偏好和项目方面。
还有一个参数评估算法使模型不仅可以得到确实的预测值,而且还产生可解释的话题。
优点:推荐准确,延伸性好。
13.张量分解算法[13](用户-服务-时间)这种三维模型。
优点是可以把多维信息融合进系统,推荐准确性高。
缺点是要注意过拟合的问题,当因子矩阵维过高的时候,预测性能会有所下降。
14.一种基于时序消费行为的最近邻建模方法[14]:寻找对用户(产品)影响最大的邻居集合,将该邻居集合成功融合到基于概率矩阵分解的协同过滤推荐算法中。
优点:推荐准确性够。
缺点:只考虑时间元素,考虑因素较少。
15.排序学习的推荐算法[15]:通过采样对训练集数据整合大量特征并进行参数的自动化调整,构建复杂的用户兴趣偏好模型,进而更新项目排序列表,并最终向用户产生有效的推荐列表。
优点:能更有效地反映用户的不同偏好以及提高推荐的准确性。
16.基于Logistic函数的社会化矩阵分解推荐算法[16]:从非线性和社会化两个方面对矩阵分解推荐算法进行了改进。
优点:缓解数据稀疏性问题,提高推荐准确性。
[1]黄震华. 云环境下top-n推荐算法[J]. 电子学报, 2015, 43(1):54-61.[2]马建威, 陈洪辉, STEPHAN Reiff-Marganiec. 基于混合推荐和隐马尔科夫模型的服务推荐方法[J]. 中南大学学报(自然科学版), 2016(1):82-90.[3]杨娟,张鹏业,基于Spark 的UCSLIM 推荐算法研究及实现[J],北京邮电大学学报,2016,39:37-41.[4]祝晓斌, 蔡强, 白璐,等. 一种基于标签和协同过滤的并行推荐算法[J]. 高技术通讯, 2015, 25(3):307-312.[5]何洁月, 马贝. 利用社交关系的实值条件受限玻尔兹曼机协同过滤推荐算法[J]. 计算机学报, 2016(1):183-195.[6]Panigrahi S, Lenka R K, Stitipragyan A. A Hybrid Distributed Collaborative Filtering Recommender Engine Using Apache Spark [J]. Procedia Computer Science, 2016, 83:1000-1006.[7]Zhang Y, Yi D, Wei B, et al. A GPU-accelerated non-negative sparse latent semantic analysis algorithm for social tagging data[J]. Information Sciences, 2014, 281:687-702.[8]Kim H, Lee T, Kim H J. A parallel tag affinity computation for social tagging systems using MapReduce[J]. 2014, 1(3).[9]印鉴, 王智圣, 李琪,等. 基于大规模隐式反馈的个性化推荐[J]. 软件学报, 2014(9):1953-1966.[10]黄晓凤, 罗辛, 朱庆生. 一种基于规范矩阵因式分解协同过滤推荐模型的并行改进[J].电子与信息学报, 2013(6):1507-1511.[11]Vairavasundaram S, Varadharajan V, Vairavasundaram I, et al. Data mining‐based tag recommendation system: an overview[J]. Wiley Interdisciplinary Reviews Data Mining & Knowledge Discovery, 2015, 5(3):87–112.[12]Xu Y, Yin J. Collaborative recommendation with user generated content[J]. Engineering Applications of Artificial Intelligence, 2015, 45:281-294.[13]张万才,刘旭东,郭晓辉.基于张量分解的动态Web服务推荐[J].北京航空航天大学学报,2016,42 ( 9 ) : 1892-1902[14]孙光福, 吴乐, 刘淇,等. 基于时序行为的协同过滤推荐算法[J]. 软件学报, 2013(11):2721-2733.[15]黄震华, 张佳雯, 田春岐,等. 基于排序学习的推荐算法研究综述[J]. 软件学报, 2016, 27(3):691-713.[16]郭云飞, 方耀宁, 扈红超. 基于Logistic函数的社会化矩阵分解推荐算法[J]. 北京理工大学学报, 2016(1):70-74.[17]杨博, 赵鹏飞. 推荐算法综述[J]. 山西大学学报(自然科学版), 2011, 34(3):337-350.。