数学优化和机器学习结合使用的四种方法简介

人工智能 机器学习
数学优化(或数学规划)是一个强大的决策工具。通过制定目标并指定约束条件和变量,数学优化可以帮助在当前现实环境下做出最佳决策。它已经在航空、物流、电力和金融等许多不同行业证明了其价值。

数学优化与机器学习

数学优化(或数学规划)是一个强大的决策工具。通过制定目标并指定约束条件和变量,数学优化可以帮助在当前现实环境下做出最佳决策。它已经在航空、物流、电力和金融等许多不同行业证明了其价值。

机器学习是人工智能的一个分支领域。计算机可以识别数据中的模式并学习预测未来,可以进行聚类、检测异常或生成新的音乐或图像。机器学习的三种类型(有监督、无监督和强化学习)可以应用于所有行业,比如医疗保健,甚至是艺术。机器学习模型都是关于概率的,并预测将发生事情的概率

两种方法各有优缺点。当数据变化太多时,机器学习模型就变得毫无用处,模型需要重新训练或从头开始重建。数学优化需要良好的数学描述,它不能像机器学习那样处理非结构化数据。此外,如果问题变得太大,您可能需要一个商业解决程序来解决问题,这可能是相当昂贵的。

有些问题更适合机器学习,而另一些问题则更适合数学优化。当您希望发现数据中的模式、查找相似的数据样本或预测天气时,应该使用机器学习。如果您想创建一个时间表,找到设施的最佳位置或最小化问题的成本,数学优化是更好的选择。

如何结合数学优化和机器学习呢?

将数学优化和机器学习结合起来是很有用的。它们有不同的优点和缺点,有些问题太复杂,不能只使用两者中的一种。它们可以相互补充。这里有四种方法和实际例子,告诉你如何将它们结合起来。

1. 使用机器学习预测作为优化模型中的约束

首先,您使用机器学习进行预测,这些预测被用作优化问题的输入。您可以使用机器学习模型的输出设置约束。

示例:使用机器学习预测观看人数,使用它们作为输入来创建一个优化的最佳计划

假设你是一家平台的数据科学家,你向其他公司出售广告空间。广告商购买播放时间,平台根据经验猜测有多少人会看到广告商的广告。作为数据科学家,您希望以最好的方式使用广告空间。首先,使用机器学习根据历史数据预测观看数据。然后,创建一个使用观看数据为输入的优化模型。你通过观看数据来优化计划。通过这样做,你可以使平台的利润最大化。

2. 使用优化决策作为机器学习模型中的训练特征

与方法 1 相比,这是相反的方式:首先优化模型做出决策,决策被用作机器学习模型中的特征。实际上,这种方法不太常见,因为大多数决策 (MO) 都遵循预测 (ML)。这种方式可能在特定项目中很有用。

示例:在机器学习模型中使用运输决策

数学优化在物流中有着广泛的应用。如果您使用优化来决定需要从生产工厂运送到市场的供应量,它可以节省大量时间、金钱和资源。在获得这些结果之后,您可以将它们用于机器学习问题中,例如预测特定日期每个工厂需要多少员工。

3.利用机器学习输出来确定数学优化模型的范围

除了在优化问题中直接使用机器学习输出外,您还可以选择将它们独立地结合起来。您可以在同一个项目中使用它们,但不是在同一个过程中。您可以使用机器学习输出来简化数学优化问题:您可以使用机器学习确定优化模型的范围。这里的一个额外好处是优化模型可以在更短的时间内求解。

示例:使用预测性维护和聚类来确定路由问题的范围

在这个例子中,我们来看一家修理电源箱的公司。他们的修理工数量有限,希望以最好的方式使用这些修理工。首先,您可以使用预测性维护(机器学习)来决定哪些电源箱具有最高的故障风险。然后,使用聚类(机器学习)对高风险电源箱进行聚类。聚类是因为您希望一组电源箱彼此靠近。您可以选择与可用的修理工数量相等的聚类数量。最后,通过数学优化,您可以创建每个聚类的电源箱之间的最佳路线,每个修理工都有一条路线。

4. 利用优化来解决机器学习问题

你可以使用优化来为机器学习问题找到一个最优的参数集。机器学习和数学优化在这里是紧密结合在一起的,因为在机器学习问题中使用了优化。下面的例子表明,混合整数规划(MIP)已经证明了它在解决一个经典研究问题中的价值。

例:求解线性回归中的最佳子集选择问题

在构建回归模型时,去除不相关的特征会使模型更容易解释,并且也不容易过度拟合数据。很难找到特征的最优子集,称为最佳子集选择问题。在过去的几十年里,混合整数规划(数学优化)在速度上有了显著的提高,这使得在现有问题上测试它很有用。

最后

希望本文能启发您尝试数学优化和机器学习的有趣结合!它们适用于不同类型的问题,并且可以相互补充。除了明显的方法(使用一个的输出作为另一个的输入)之外,还有其他方法可以将它们组合起来。你可以将它们松散地结合起来,就像第三种方法一样,使用机器学习来确定优化问题的范围。或者您可以将它们紧密集成以解决研究问题,如最后一个示例所示。


责任编辑:华轩 来源: 不靠谱的猫
相关推荐

2010-03-18 17:57:37

Java XMLSoc

2014-03-17 09:22:43

Linux命令

2022-09-02 14:29:01

JavaScrip数组属性

2011-08-22 09:54:40

云计算虚拟化云成本

2009-03-31 13:12:30

解析XMLJava

2011-06-22 15:21:08

XML

2009-02-25 09:52:14

类型转换.NET 强制转型

2020-08-10 00:30:55

备份密码iPhone移动安全

2011-05-19 10:44:01

2023-12-12 17:12:01

AI数据中心

2014-02-28 10:50:24

Linux命令

2009-09-17 16:55:58

C#组件设计

2010-08-02 16:47:46

Flex

2020-01-21 19:15:23

漏洞安全IT

2021-09-03 11:24:04

云计算云计算环境云应用

2020-07-24 09:56:12

React开发数据

2009-07-10 20:59:42

布线优化绿色安全

2023-06-08 09:00:00

2009-11-23 15:57:51

PHP伪静态

2021-03-10 10:13:39

爬虫Python代码
点赞
收藏

51CTO技术栈公众号