用ML求解多变量优化问题从哪里入手?

问题描述 投票:0回答:1

我想找一个地方开始用ML解决一个优化问题。

比如说我有一大堆砖头,我需要从这堆砖头中挑出50块砖头来排列成一面墙。我的砖头都是不同的类型:有些砖头比其他砖头更结实,有些砖头更重,所以每次选择一组砖头时,我都需要做一个(相对缓慢的)结构计算,以确保墙不会倒塌。我的砖堆里有太多的砖,不可能用蛮力去尝试每一种排列方式,所以我想用ML来帮助我找到有可能成功的砖的排列方式,因为我之前有几百套砖,我知道它们是可以的。

还有一些墙面需要满足的主观标准--如果我的绿砖太多,可能看起来会很丑。我很清楚哪些标准是被主观看待的(例如,我知道建筑师关心绿砖的数量),但我想用以前的数据来训练一个ML模型,以知道给这些标准赋予什么样的权重,因为我没有任何硬性限制绿砖的数量是太多了--我只是有一个数据集,显示建筑师不喜欢过去一些有很多绿砖的墙。

这个问题ML能帮我解决吗?我应该研究什么框架模型来解决这种问题?我很难归零,不知道从哪里入手!

machine-learning neural-network artificial-intelligence
1个回答
1
投票

答案有点取决于你是否需要帮助想出(生成)新奇的组合,或者你是否想了解影响成功接受可能性的变量。

如果是后者,你可以将其作为一个分类任务来处理。从你的描述中,你可能会想出一些特征来描述你测试的砖块集,如:绿砖的数量,砖块的总重量,砖块的平均重量,砖块底排的重量。

然后你会有一个表格,每一行都是砖块的配置,每一列都是上面生成的特征。您有一个额外的目标列,它将是true-false,取决于配置是否成功。

+---------+------------+-------------+---------------+----------------+
| n_green | weight_sum | weight_mean | weight_br_sum | target_success |
+---------+------------+-------------+---------------+----------------+
|      10 |        102 |         0.6 |            15 | true           |
|       2 |         60 |         0.5 |            30 | false          |
|      40 |        250 |         1.1 |            15 | true           |
+---------+------------+-------------+---------------+----------------+

您可以使用线性模型(如 Logistic回归),其中X是n_green:target_success列的值数组,y是目标列。然后,您可以查看拟合模型的系数,以了解哪些特征对成功率的影响最大(尽管您应 先扩展你的功能).

然后,您可以生成新的组合,并通过拟合模型运行它们,以获得成功的概率。

如果砖块的排列配置很重要,你可能想研究神经网络,特别是卷积神经网络(美国有线电视新闻网). 你必须使用一个像 ELI5形状 来调查特征的重要性。

如果是前者,你应该调查 GANs.

© www.soinside.com 2019 - 2024. All rights reserved.