正在加载图片...
第6期 郭少成,等:稀硫化的因子分解机 ·819· =agmn吃9-产+9儿+七19) (13) 求解含有树结构信息的正则化问题。本文中的 SGL是其中一种特例。如图1所示,SGL的结构可 式中:1≤i≤p。文献11]中给出了当正则项分别为 、21、时相应的求解算法,但是当正则项为 以表示成p棵树,每棵树的根节点包含了第i维特 SGL时,文献[11]并没有给出其求解算法,而且直接 征的一阶系数,和其在隐空间的特征表示向量, 将(,2的解法推广到SGL是非平凡的。 子节点分别是其各个分量,SGL相当于对树的每个 Liu等在文献[13]中提出了一种有效算法用于 节点都添加了(2范数的约束。 [2] V2.2 图1树结构的SGL Fig.1 SGL can be represented as tree structures 由文献[13],我们在算法1中直接给出了优化 上进行了实验,数据的基本信息如表1所示,其中 式(13)的具体流程。并在算法2中给出了利用 Movielens的两个数据均为电影评分数据,Last.fm FOBOS算法优化SGL-FM的完整流程。 为音乐推荐数据,所有数据均采用One-Hot-Encod- 算法1树结构正则项的优化算法 ig编码方式。本文将所有数据均划分70%作为训 输入Step1的输出8*,(1≤i≤p),入',2'; 练集,30%作为测试集。 输出更新后的参数6=[w,(1≤i≤p)o 表1实验数据 1)fori=1:pdo Table 1 Experimental datasets 2)0,=0* 数据库 样本数 数据维度(user+item) 3)for j=1:k+1 Movielens 100k 100000 2625=943+1682 4)if (1[ll2)then]=0 Movielens 1m 1000209 9940=6040+3900 5)else ,[j]= a,[-2' 18 .a,[] Last.fm 109750 22272=12523+9749 6)end if 7)end for 实验不仅对比了SGL-FM、FM、L1-FM和GL 8)if llell'then 0=0 FM等方法。还加入了线性模型Lasso和一般的二 阶回归模型(SEC-REG)作为基准对比方法。 9)else 0;= (Il0:lk2-' 所有方法的超参数均采用3折交叉验证选取。 10)end if FM、Lasso以及SEC-REG的所有正则化参数均从 11)end for {0.00001,0.0001,0.001,0.01,0.1,1}中选取,而 算法2用于求解SGL-FM的FOBOS算法 SGL-FM、L1-FM和GL-FM的超参数均从{10,10, 输入训练数据,正则项参数入1,2: 10,10}中选取 输出Oo,w∈RP及V∈RPt。 实验以均方根误差(RMSE)作为评价准则,其 I)fork仁l:num_epoch%迭代次数 计算公式为 2)随机排列所有训练样本 3)fori=1:num_samples%遍历所有样本 RMSE -y)2 4)取出样本x 5)根据式(12)执行随机梯度下降 式中:n为测试样本数,y,分别为第i个样本的预 6)根据算法1优化式(13) 测标号和真实标号。实验也比较了各个模型所得系 7)end for 8)end for 数的稀疏度,稀疏度的计算方式为 sparsity=是 3实验与分析 na 式中:n。表示线性项系数w∈RP和二阶项系数矩阵 3.1实验设置与实验数据 V∈Rxt中所有分量的个数,即m。=pk+1):n表示这 为了验证算法的性能,在3个推荐系统数据集 些分量中零元素个数。θ t i = argmin θi { 1 2 θi −θ t+ 1 2 i 2 +λ ′ 1 ∥θi∥2 +λ2 ′ ∥θi∥1 } (13) 1 ⩽ i ⩽ p ℓ1 ℓ2,1 ℓ∞ ℓ1 ℓ2,1 式中: 。文献[11]中给出了当正则项分别为 、 、 时相应的求解算法,但是当正则项为 SGL 时,文献[11]并没有给出其求解算法,而且直接 将 , 的解法推广到 SGL 是非平凡的。 Liu 等在文献[13]中提出了一种有效算法用于 ℓ2 求解含有树结构信息的正则化问题。本文中的 SGL 是其中一种特例。如图 1 所示,SGL 的结构可 以表示成 p 棵树,每棵树的根节点包含了第 i 维特 征的一阶系数 ωi 和其在隐空间的特征表示向量 vi, 子节点分别是其各个分量,SGL 相当于对树的每个 节点都添加了 范数的约束。 由文献[13],我们在算法 1 中直接给出了优化 式 (13) 的具体流程。并在算法 2 中给出了利用 FOBOS 算法优化 SGL-FM 的完整流程。 算法 1 树结构正则项的优化算法 θ t+ 1 2 i ,(1 ⩽ i ⩽ p) λ1 ′ , λ2 输入 ′ Step 1 的输出 , ; θ t i = [ωt i , v t i ] T 输出 更新后的参数 (1 ⩽ i ⩽ p)。 1) for i = 1: p do θi = θ t+ 1 2 2) i 3) for j = 1: k+1 |θi[j]| ⩽ λ2 ′ 4) if ( ) then θi[j] = 0 θi[j] = ( |θi[j]| −λ2 ′ |θi[j]| ) 5) else · θi[j] 6) end if 7) end for ∥θi∥2 ⩽ λ1 ′ 8) if then θi = 0 θi = ( ||θi ||2 −λ1 ′ ||θi ||2 ) 9) else · θi 10) end if 11) end for 算法 2 用于求解 SGL-FM 的 FOBOS 算法 输入 训练数据,正则项参数 λ1, λ2; ω ∈ R p V ∈ R 输出 ω p×k 0 , 及 。 1) for k=1:num_epoch % 迭代次数 2) 随机排列所有训练样本 3) for i = 1:num_samples % 遍历所有样本 4) 取出样本 xi 5) 根据式 (12) 执行随机梯度下降 6) 根据算法 1 优化式 (13) 7) end for 8) end for 3 实验与分析 3.1 实验设置与实验数据 为了验证算法的性能,在 3 个推荐系统数据集 上进行了实验,数据的基本信息如表 1 所示,其中 Movielens 的两个数据均为电影评分数据, Last.fm 为音乐推荐数据,所有数据均采用 One-Hot-Encod￾ing 编码方式。本文将所有数据均划分 70% 作为训 练集,30% 作为测试集。 实验不仅对比了 SGL-FM、FM、L1-FM 和 GL￾FM 等方法。还加入了线性模型 Lasso 和一般的二 阶回归模型(SEC-REG)作为基准对比方法。 所有方法的超参数均采用 3 折交叉验证选取。 FM、Lasso 以及 SEC-REG 的所有正则化参数均从 {0.000 01, 0.000 1, 0.001, 0.01, 0.1, 1}中选取,而 SGL-FM、L1-FM 和 GL-FM 的超参数均从{10-6, 10-5 , 10-4, 10-3}中选取。 实验以均方根误差(RMSE)作为评价准则,其 计算公式为 RMSE = vt 1 n ∑n i=1 (ˆyi −yi) 2 yˆi 式中:n 为测试样本数, , yi分别为第 i 个样本的预 测标号和真实标号。实验也比较了各个模型所得系 数的稀疏度,稀疏度的计算方式为 sparsity = nz na ω ∈ R p V ∈ R p×k na = p(k+1) 式中:na 表示线性项系数 和二阶项系数矩阵 中所有分量的个数,即 ;nz 表示这 些分量中零元素个数。 [ω1 v1 ] ω1 v1, 1 v1, 2 Ă v1, k Ă [ω2 v2 ] ω2 v2, 1 v2, 2 Ă v2, k [ωp vp ] ωp vp, 1 vp, 2 Ă vp, k 图 1 树结构的 SGL Fig. 1 SGL can be represented as tree structures 表 1 实验数据 Table 1 Experimental datasets 数据库 样本数 数据维度(user + item) Movielens 100k 100 000 2 625=943+1 682 Movielens 1m 1 000 209 9 940=6 040+3 900 Last.fm 109 750 22 272=12 523+9 749 第 6 期 郭少成,等:稀疏化的因子分解机 ·819·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有