我应该使用哪种机器学习来解决优化问题?

数据挖掘 机器学习
2022-02-21 22:07:08

我有一个问题想应用机器学习。为此,我一直在学习该主题,并遇到了有监督、无监督、半监督的机器学习技术。

我知道我想解决的问题,所以无监督机器学习似乎不太合适,因为据我了解,它是在我们不知道我们在寻找什么的时候使用的。

但我也没有预先标记的数据集,因为我们自己不知道我们是否在最佳水平上运行。

基本上我们想要优化利润,我们可以选择调整某些参数。例如,假设我们希望 ML 算法找到可以优化利润的产品价格。

我可以在这里应用哪种机器学习?你有什么推荐的框架吗?我可以阅读任何书来理解这一点(到目前为止我所提到的书都给出了分类的例子)?

添加更多上下文:-实际问题是平衡物流网络。有多个仓库和送货服务提供商 (DSP)(DHL、GLS 等)。我们有一些参数来定义我们要将订单发送到哪个仓库/DSP(要打包和交付)。我们想找到能产生利润的最佳参数。我们已经处理了可以训练和验证算法的数据。但是我们不知道当前参数是否正确,所以我假设用我们拥有的数据训练算法不会给我们一个最佳解决方案(因为标记的目标,即实现的利润可能不是最佳的)

通过这个特定的算法,我们试图找出给定订单的最佳仓库/DSP 组合。虽然我们想将包裹发送到最便宜的仓库/DSP 选项,但可能是最便宜的仓库/DSP 容量不足(受仓库人力限制或给定 DSP 的订购卡车数量限制) ,在这种情况下,我们可能会选择将订单发送到非最便宜的仓库,或者在第二天发送订单。有了这个解决方案,我们不打算优化其他任何东西(即优化库存的存储方式/存储成本等)。目标是尽我们所能利用仓库/卡车的容量。我不需要一个完整的解决方案,但我可以参考一些关键字/概念/地方就足够了。

PS:-对于原始问题中的半成品示例感到抱歉。我只是想举一个简单/类似的例子,这样我就可以得到一些关键词、框架、书籍来进一步研究。

3个回答

您没有对您提到的参数进行调整的现有数据,然后您有由此产生的利润?

如果您没有任何预先标记的数据,那么您会发现这非常困难,因为 NN 将没有什么可学习的。NN 从您提供的信息中学习;输入和相应的输出,或者通过试验值,然后使用使用这些输出作为标签/目标的结果来学习。

优化函数的一种常见方法是使用进化算法 (EA),例如遗传算法,来模拟具有不同参数的许多个体,并评估它们的性能。问题是您必须有一种方法来模拟性能评估,这在您的情况下似乎不可行。

然而,有许多技术可以选择应该模拟哪些个体来执行评估,以最小化评估,以便可以手动执行或通过昂贵的计算过程执行。

特别是,我参考了Y. Jin教授的作品(谷歌学术简介)。他在 2003 年就该主题撰写了一份调查报告,“进化计算中适应度近似的综合调查”(应该免费提供),最近一直致力于研究替代函数以帮助个体选择过程。

您还会在他的作品中找到提到高斯过程 (GP) 的内容。我认为论文“A Multiobjective Evolutionary Algorithm using Gaussian Process based Inverse Modeling”(2015)中的图 8 给出了很好的视觉表示。主要思想是使用近似误差的最小化和所选个体的适应度最大化来选择个体。

如果您想保持简单,则根本无法使用 EA,而只需使用 GP 和视觉辅助工具,因为您的问题是单一目标的(仅优化利润和利润)。

根据您的描述,这是 OR(运筹学)中的一个经典问题。我认为你甚至不需要“机器学习”本身,只需使用一个求解器来抽象所有细节,这样你就可以专注于根据其约束来制定你的问题。PuLP这样的工具非常易于使用,它带有一个免费的求解器,或者如果您的需求特别强烈并且超出免费求解器,您可以插入Gurobi等商业软件。

如果您更喜欢 R,那么也有很多软件包