推荐系统之样本增强
Posted AINLP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统之样本增强相关的知识,希望对你有一定的参考价值。
——Love is hard to get into, but harder to get out of.
数据、算法、算力被称为推动人工智能进步的三驾马车,其中的数据我觉得是最重要的。所谓Garbage in, Garbage out,数据的质量决定了机器学习模型的上限。从某种程度上来说,深度学习就是一种基于大数据的方法,数据的规模越大、质量越高,模型效果一般越好。其实深度学习模型挺蠢的,同一张照片,换了个角度,可能模型就无法识别出照片里面是什么物体了。所以在图像领域,数据增强技术基本是标配,通过对图像进行翻转、裁剪、变换、加噪声等生成新的样本,从而增强模型的泛化能力。在NLP领域也有一些数据增强技术,比如同义词替换、回译(先翻译成另一种语言然后再翻译回来)、文档裁剪等。但是在推荐领域,数据增强的研究很少,还没有在网上找到过公开的数据增强技术在推荐领域的应用。
从数据增强技术在图像领域的应用经验来看,其接入成本低但收益相对较高,我觉得可以在推荐领域应用领域做一些尝试,个人尝试过的有下面三种方法:
一,正样本Mix-up
二,正样本上采样
三,样本扰动
正样本Mix-up,在样本以Dense Value形式输入NN网络的时候,随机选择两条正样本X1和X2,使用公式
λ*X1+(1- λ)*X2
生成一条新样本,λ 是一个随机数,满足Beta分布,新样本标签为正,通过多次采样可以生成多条样本。
正样本上采样,随机复制正样本添加到原有样本集当中,但是对正样本的选择设置一定的标准,比如时长大于2分钟,完播率为1,保证选择的都是高质量样本。当然这个标准不一定对,有同学可能觉得采样最好与原始数据分布一致比较好,这个可以根据自身的业务场景去多做尝试,在实践中以线上是否有收益为主要标准。
样本扰动,在样本以DenseValue形式输入NN网络的时候,对样本随机添加高斯噪声,
X=X+ α GaussianNoise(0,1)
。 α 非常小,保证样本不失真。
三种样本增强技术操作都比较简单,第一种方法我在做连续值DNN精排模型的时候试过,能够取得一定收益,还可以试试在正负样本之间进行Mix-up的方法;第二种方法与正样本加权(时长加权/完播率加权)有异曲同工的意思,而样本加权我也做过,线上能够取得很不错的收益;第三种方法有点像正则化技术了,比如Dropout, 其实添加不仅可以在输入数据上面做,也可以在隐藏层做,看到过相关的演示显示高斯噪声层放在激活层前面能够取得比较好的效果。
数据增强技术和Dropout等正则化技术有什么异同呢?两者的区别是数据增强技术是通过改变数据来影响参数更新,而dropout等正则化技术则是直接作用在参数上面,如果把参数更新以教育小孩来比喻,则前者可以比喻成循循善诱的教育方法,而后者则是暴力教育;循循善诱的方法听起来好像更为合理,但是关键问题在于教育者本身是合理的,在这里也就是增强的数据确实是合理的,如果加入的噪声已经喧宾夺主,那么模型很难学到什么东西,而暴力教育则是当被教育者错了的时候施加影响,使其不至于偏离正轨,这样看起来暴力教育反而更靠谱,但是如果暴力过猛,也容易给人造成阴影,这里的表现就是模型的正常更新受到压制,从而失去预测能力。两者的联系则都是以提高模型的泛化能力为目标,增强模型对某种变换的invariance,减少模型估计的variance。
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
推荐阅读
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧 以上是关于推荐系统之样本增强的主要内容,如果未能解决你的问题,请参考以下文章