相反,很多传统的机器学习算法,要么有严格的数学证明,要么是直观就能观察到算法的过程。相比于深度学习模型,我认为能够提出这些传统机器学习算法的前辈们更加值得敬佩。因此,本文主要是简单的分享一个所谓「传统机器学习算法」在实际业务中的使用场景。当然,我再次声明我对深度学习的理解尚浅,如有表述不当之处,可以互相交流。
▐模型定义:如何用数学模型定义一个调拨业务,并将业务目标变成模型目标函数
业务中问题更复杂,定义约束也更多,求解的模型可能会不一样。算法大佬们轻喷~
-
前置知识
-
业务分析
-
当在仓库存偏仓的时候,会造成跨区发货,跨区发货服务器托管网的快递成本比非跨区发货高
-
如果能提前通过集中调拨的方式将货物配平(即批量的将货物先配送到用户所在的地区的仓),且满足:单件集中调拨成本+单件发货成本
-
仓库的出库能力、收货能力、干线运输能力有上限限制
-
调出仓需要优先满足本仓覆盖范围内的潜在消费者
-
建模
-
假设有N个货品货品
-
调出仓A
-
调入仓B
-
约束1:对任意一个货品,从A仓调出量小于A仓库存-A仓自身需求量,即,其中表示货品从A仓的调出至B仓的量。表示货品在A仓的库存,在仓库A覆盖范围内的预计售卖量表示货品
-
约束2:对任意一个货品,调入B仓的量小于B仓覆盖范围内的预计售卖量-B仓已有的在仓库存,即,字符含义同上。
-
约束3:一次调拨的量,要小于A仓到B仓的干线运输能力,即
,其中
是一个常量,表示最大的干线运输能力
-
目标函数:
其中是个常量,表示货品通过跨区发货到消费者手中的发货成本,是个常量,表示货品从A仓调拨到B仓的调拨成本,表示提前将货品从A仓调拨到B仓,避免跨区发货而节省的成本。因此,我们要「最小化货物从仓库到消费者手中的物流成本」,即,最大化节省的金额。
以保证最大化收益,就要对这个模型进行求解了。
▐模型求解:怎么才能算出目标函数最优时的参数解
-
明确求解目标
,即每个货品需要从A仓调拨多少件到B仓。这
里为了方便解释,我们就假设一共就两个货品
,相应的我们需要求解的变量就
。
-
求解算法
根据约束条件看,解空间就在坐标轴圈定的阴影范围内。实际上,最简单的求解方法就是暴力枚举所有可能的结果,然后求出函数值最大时对应的参数即可。
当然了,现实的问题中求解的参数量一定是远远大于2个的,因此参数求解的时间复杂度呈指数级上升,以当前的算力,可能直到生命的尽头可能都得不到答案。生命是宝贵的,对于这种问题,有没有快速的解法呢?有,这里我们就要引出一个算法概念——启发式搜索算法,这是一种算法理念的统称,具体的实现有很多种,比如模拟退火算法、遗传算法、蚁群算法等。宗旨就是在有限的时间内,得到一个近似的最优解。
https://zhuanlan.zhihu.com/p/460368294
这类算法不仅很有效,而且是可理解可证明的。记得多年前,第一次接触到这种算法类型的时候,深深地感受到了前人的智慧。
-
向量化:无论什么类型的数据,文字、图片、视频、声音,首先是将数据向量化,比如文字可以使用word2vec转换成一串01向量。
-
将训练数据的目标结果也向量化:一般来说输入的数据和目标结果是同一种数据类型,也可以不一样。
-
选定目标函数:一般来说目标函数针对不同的任务类型有其固定的目标函数。比如常见的RMSE、Cross-Entropy、Categorical-Cross-Entropy等等。
-
训练模型:将模型输出的结果向量与目标结果向量代入目标函数,计算loss。同时计算梯度值,调整模型参数。直到在训练集上的loss足够小或者每次迭代的loss不再变低为止,训练结束。
团队介绍
我们是大淘宝技术-品牌供给技术部,目前主要负责消费电子、家装家居、天猫优品等行业的供应链业务。团队致力于解决采购、调拨、仓储、履约等多环节的业务优化问题,为平台商家和集团自营业务提供极致的供应链体验。将仿真优化、运筹学、机器学习和智能AI算法与实际业务场景相结合,为供应链降本提效、提升消费者物流体验提供一站式解决方案。
拓展阅读
终端技术|
音视频技术
|
技术质量|
数据算法
本文分享自微信公众号 – 大淘宝技术(AlibabaMTT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
1、什么是路由模式(direct) 路由模式是在使用交换机的同时,生产者指定路由发送数据,消费者绑定路由接受数据。与发布/订阅模式不同的是,发布/订阅模式只要是绑定了交换机的队列都会收到生产者向交换机推送过来的数据。而路由模式下加了一个路由设置,生产者向交…