小扰动线性化思想在机器学习中的跨界应用

文章目录

一个具体的应用过程

在之前提到的一个项目里,有一个重要的细节被一带而过了。

原文链接:凸约束机器学习模型的探索及其可解释性思考 https://blog.csdn.net/qq_36870202/article/details/116889535

我们搭建一个凸(拟凸)的机器学习模型,主要有三点考虑:

  1. 让输入-输出的变化关系更合理,进而保证模型可解释;
  2. 训练模型参数(或优化求解)过程中,尽量稳定和鲁棒,即容易收敛到全局最优解;
  3. 问题可以这样简化:输入小幅度变化时,输出关于输入的泰勒展开高阶项( ≥ 2 \ge 2 ≥2)趋向于0。即当输入满足小扰动条件时,小容量的线性模型也基本足以拟合真实问题

其中,前两点在原文中已经有涉及,这里重点看第3点。

对于问题的落地场景来说(可参考原文#2例举的出租车调度问题),输入的确会是试探性地、小规模地增减调节的,因此符合小扰动条件。所以按照这个思想来简化问题、简化模型,是不违和的,也满足实际的需求。

相反的,如果一定要对任意范围内的输入建立全面的、完善的、至少可用的模型,一方面数据需要丰富且均匀、至少不单一,另一方面模型复杂度上升、训练难度加大、稳定性降低、正向推理耗时增加,等等。

小扰动思想

建立小扰动模型的灵感,或者说思路,可能更多的来源于本科时候的课程,《自动控制原理》《飞行器动力学》之类的,类似机械和自动化相关领域。

乍一看,似乎和机器学习没什么关系,各种公式推导也忘得一干二净,不过这种解决问题的思路和方法论,着实还是挺有帮助的。在其他领域也是一样,似乎很多地方都是相通的,也算是一种普遍联系吧。

附上一些小扰动、线性化的理论介绍:

【百度百科】小扰动理论:https://baike.baidu.com/item/小扰动理论/19136784?fr=aladdin

【知乎】如何获得飞机的小扰动模型:https://zhuanlan.zhihu.com/p/71717022

和算法的联系

考虑机器学习或其他算法,感觉下面三个说法或者思想是很相似的;

  1. 小扰动线性化,也就是上面提到的思想;
  2. 分段函数拟合,如计算方法中的B样条;
  3. 分而治之思想,如模式识别中的决策树;

概括来说,都是算法里面分而治之的思想。只不过上面三种说法,只有第一个里面的线性化体现了模型容量的降低,所以这篇博客的题目用了这个说法。

事实上,还有一个类似的例子,即LS-PLM(Large Scale Piece-wise Linear Models),大规模分片线性模型。

LS-PLM

  • 阿里巴巴曾经的主流推荐模型、一个CTR预估算法;
    • CTR, Click-Through-Rate,即点击通过率。
  • 论文:
  • 别人的博客:
  • 大概算法:
    1. 对样本聚类(N类),即在样本空间划分N个片区;
    2. 为每个类(每个片区)别建立一个LR模型,计算样本在分片中的CTR;
    3. 按照softmax的类别概率,对所有片区的CTR加权平均;

不同的是模型的更新过程:

  • 对于LS-PLM,需要维护多个模型,包括计算类别概率和CTR。
  • 对于上面提到的项目场景和算法,使用K临近作为划分的片区,同时模型又非常简单,所以模型更新更简单。这也是得益于更简单的使用场景。
上一篇:阿里妈妈长期用户历史行为建模——MIMN模型详解


下一篇:Linux—vim/vi 翻页跳转命令快捷键