优化输入向量以获得最佳结果

时间:2018-09-27 21:04:54

标签: optimization machine-learning mathematical-optimization

我想不出以下问题:如果可以,我想给你举个例子
想象一下,您使用营销数据,并且想出了一个很好的回归模型,可以预测某个广告系列的“覆盖率”。一切都很好。数据科学家工作完成。
可是等等。我们可以做的更多。
我对您的问题是
假设我们有一个好的模型,我们如何优化输入向量(=市场营销活动)以获得最佳的“覆盖率”(=预测变量/要优化的目标)?
我当时像疯了似的搜索,但找不到任何好的方法(我不是在谈论任何hypterparameter优化)。到目前为止,我发现的最佳方法是遗传算法 ...示例herehere
或者-用蛮力方法-用大量可能的输入向量计算一个巨大的网格,然后检查哪一个是最好的(直截了当)-但这将在计算上昂贵。

我很想听听您对此的看法。关于应该检查哪些主题的任何建议?

1 个答案:

答案 0 :(得分:0)

长篇评论:

遗传算法可以嵌套。将您的遗传解决方案查找器置于适应功能中。将其交给父遗传算法。通过从外部GA“优化输入向量”和从内部GA“优化目标”来让他们搜索结果。

您甚至可以添加第三层GA,以测试中间层GA的构造参数,因为我们可能不知道我们需要哪种搜索空间。如果我们知道这一点,那么我们就不需要优化该向量。

您甚至可以通过这种方式减少每个GA的问题范围。

vector:x,y,z

GA1: optimizes x and GA2 parameters
  GA2: optimizes y and GA3 parameters
     GA3: optimizes z
        fitness(x,y,z)
all pass their best fitness to parent

我不确定是否会比

快/慢
GA: optimize x,y,z
    fitness(x,y,z)

因为我不知道GA3的突变是否可以从局部最小值中节省整个优化器。其他版本:

GA1: optimize GA2
   GA2: optimize x,y,z
       fitness(x,y,z)

我不知道它的表现。也许GA可以解决那里应该有多少个嵌套的GA

GA0: optimize N, x0,x1,..xM-N
  GA1: optimize XM-N+1
    GA2: optimize XM-N+2
       ...
           GAM: optimize XM
               fitness(X0,X1,..XM)

但是我想在所有级别上构造/销毁太多的对象会降低性能(与内存带宽有关)和可读性(回调地狱)。