一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于SVD算法实现优化梯度下降过程的建模方法与流程

2022-02-22 02:48:05 来源:中国专利 TAG:

基于svd算法实现优化梯度下降过程的建模方法
技术领域
1.本发明涉及服装工业互联网技术领域,具体涉及一种基于svd算法实现优化梯度下降过程的建模方法。


背景技术:

2.现有技术中,很难实现产品与用户之间的匹配,更不能对用户的需求进行预判,不利于生产产线中设备的投入和产品的加工生产以,及市场的稳定投入。在线性代数中,奇异值分解方法是一种典型的矩阵分解(matrix factorization)方法,它本质上是一种特征分解的推广和应用。它在图像处理方面也有着广泛的应用。利用矩阵分解进行推荐的核心思想为对已知评分矩阵进行分解,投影至低维空间,避免了数据过于稀疏等问题。传统的svd算法将原有大矩阵分解为三个小矩阵进行计算,过程较为繁琐,时间复杂度很高,且传统算法要求的矩阵尽可能稠密,但是在实际应用场景中,矩阵一般都是稀疏的,因此svd算法的缺点导致其使用的局限性。


技术实现要素:

3.本发明克服了现有技术的不足,提供一种基于svd算法实现优化梯度下降过程的建模方法;能够提高矩阵分解svd算法的模型构建效率。
4.为达到上述目的,本发明采用的技术方案为:一种基于svd算法实现优化梯度下降过程的建模方法,包括以下步骤;
5.步骤一,将待解决的问题通过funksvd算法降维分解为两个低秩的矩阵,公式一如下:其中r为m
×
n的矩阵,p为k
×
m矩阵,q为k
×
n矩阵,m、n分别是k维空间下矩阵对应的长和宽。
6.步骤二,将用户和物品均映射至k维空间中;在k维空间下,对应k个隐藏因子;将物品和用户对应在k维空间上,利用梯度下降的过程优化分布结果,其中。
7.步骤三,采用梯度下降算法进行求解;并在梯度下降算法中的funksvd算法中加入偏置项,形成biassvd算法;利用梯度下降法进行迭代处理,计算公式内的参数值,通过参数值的大小比对寻找最优解,得出模型。
8.本发明一个较佳实施例中,在步骤二中,在建立的模型中,用户和物品的距离越近,认为用户越有可能喜欢该物品,表现为各项隐藏因子正负性更加一致,能通过分值对喜爱程度进行量化;隐藏因子是用户在k维空间下的向量投影。具体的,隐藏因子即是分解后矩阵每个用户/物品对应的k维向量。
9.具体的,在funksvd算法的情形下,用户对项目的评分取决于这些隐藏因子。分解为两个矩阵的过程实质上是降维的过程,其中采用了线性回归的思想,将物品和用户对应在k维空间上后利用梯度下降的过程优化其分布结果,最终训练出的模型中,用户和物品的距离越近,则认为用户越有可能喜欢该物品,其表现为各项隐藏因子的正负性更加一致,并且可以用分值来量化喜爱的程度。
10.具体的,所述偏置项包括对参数集中评分的全局平均数μ、用户偏置bi、物品偏置bj;用户偏置bi为用户的偏好性,物品偏置bj为物品的质量差距加入偏置项;用户偏置bi独立于物品特征因素,表示用户的打分习惯。物品偏置bj独立于用户兴趣因素,表示物品得到的打分情况。
11.本发明一个较佳实施例中,步骤三中,funksvd算法的目标函数为公式二,其中k为现有评分记录的集合,m
ij
是用户i对物品j的评分,λ是正则化系数;pi为用户向量,qj为物品向量,t为迭代次数。
12.本发明一个较佳实施例中,步骤四中,funksvd算法的基础上加入偏置项,形成biassvd算法;biassvd算法的公式三是,
[0013][0014]
得到的biassvd的梯度下降公式如下;
[0015]
公式四,计算预测误差值
[0016]
公式五,
[0017]
公式六,
[0018]
公式七,
[0019]
公式八
[0020]
其中,公式五至公式八分别代表p矩阵和q矩阵的更新,以及bi,bj参数更新的过程,公式四为计算预测误差值;μ为已有评分的平均值,bi和bj分别表示用户和物品偏置项,为算法的预测分值,λ为正则化系数,pi为用户向量,qj为物品向量,α为学习率;p
ik
和q
jk
分别为每一个用户向量和物品向量;m
ij
为用户i对物品j的评分值。
[0021]
本发明一个较佳实施例中,建模过程中引入优化函数以改进学习率的变化,用于建模过程中的biassvd算法的迭代过程中,优化算法运行效率,快速构建模型。
[0022]
本发明一个较佳实施例中,学习率函数公式为公式九式中t为迭代次数,a0为学习率初值,β为斜率控制常数;a1为迭代过程控制常数;根据梯度下降公式,对算法模型进行构建以优化算法的运行效率。
[0023]
具体的,学习率函数公式九a(t)与上述公式五至公式八中的α对应。学习率函数公式控制梯度下降过程的速度,并且根据速度控制精度。建模中预先设定了学习率初值;学习率的变化由变化函数中的幂函数和指数函数结合进行学习率控制。学习率函数公式九a(t)公式计算出的值即是公式五至公式八中的学习率函数α。其中,学习率函数α为0.027。系统预先设定的学习率初值a0为0.003。a1为1.3~1.9。β为0.04~0.08。具体的,a1为1.5;β为0.05。
[0024]
一种基于svd算法实现优化梯度下降过程的方法,采用基于svd算法实现优化梯度下降过程的建模方法建立的模型,优化梯度下降过程的方法包括以下步骤:
[0025]
步骤s1,初始化用户物品评分矩阵;
[0026]
步骤s2,初始化特征矩阵,所述特征矩阵包括用户特征矩阵和物品特征矩阵;
[0027]
步骤s3,初始化偏置向量,偏置向量包括用户偏置项和物品偏置项;
[0028]
步骤s4,计算预测分值;
[0029]
步骤s5,计算误差值,误差计算为本次迭代误差和上次迭代误差的差值,更新参数;
[0030]
步骤s6,根据参数计算误差变化值,误差变化值为本次迭代误差和前一次迭代误差的差值;更新参数至公式五至公式八中的参数;
[0031]
步骤7,根据误差变化值的平方均差误差值的大小,判断是否停止算法或循环执行。
[0032]
本发明一个较佳实施例中,步骤s5中,包括步骤s5-1,根据步骤s4中计算出的分值更新用户特征矩阵和物品特征矩阵;步骤s5-2,更新用户偏置矩阵和物品偏置矩阵。
[0033]
本发明一个较佳实施例中,步骤s6中,包括步骤s6-1,判断当前平方均差误差值即的平方均差误差是否超过误差变化阈值0.001;步骤s6-2,当前平方均差误差值未超过误差变化阈值0.001,说明平方均差误差值基本不变化,可以结束优化运行;或/和,所述步骤s7中对计算出的误差值和上一循环中的误差值进行对比,若误差值稳定于0.0001之内,则计算结束。
[0034]
一种基于svd算法实现优化梯度下降过程的系统,包括在计算机中设置有由基于svd算法实现优化梯度下降过程的建模方法建立的模型。
[0035]
本发明解决了背景技术中存在的缺陷,本发明的有益效果:
[0036]
本发明提供的梯度下降学习率函数进行模型构建,对模型构建的速度和准确率均有优化。对模型的构建和运行速度进行了优化,保证了模型的整体准确性。
[0037]
通过梯度下降学习率函数进行模型构建能够提升用户与产品的匹配程度,进而根据匹配的程度实现对生产过程中产品投入生产的产量进行调整。辅助提升在后续的生产过程中产品在市场上的适应性。
附图说明
[0038]
下面结合附图和实施例对本发明进一步说明。
[0039]
图1是本发明优选实施例中的建模流程图。
具体实施方式
[0040]
现在结合附图和实施例对本发明作进一步详细的说明,这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0041]
实施例一
[0042]
为达到上述目的,本发明采用的技术方案为:一种基于svd算法实现优化梯度下降过程的建模方法,包括以下步骤;
[0043]
步骤一,将待解决的问题通过funksvd算法降维分解为两个低秩的矩阵,公式一如下:其中r为m
×
n的矩阵,p为k
×
m矩阵,q为k
×
n矩阵,m、n分别是k维空间下矩阵对应的长和宽。
[0044]
步骤二,将用户和物品均映射至k维空间中;在k维空间下,对应k个隐藏因子;将物
品和用户对应在k维空间上,利用梯度下降的过程优化分布结果,其中。在建立的模型中,用户和物品的距离越近,认为用户越有可能喜欢该物品,表现为各项隐藏因子正负性更加一致,能通过分值对喜爱程度进行量化;隐藏因子是用户在k维空间下的向量投影。具体的,隐藏因子即是分解后矩阵每个用户/物品对应的k维向量。
[0045]
步骤三,采用梯度下降算法进行求解;并在梯度下降算法中的funksvd算法中加入偏置项,形成biassvd算法;利用梯度下降法进行迭代处理,计算公式内的参数值,通过参数值的大小比对寻找最优解,得出模型。
[0046]
funksvd算法的目标函数为公式二,其中k为现有评分记录的集合,m
ij
是用户i对物品j的评分,λ是正则化系数;pi为用户向量,qj为物品向量,t为迭代次数。
[0047]
具体的,在funksvd算法的情形下,用户对项目的评分取决于这些隐藏因子。分解为两个矩阵的过程实质上是降维的过程,其中采用了线性回归的思想,将物品和用户对应在k维空间上后利用梯度下降的过程优化其分布结果,最终训练出的模型中,用户和物品的距离越近,则认为用户越有可能喜欢该物品,其表现为各项隐藏因子的正负性更加一致,并且可以用分值来量化喜爱的程度。
[0048]
具体的,所述偏置项包括对参数集中评分的全局平均数μ、用户偏置bi、物品偏置bj;用户偏置bi为用户的偏好性,物品偏置bj为物品的质量差距加入偏置项;用户偏置bi独立于物品特征因素,表示用户的打分习惯。物品偏置bj独立于用户兴趣因素,表示物品得到的打分情况。
[0049]
步骤四中,funksvd算法的基础上加入偏置项,形成biassvd算法;biassvd算法的公式三是,
[0050][0051]
得到的biassvd的梯度下降公式如下;
[0052]
公式四,计算预测误差值
[0053]
公式五,
[0054]
公式六,
[0055]
公式七,
[0056]
公式八,
[0057]
其中,公式五至公式八分别代表p矩阵和q矩阵的更新,以及bi,bj参数更新的过程,公式四为计算预测误差值;μ为已有评分的平均值,bi和bj分别表示用户和物品偏置项,为算法的预测分值,λ为正则化系数,pi为用户向量,qj为物品向量,α为学习率;p
ik
和q
jk
分别为每一个用户向量和物品向量;m
ij
为用户i对物品j的评分值。
[0058]
本发明一个较佳实施例中,建模过程中引入优化函数以改进学习率的变化,用于建模过程中的biassvd算法的迭代过程中,优化算法运行效率,快速构建模型。
[0059]
本发明一个较佳实施例中,学习率函数公式为公式九式中t
为迭代次数,a0为学习率初值,β为斜率控制常数;a1为迭代过程控制常数;根据梯度下降公式,对算法模型进行构建以优化算法的运行效率。
[0060]
具体的,学习率函数公式九a(t)与上述公式五至公式八中的α对应。学习率函数公式控制梯度下降过程的速度,并且根据速度控制精度。建模中预先设定了学习率初值a0;学习率的变化由变化函数中的幂函数和指数函数结合进行学习率控制。学习率函数公式九a(t)公式计算出的值即是公式五至公式八中的学习率函数α。其中,学习率函数α为0.027。系统预先设定的学习率初值a0为0.003。a1为1.3~1.9。β为0.04~0.08。具体的,a1为1.5;β为0.05。
[0061]
进一步的,用户偏置项指利用模型计算和修正用户对于所有物品的打分倾向。例如,用户a对于不太满意的物品会给出3分,而对于喜欢的物品会给5分。而用户b对于同样的物品可能给出的分数为1分和4分。同样的物品在用户的打分过程中被以不同的主观标准衡量,从而产生较大的差距,用户偏置项用于中和减轻这种主观差异,从而得到更加精确的评分。物品偏置项同理,对于物品的特性本身因素导致的分值差异,利用物品偏置项即可将进行调节。
[0062]
实施例二
[0063]
一种基于svd算法实现优化梯度下降过程的方法,采用实施例一中的基于svd算法实现优化梯度下降过程的建模方法建立的模型中优化梯度下降过程的方法包括以下步骤:
[0064]
步骤s1,初始化用户物品评分矩阵;
[0065]
步骤s2,初始化特征矩阵,所述特征矩阵包括用户特征矩阵和物品特征矩阵;
[0066]
步骤s3,初始化偏置向量,偏置向量包括用户偏置项和物品偏置项;
[0067]
步骤s4,计算预测分值;
[0068]
步骤s5,计算误差值,误差计算为本次迭代误差和上次迭代误差的差值,更新参数。
[0069]
包括步骤s5-1,根据步骤s4中计算出的分值更新用户特征矩阵和物品特征矩阵;步骤s5-2,更新用户偏置矩阵和物品偏置矩阵。
[0070]
步骤s6,根据参数计算误差变化值,误差变化值为本次迭代误差和前一次迭代误差的差值;更新参数至公式五至公式八中的参数。
[0071]
包括步骤s6-1,判断当前平方均差误差值即的平方均差误差是否超过误差变化阈值0.001;步骤s6-2,当前平方均差误差值未超过误差变化阈值0.001,说明平方均差误差值基本不变化,可以结束优化运行。
[0072]
步骤7,根据误差变化值的平方均差误差值的大小,判断是否停止算法或循环执行。对计算出的误差值和上一循环中的误差值进行对比,若误差值稳定于0.0001之内,则计算结束。
[0073]
实施例三
[0074]
在实施例一或实施例二的基础上,一种基于svd算法实现优化梯度下降过程的系统,包括在计算机中设置有由一种基于svd算法实现优化梯度下降过程的建模方法建立的模型。
[0075]
工作原理:
[0076]
与常规svd算法中的学习率变化函数相比,本发明构建的梯度下降学习率函数对
模型构建的速度和准确率均有优化。优化的过程中主要考虑了算法在实际系统中的应用,对算法的运行速度进行了主要的优化,并且保证了建模成的模型的整体准确性。本发明在svd和矩阵分解的其他算法上也有着较好的实用性。通过梯度下降学习率函数进行模型构建能够提升用户与产品的匹配程度,进而根据匹配的程度实现对生产过程中产品投入生产的产量进行调整。辅助提升在后续的生产过程中产品在市场上的适应性,同时辅助提升生产设备的使用对应性,以及辅助提升对应的生产产线中的设备使用时的合理化投入。
[0077]
以上依据本发明的理想实施例为启示,通过上述的说明内容,相关人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定技术性范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献