当前位置: 代码迷 >> 综合 >> paper note-learnig recommender systems with adaptive regularization
  详细解决方案

paper note-learnig recommender systems with adaptive regularization

热度:82   发布时间:2023-12-22 10:58:42.0

    • 简介
    • 分解机
      • 模型公式
      • 目标函数
      • 优化算法
    • 优化正则化系数
      • 问题描述
      • 梯度计算
      • 算法描述
    • 结论

简介

在推荐系统中最常用的模型是分解模型(factorization model),为了防止模型的过拟合,一般需要在损失函数中添加正则项。分解模型在测试集或者实际应用中的表现很大程度上依赖正则项参数(Regularization values的),而这个参数一般被视为超参数,即在每次实验开始前已经确定的参数。在实验过程中一般是准备多个候选值,分别进行实验,然后选取效果最好的。这样是比较耗时的。

这篇论文提出了一个新的观点,将正则化参数视为一个可以通过学习得到的参数,在学习的过程中自动的调整这个参数,从而避免耗时的调参工作。提出的算法具有以下几个特点:

  • 列表内容将正则化参数集成到模型参数的学习算法中
  • 算法的时间复杂度和梯度下降一样
  • 不在需要手动的调试正则化参数,并且正则化参数的可选范围从有限变成的无限。

分解机

S S :数据集

λ :正则化系数

Θ Θ :假设空间

θ θ :模型参数

y y :真实值

y ^ :预测值

l l :损失函数

模型公式

由于SVD++、MF等模型可以视为分解机(Factorization Machine)的特例,所以本文采用的模型为分解机。

y ^ ( x ) = w 0 + l = 1 p w l x l + l 1 = 1 p l 2 > l 1 p < v l 1 , v l 2 > x l 1 x l 2

公式(1)的时间复杂度为 O(kn2) O ( k n 2 )

通过对(1)的变形,可以将其时间复杂度降低到 O(kn) O ( k n )

y^(x)=w0+l=1pwlxl+12f=1k((l=1pvl,fxl)2?l=1pv2l,fx2l) y ^ ( x ) = w 0 + ∑ l = 1 p w l x l + 1 2 ∑ f = 1 k ( ( ∑ l = 1 p v l , f x l ) 2 ? ∑ l = 1 p v l , f 2 x l 2 )

目标函数

一般用损失函数来量化预测评分 y^ y ^ 和真实值 y y 之间的误差,常用的损失函数有一下两种

l L S ( y 1 , y 2 ) := ( y 1 ? y 2 ) 2

lC(y1,y2):=?lnσ(y1y2) l C ( y 1 , y 2 ) := ? l n σ ( y 1 y 2 )

则优化目标函数为
OPTREG(S,λ):=argminΘ((x,y)Sl(y^(x|Θ),y)+θΘλθθ2) O P T R E G ( S , λ ) := a r g m i n Θ ? ( ∑ ( x , y ) ∈ S l ( y ^ ( x | Θ ) , y ) + ∑ θ ∈ Θ λ θ θ 2 )

其中 λθR+ λ θ ∈ R + 为对应模型参数的正则系数,本文采用的是 L2 L 2 正则。实际上,分解机模型的表现很大程度上依赖 λ λ 的选择。如果 λ λ 过大,则模型不能很好的拟合训练集,也就是训练效果不明显;如果 λ λ 过小,则模型在训练集上可能会过拟合,虽然在训练集上的表现很好,但是缺乏泛化能力,即在验证集或者实际应用中的表现很差。

优化算法

对于上述目标函数,通常采用梯度下降(Gradient Descent)进行优化

θt+1=θt?α(??θtl(y^(x|Θ),y)+2λθt) θ t + 1 = θ t ? α ( ? ? θ t l ( y ^ ( x | Θ ) , y ) + 2 λ θ t )

优化正则化系数

这是本文提出的重要概念,即在训练过程中自适应的优化正则化系数。

问题描述

为了学习正则化参数 λθ λ θ ,首先将数据集分为互斥的两部分: SV S V ST S T 。在 ST S T 上,对于给定的 λθ λ θ ,通过公式(5)来优化模型参数。在 SV S V 上,评估模型的效果。我们需要求出 λ? λ ? 使目标函数在 SV S V 上的误差最小。

λ?:=argminλRc+(x,y)SVl(y^(x|OPTREG(ST,λ)),y) λ ? := a r g m i n λ ∈ R + c ? ∑ ( x , y ) ∈ S V l ( y ^ ( x | O P T R E G ( S T , λ ) ) , y )

这是一个嵌套优化问题,最外层是通过在 SV S V 上最小化目标函数来求出最优的 λ? λ ? 。由公式可以看出,目标函数的最小化与 λ λ 无关,而是取决于 y^ y ^ 的计算,由公式(1)可以知道 y^ y ^ 的计算仅仅取决于模型参数,也就是当模型参数固定时,有以下的求导关系。

λ?:=argminλRc+(x,y)SVl(y^(x|Θ),y) λ ? := a r g m i n λ ∈ R + c ? ∑ ( x , y ) ∈ S V l ( y ^ ( x | Θ ) , y )

??λL(SV,Θt)=??λ(x,y)SVl(y^(x|Θt),y)=0 ? ? λ L ( S V , Θ t ) = ? ? λ ∑ ( x , y ) ∈ S V l ( y ^ ( x | Θ t ) , y ) = 0

也就是说无法通过(8)求出 λ λ ,原因在于,公式(8)中并未显示的出现 λ λ

但是在(6)中, Θ Θ 的更新公式中,显示的出现了 λ λ 。于是可以换个思路,考虑优化问题:求出使 Θ Θ

的下一次更新后在验证集上损失函数最小的 λ λ

λ?:=argminλRc+(x,y)SVl(y^(x|Θt+1),y) λ ? := a r g m i n λ ∈ R + c ? ∑ ( x , y ) ∈ S V l ( y ^ ( x | Θ t + 1 ) , y )

梯度计算

λt+1=λt+α??λl(y^(x|Θt+1),y) λ t + 1 = λ t + α ? ? λ l ( y ^ ( x | Θ t + 1 ) , y )

对于 lLS l L S :
??λ(y^(x|Θt+1)?y)2=2(y^(x|Θt+1)?y)??λ(y^(x|Θt+1) ? ? λ ( y ^ ( x | Θ t + 1 ) ? y ) 2 = 2 ( y ^ ( x | Θ t + 1 ) ? y ) ? ? λ ( y ^ ( x | Θ t + 1 )

对于 lC l C
??λ?lnσ(y^(x|Θt+1)y)=σ(y^(x|Θt+1)y?1)y??λ(y^(x|Θt+1) ? ? λ ? l n σ ( y ^ ( x | Θ t + 1 ) y ) = σ ( y ^ ( x | Θ t + 1 ) y ? 1 ) y ? ? λ ( y ^ ( x | Θ t + 1 )

正则化系数一共有 k+2 k + 2 个,

λ0(w0) λ 0 ( w 0 )

λw(w1,w2,...,wp) λ w ( w 1 , w 2 , . . . , w p )

λf(v?f),f=1,2,...k λ f ( v ? f ) , f = 1 , 2 , . . . k

??λ0y^(x|Θt+1)=?2αwt0 ? ? λ 0 y ^ ( x | Θ t + 1 ) = ? 2 α w 0 t

??λwy^(x|Θt+1)=?2αi=1pwtixi ? ? λ w y ^ ( x | Θ t + 1 ) = ? 2 α ∑ i = 1 p w i t x i

??λfy^(x|Θt+1)=?2α[i=1xivt+1i,fj=1xjvtj,f?j=1x2jvt+1j,fvtj,f] ? ? λ f y ^ ( x | Θ t + 1 ) = ? 2 α [ ∑ i = 1 x i v i , f t + 1 ∑ j = 1 x j v j , f t ? ∑ j = 1 x j 2 v j , f t + 1 v j , f t ]

算法描述

这里写图片描述

结论

由于正则化系数个数的增加,且其取值空间从有限变为无限,引入了自适应调整正则项系数后的模型效果更好。并且由于省去了调参的过程,更省时间。

  相关解决方案