目前在国际上很多学者和机构都提出了性能强大的集成推荐算法,本章将选取四个性能较优的算法:极端梯度提升(eXtreme Gradient Boosting,XGB)、梯度提升树(Gradient Boosting Decision Tree,GBDT)、随机森林(Random Forest,RF)、轻型梯度提升(Light Gradient Boosting Machine,LGBM)作为基分类器,结合上述Stacking理论,提出一个应用于热点话题推荐的集成推荐算法。
GBDT算法由Friedman等[165]提出,该算法通过损失函数的负梯度拟合来解决分类问题或回归问题;XGB算法由Chen等[166]提出,该算法在代价函数中加入了正则项,简化了学习过程,有效避免了过度拟合的问题;RF算法由Breima等[167]提出,该算法是对传统决策树算法的一种改进,依据自助重采样技术有放回地从训练集合中重复采样,形成新的训练集合,用于训练决策树。LGBM由微软于2017年提出[168],它提供了一个高效的框架,支持高效率的并行训练,可有效解决其他算法在进行海量数据处理时遇到的问题。
以上述四种算法为基算法,构成基分类器集合(即Stacking的第一层算法),结合Stacking理论,本章提出一个集成算法,使新算法综合四种算法的优势,得到一个更为有效的热点话题集成推荐算法。
在算法的实现过程中,为充分应用实验数据,避免过拟合问题[169,170]的出现,对于每个基算法的训练,我们分别采用了五折交叉验证,基本思想为:针对某个基算法(例如XGB),将训练集分成五份,从中随机选出四份作为train,一份作为test,依据XGB算法,得到一个预测标签列trainXGB-1(假设有k个标签)。
同时用当前的四份train对原始数据集中的测试集也做出预测,假设预测值为testXGB-1(假设有m个标签)。将上述操作重复五次,可得到基于原训练集的五个预测标签列P-trainXGB-1,P-trainXGB-2,P-trainXGB-3,P-trainXGB-4,和P-trainXGB-5,基于原测试集的五个预测标签列P-testXGB-1,P-testXGB-2,P-testXGB-3,P-testXGB-4,P-testXGB-5。将P-trainXGB-i(i=1,2,3,4,5)纵向列拼接为一列,得到新的标签列P-trainXGB(5×k行),表示为式(8-6)。将P-testXGB-i(i=1,2,3,4,5)加权求平均,得到一个m行的新标签列P-testXGB,如式(8-7)所示:
上述过程可图示化为图8-9,图8-9中上半部分针对的是原数据集中训练集的操作,train-i表示把train随机分成5份,经过上述操作后生成一个一列、5×k行的基于原训练集的预测标签列P-trainXGB。下半部分为针对原数据集中测试集的操作,最终得到一个一列、m行的标签列P-testXGB。(www.xing528.com)
其余三种基算法GBDT、RF、LGBM重复XGB算法的操作,可分别得到基于原训练集的预测标签列P-trainGBDT,P-trainRF,P-trainLGBM,基于原测试集的预测标签列P-testGBDT,P-testRF,P-testLGBM。依据每个基分类器得到的结果,最终得到适用于第二层分类器的新的训练集合测试集,表示为:
图8-9 XGB基于五折交叉检验的标签列生成
new-train和new-test作为第一层的输出将分别作为第二层元分类器的训练集合测试集,通过训练集new-train回归方程,并对测试集合new-test做出预测。综上,我们提出的集成推荐算法可描述为表8-2。
上述算法中M=4表示我们提出的集成算法的基分类器是四个,即XGB、GBDT、RF、LGBM,H(x)为最终的集成推荐,其推荐结果由四个基分类器的推荐结果h1(x),h2(x),h3(x),h4(x)集成获得。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。