基于稀疏组Lasso的高阶因子分解机方法技术

技术编号:21914185 阅读:38 留言:0更新日期:2019-08-21 12:29
本发明专利技术是高阶因子分解机模型的增强策略,具体为”基于稀疏组Lasso的高阶因子分解机方法”(简写作SGL‑HOFM)。其特点是:针对高阶因子分解机特殊的交叉项结构采用了基于Sparse Group Lasso的正则项,而不是传统的二范数,新的模型能够实现特征的结构稀疏,起到了特征选择的作用。采用本发明专利技术以后,模型的参数个数显著减少,从而减小了所需要的存储空间,而且由于特征选择去除了噪音,模型的性能还有所提升,本发明专利技术可以广泛应用到数据挖掘领域,如分类、回归、排序、特征分析、推荐系统、社交网络分析等多种场景,特别适合处理含有大规模稀疏高维数据的分析问题。

High-order factorization method based on sparse group Lasso

【技术实现步骤摘要】
基于稀疏组Lasso的高阶因子分解机方法一、
本专利技术是高阶因子分解机模型的增强策略,具体为”基于稀疏组Lasso的高阶因子分解机方法”(简写作SGL-HOFM),主要应用于数据挖掘领域,如分类、回归、排序、特征分析、推荐系统、社交网络分析等多种场景,特别适合处理含有大规模稀疏高维数据的分析问题。二、
技术介绍
因子分解机(FactorizationMachine,简称为FM)是由SteffenRendle于2010年提出的一个机器学习算法,主要解决大规模稀疏数据下的特征组合问题,以便用于数据挖掘、推荐系统等应用。后者的主要任务是根据用户的历史行为记录去预测用户未来可能购买的物品。从本质上来说就是探索用户与用户间以及用户与物品间的依存关系。FM的数学模型刻画如下:其中模型参数为ω0∈R,ω∈Rp以及V=[v1,v2,…,vp]T∈Rp×k,向量vi∈Rk(1≤i≤p)表示对应隐空间中的特征向量,k是超参数,表示因子分解维度。在FM中,xixj和xixk的系数分别为<vi,vj>和<vi,vk>,两者含有同一变量xi的两个不同交叉项系数共享一个特征向量vi。当输入数据非常稀疏时,一般的二阶交叉模型无法学习到有效的交叉项系数。而FM借助交叉项系数的分解能学习到数据中隐藏的变量间的相互关系以揭示两者的依存。考虑一个电影评分问题,假设用户A只看过电影B,用户C既看过电影B又看过电影D,现在想预测用户A对电影D的打分,如果采用一般的二阶多项式模型,无法求得用户A和电影D的交叉项xAxD前的系数WA,D,因为没有使得用户A和电影D同时存在的训练样本。但是,FM采用了交叉项系数分解策略,使其可学习到对应的特征向量,从而能学到vA和vD,最后即得系数WA,D的值为<vA,vD>。由于稀疏数据中众多变量的相互关系一般难以从训练数据中直接得到,而FM通过隐变量获取特征间相互关系,故特别适用于稀疏数据分析。尽管FM在稀疏数据分析中表现很好,然而FM只是一个二阶多项式模型,其只能分析特征间的二阶相互关系,而现实生活中很多场景都需要分析特征间更高阶的相互关系,比如用户买了手机之后一般还会买屏幕保护膜和保护壳,即手机、屏幕保护膜、保护壳这三个变量具有强关联性,因此直接对三阶特征交叉项建模具有重要意义。为了分析特征间高阶的相互关系,考虑将FM拓展成高阶的因子分解机(HigherOrderFactorizationMachine,简称为HOFM,阶数m≥3),为了刻画HOFM的数学模型,先介绍一些基本标记:假设表示第t阶的系数,其中t∈{2,…,m}是模型所有的阶数,kt∈N是对应每一阶的因子分解维度,且表示取矩阵p(t)的第j行。则m阶的高阶因子分解机的数学模型刻画如下:其中表示逐元素相乘并求和。所以,HOFM的目标函数可以写成:其中β1,…,βm>0均为超参数。HOFM继承了FM在处理稀疏高维数据时的优点,同时HOFM又通过探索更高阶的特征间相互关系而使得其比FM有更强的表达能力。然而,虽然高阶因子分解机能分析更高阶的特征间相互关系,其参数个数也随之增长,学习如此多的参数不仅非常耗时,而且还非常容易发生过拟合,导致算法效果不佳。为了克服高阶因子分解机参数过多的问题,考虑对输入的特征做特征选择,我们希望选出最具判别性的特征,特征选择的过程可以看作是去噪的过程,从而不仅大大减少参数,更可以提升算法性能。当前典型和流行的特征选择的方法是通过在目标函数中添加范数的正则项实施,如此虽可获得稀疏解,但对于高阶因子分解机模型而言,范数并不能直接利用交叉项模型这一先验信息。交叉项模型中涉及同一特征的线性项和高阶项应当同时被选或同时不被选,而HOFM并没有考虑这一结构稀疏信息,也没有考虑对这个特殊的高阶模型进行特征选择,因此,如何利用该先验信息做特征选择是本专利技术需要考虑的重点。三、
技术实现思路
本专利技术的目的是希望在优化模型时能利用高阶模型的先验信息作特征选择,不仅能节省参数的存储空间,还能避免受到噪音的影响,从而提升在分类或回归等数据挖掘任务中的效果。进一步观察该模型的结构我们发现在HOFM中,涉及同一个特征的线性项和高阶项(阶数≥2)要么同时被选要么同时不被选,当该特征是噪音时,应当同时弃选,而当该特征是重要变量时,应当同时被选。根据上述先验信息,本专利技术提出了一种稀疏化的高阶因子分解机:基于稀疏组Lasso的高阶因子分解机方法,该方法通过在目标函数中添加SparseGroupLasso(简称为SGL)的正则项实现特征的结构稀疏,从而不仅实现了特征选择的功能,更提高了模型的预测精度。通过对损失函数添加SGL的正则项以期望得到含有结构稀疏性质的解向量,新模型(简称为SGL-HOFM)的目标函数刻画如下:其中表示最小平方损失(针对回归任务),针对其他任务也可以采用其他损失,如交叉熵损失等。是关于第i个特征的系数,是GroupLasso惩罚项,能实现列稀疏,是Lasso惩罚项,表示在被GroupLasso选中的特征的基础上,进一步对其作特征选择,从而在一定程度上自适应了因子分解维度。上式将关于同一个特征的线性项和高阶交叉项分为一组,共分为d组,其中表示同时选择或同时不选第i个特征相关的所有参数,实现了组间稀疏。表示对选中的Ωi进一步作特征选择,实现了组内稀疏,而组内稀疏也相当于对各个维度自适应选择最优k值。值得注意的是,范数均非光滑,且损失函数非凸。因此,目标函数非凸非光滑,优化式(4)相比优化原始的高阶因子分解机目标函数(3)具有更大的挑战,本专利技术的另一个创新点是使用前向后向切分算法(FOBOS)优化新的目标函数,根据FOBOS算法,首先将SGL-HOFM的目标函数分为两部分:f(ω,p(2),…,p(m))+r(ω,p(2),…,p(m))(5)其中且FOBOS算法主要由两个步骤组成,第一步执行标准的梯度下降过程,第二步是在第一步的基础上进行微调。一方面希望新的结果尽可能接近第一步结果,另一方面还需要最小化r(ω,p(2),…,p(2))。FOBOS算法是一个迭代优化算法,设第一步中梯度下降的学习率为η,λ1=ηβ1,λ2=ηβ2,在第t步迭代中,假设第一步得到的结果为则FOBOS算法的第二步更新公式为:式(6)是一个含有树结构正则项的优化问题。一共有d棵高度为2的树,每棵树的每个节点表示一个变量,一共有|Ωi|个叶子节点,每个叶子节点对应向量Ωi中的一个分量,只有一个根节点,根节点上的变量就是向量Ωi。优化式(6)是从叶子节点到根节点的递归过程。优化式(6)的算法流程如下所示:步骤一:设i=1;步骤二:对第i棵树的每个叶子节点执行一范数软阈值操作;步骤三:对第i棵树的根节点执行二范数软阈值操作;步骤四:i=i+1,如果i<=p成立则转到步骤二继续执行,否则转到步骤五;步骤五:结束。本专利技术技术方案突出的实质性特点和显著的进步主要体现在:通过向HOFM的目标函数添加SGL正则项以利用该高阶模型结构稀疏的先验信息做特征选择,对于新的非凸非光滑的目标函数采用了FOBOS算法优化求解,并采用了树结构正则项的优化算法求解FOBOS算法的子问题。比较SGL-HOFM与原始的HOFM算法,SGL-HOFM大大降低了模本文档来自技高网
...

【技术保护点】
1.一种基于稀疏组Lasso的高阶因子分解机方法,其特征在于:利用了高阶因子分解机特殊的高阶交叉结构,采用了基于Sparse Group Lasso的正则项惩罚目标函数,从而实现了特征的结构稀疏特性,从而去除噪音,提升模型性能,新模型的目标函数如下所示

【技术特征摘要】
1.一种基于稀疏组Lasso的高阶因子分解机方法,其特征在于:利用了高阶因子分解机特殊的高阶交叉结构,采用了基于SparseGroupLasso的正则项惩罚目标函数,从而实现了特征的结构稀疏特性,从而去除噪音,提升模型性能,新模型的目标函数如下所示其中表示最小平方损失,是关于第i个特征的系数,是GroupLasso惩罚项,能实现列稀疏,是一范数惩罚项,表示在被GroupLasso选择的基础上,进一步做特征选择,从而在一定程度上自适应了因子分解维度。2.根据权利要求1所述的方法,其特征在于:采用了FOBOS算法优化新的目标函数,FOBOS算法是一个迭代优化算法,其具体过程如下:根据FOBOS算法,首先将式(1)所示的目标函数分为两部分f(ω,p(2),…,p(m))+r(ω,p(2),…,p(m))(2)其中且FOBOS更新过程为:步骤一:选择合适的正则化参数β1和β2,以及学习率η,令时刻t=0;步骤二:对执...

【专利技术属性】
技术研发人员:陈松灿郭少成
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1