Machine learning 哪种机器学习算法可以评估组的最佳组合?

Machine learning 哪种机器学习算法可以评估组的最佳组合?,machine-learning,amazon-machine-learning,Machine Learning,Amazon Machine Learning,下面是问题的简化版本: 你有一个由五名战士组成的团队。每个战士拥有1到10件物品,每个人可以携带1件物品参加战斗。给定战斗信息(地形类型、一天中的时间等),每个战士应该选择哪种武器来产生最强的团队 物品可以是弓、盾、剑、弹射器、医疗包、马等。地形类型可以是山地、平原、沼泽、雪地等 请注意,这些规则不容易编纂,因为它们是基于物品和地形条件之间的协同作用:例如,“剑”是一种好武器,“弓”是一种好武器,但五个带剑的战士或五个带弓的战士比两个带弓的战士和三个带剑的战士差,因为五个带剑的战士在没有掩护的情

下面是问题的简化版本:

你有一个由五名战士组成的团队。每个战士拥有1到10件物品,每个人可以携带1件物品参加战斗。给定战斗信息(地形类型、一天中的时间等),每个战士应该选择哪种武器来产生最强的团队

物品可以是弓、盾、剑、弹射器、医疗包、马等。地形类型可以是山地、平原、沼泽、雪地等

请注意,这些规则不容易编纂,因为它们是基于物品和地形条件之间的协同作用:例如,“剑”是一种好武器,“弓”是一种好武器,但五个带剑的战士或五个带弓的战士比两个带弓的战士和三个带剑的战士差,因为五个带剑的战士在没有掩护的情况下很容易受到远程攻击,而五个带弓的战士在盾牌的保护下变得毫无用处。也有复杂的地形条件,例如,如果地形很难穿越,或者如果你在山顶上,弓箭会更好。一匹马在平坦的地形上会很好,但是如果一个人有一匹马,而其他人没有武器,那么这匹马就没用了

我最天真的解决方案是(a)训练一个机器学习回归算法,以地形信息和一组5个项目组合作为输入,并产生一个值,越高越好,然后(b)产生所有项目组合输入,将每个项目输入算法,并选择最高值。然而,随着组合数学的爆炸,这种方法的成本越来越高


有没有更好的算法来表达“考虑到所有这些可能性,选择最佳组合”?如果可以在亚马逊的机器学习堆栈上使用,则可获得额外积分。

这不是机器学习问题。这是一个搜索/优化问题,因此没有最佳的“机器学习”算法。 见:


考虑到您已经有了一种廉价的方法来模拟给定地形和组合的战斗,您在天真的方法中提到的问题是,测试所有组合的成本太高,只是不要!有许多搜索算法将试图删减您的搜索空间(请参阅)。一种易于实现的技术非常适合您的情况(这正是一个典型的例子)是使用遗传算法,其中您的基因型是战士的组成部分。有很多GA库,我打赌你可以导入AWS。

欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。在这里申请。StackOverflow不是设计、编码、研究或教程服务。这个问题在“过于宽泛”和“要求非现场资源”之间徘徊。@Prune-point提到了非现场资源,但您能帮助我理解这是如何过于宽泛的,以及如果是这样,我如何解决它吗?我认为这个问题非常具体:给定这个特定的问题和输入,什么机器学习算法接受这个输入并产生我定义的输出。堆栈溢出是针对特定的编程问题的。这是一个设计问题,更适合于在更一般的层面上工作的团队。交叉验证或统计可能是合适的选择。另外请注意,到目前为止,没有其他人对您的问题发表评论或投票,所以我们谈论的是我个人的意见,而不是压倒性的授权。:-)