对推荐算法演化的几点体会

简介: 最近一段时间,由于工作需要一直在研究推荐算法。 通过对互联网信息的搜刮和对现有开源推荐算法的实践,总结出一些心得 遂吐个槽,发表出来与广大网友探讨,希望能得到应用推荐的正确姿势 先说问题吧: 目前推荐算法存在的问题 1.

最近一段时间,由于工作需要一直在研究推荐算法。

通过对互联网信息的搜刮和对现有开源推荐算法的实践,总结出一些心得

遂吐个槽,发表出来与广大网友探讨,希望能得到应用推荐的正确姿势

先说问题吧:

目前推荐算法存在的问题

1.算法多杂:

推荐领域的门槛较低,掌握一定业务规则即可进行目标导向的推荐,从而导致各种算法多如牛毛,鱼龙混杂,让人无所适从;

2.思想混乱:

自从亚马逊推出协同过滤思想后,推荐领域便开始迅速发展,并呈现出百家争鸣、万花齐放的态势,但推荐领域不像其他领域具备明确的思想路径(比如NLP先做分词再做语义理解,比如图像特征金字塔等),各自都能说出自己的1、2、3,而且都声称自己有效果;

3.结果不透明:

目前不管是媒体还是电商,推荐算法的效果都是不透明的,各家只有各家自己心里清楚,也只有从业的专业人士有一些经验概数,这就导致谁都能出来说上两句,但到底对不对?你猜

推荐领域的原罪

推荐领域的上述问题,又导致了以下“原罪”:

1.我们需要那么多声音吗?

适当的观点表达有利于领域技术正确发展,但太多的声音,则让研究者犹如“小马过河”,而大量的噪音,让研究者真假难辨,陷入了不断打假的斗争中,浪费大量时间

2.我们抓住了问题的本质吗?

协同过滤已成为推荐的标配和金科玉律,但我们是否抓住了推荐问题的本质?用户的需求和商品特征间的关联是不是可以不局限在协同过滤的基调下?我们是不是应抓住问题的根本,围绕问题去建模,而不是抓住一两个细节就写一个“有提升”的论文?

3.理论与实际的脱节

当你打开任何一本介绍推荐算法的书籍或资料,研究人员总是给你列举一大堆指标,可当你实际应用时,你会发现大量无用甚至无法计算的指标,比如新颖度等等,这样形而上学的知识究竟有什么意义?

4.我们的算法有进步吗?

当你花了大量时间去研究CF,FM,DeepFM及其各种变体后,你会发现,算法并未取得实质性的进展,效果的好坏,完全取决于研究人员控制的结果,而不是算法的实际产出

好了,说了这么多,很多网友也会说,既然摆出这么多问题,你有什么解决方案?毕竟大道理谁都会讲

推荐算法的发展态势

从目前了解到的推荐算法设计思路,可以归纳为以下三种思路:

1.以业务为中心的建模方式:

业务规则提炼 -> 因果图 -> 贝叶斯网络
1
现状:目前的很多推荐系统,还停留在“业务规则提炼”+简单的“因果图”阶段,暂未发现成熟的贝叶斯网络推荐系统

优势:系统可以很好的与业务规则兼容,天生具备可解释性,可以让更多的业务人员参与进来,不浪费业务经验

劣势:建模过程需要参与的人较多,建模过程比较漫长,无法快速发现数据中的隐含规律

关键点:业务规则提炼成因果关系

2.以统计为中心的建模方式:

数据分析 -> 变量设计 -> 决策树模型
2
现状:这块的发展较为成熟,逐渐从普通的决策树随机森林,上升到梯度提升树(AdaBoost),集成提升树(XgBoost)等等

优势:通过将经验转化为变量的形式,来快速应用到模型,能自动从变量学习到隐含规则

劣势:变量构建过程漫长,需要建模人员熟悉并理解业务规则,模型的好坏很大程度上取决于特征工程

关键点:变量设计中对业务的理解

3.端到端的建模方式:

数据获取 -> 变量选择 -> 神经网络模型
1
现状:这块的算法变体发展也很快速,尤其是以阿里、京东等为代表的电商派,各种变体层出不穷

优势:算法实现快速,现有的数据可以直接入模处理,可快速落地,快速迭代

劣势:结果的可解释性差,算法的可提升空间有限,好坏只有自己知道

关键点:模型结构设计中对业务的理解

小结

以上3种路径实质代表了三种思想:

1.经验主义+因果推断思想;

2.统计和概率思想;

3.神经连接思想;(其实这种有点不伦不类,神经网络自编码器与FM矩阵分解结合,感觉有点奇怪)

但仔细观察上述优化的过程,都绕不开业务的理解,都是在不断刻画用户行为,而对模型的升级改造也只是为了能更好的处理用户行为变量
2
所以,本质上推荐算法其实是在不断建立“用户画像”的过程

从模型的可持续发展以及可解释性的角度出发,我认为第1种思想是最稳妥的发展方式

与其用高级晦涩难懂的变量或模型将“业务”包装起来,不如直接暴露在因果图中,这样显得更平易近人

从人机结合的角度来看,基于因果图的贝叶斯网络也是一种可靠的交互方式,最终要攻克的难点在于因果推理

个人心得

从现有推荐模型的研究方向来看:
1.神经网络的发展方向(已经完全跑偏,试图用固化的复杂的模型结构去表达对业务的理解,这种已经偏离了模型对事物客观规律本质的刻画,相信在未来很长一段时间,神经网络的推荐研究进展将会很缓慢)

2.集成学习和模型融合的思想(集成学习在特定明确问题的解决上,效果很好,但我认为,目前并不适用推荐这一领域,推荐系统实际是在不断捕捉用户喜好,不断刻画用户兴趣的过程,和稀泥的做法,只会使效果适得其反)

目前的推荐系统研究,大多停留在和现有模型的比较及提升方面,并未从问题本质上去思考和改进,并且鱼龙混杂,结果又很难复现,短期内是很难取得有效的改观的

希望个人的一些浅见,对大家一起提升推荐算法会有帮助

相关文章
|
5月前
|
机器学习/深度学习 算法 Python
使用Python实现深度学习模型:演化策略与遗传算法
使用Python实现深度学习模型:演化策略与遗传算法
40 0
|
机器学习/深度学习 人工智能 算法
南大周志华、俞扬、钱超最新力作:《演化学习:理论与算法进展》正式上线
梯度下降或最速下降法,是机器学习最为重要的模块之一。尤其是在深度学习时代,梯度下降已成为不可或缺的组成部分。但同时,梯度下降也限制了机器学习推广到更广泛的一些任务中,例如不可微的目标函数。这一缺陷,却正好能被本书的主题「演化学习」解决。
472 0
南大周志华、俞扬、钱超最新力作:《演化学习:理论与算法进展》正式上线
|
安全 算法
新冠病毒的演化的进化算法推演
自从新冠病毒爆发以来,疫情的发展就一直牵动着全国人民的心。但随着近两个月疫情的飞速发展,可以说新冠病毒的传播速度已经超出了所有人的预料! 而年前因工作需要,刚研究过进化算法,所以新冠病毒是如何快速进化出来的,引起了我的兴趣。
2688 0
新冠病毒的演化的进化算法推演
带你读《计算机时代的统计推断:算法、演化和数据科学》之三:贝叶斯推断
本书以丰富的案例介绍了计算机时代下的统计推断的发展脉络,从理论的角度剖析统计推断的各类算法、证据等,揭示统计推断如何推动当今大数据、数据科学、机器学习等领域的快速发展并引领数据分析的变革,最后展望了统计学和数据科学的未来方向。
带你读《计算机时代的统计推断:算法、演化和数据科学》之二:频率学派推断
本书以丰富的案例介绍了计算机时代下的统计推断的发展脉络,从理论的角度剖析统计推断的各类算法、证据等,揭示统计推断如何推动当今大数据、数据科学、机器学习等领域的快速发展并引领数据分析的变革,最后展望了统计学和数据科学的未来方向。
带你读《计算机时代的统计推断:算法、演化和数据科学》之一:算法与推断
本书以丰富的案例介绍了计算机时代下的统计推断的发展脉络,从理论的角度剖析统计推断的各类算法、证据等,揭示统计推断如何推动当今大数据、数据科学、机器学习等领域的快速发展并引领数据分析的变革,最后展望了统计学和数据科学的未来方向。
|
机器学习/深度学习 分布式计算 算法