【问题标题】:Classification with custom utility function使用自定义效用函数进行分类
【发布时间】:2020-01-24 07:17:18
【问题描述】:

我有一个问题涉及随着时间的推移优化操作:

  • 假设我有一组输入变量X,其中每个X_i_t 都有一个 每个时间点的值t = 0 ... T
  • 对于每个时间点,我想选择一组动作a_t 行动A,
  • 使得效用函数U(a0, ..., a_T) 最大化。

注意,效用函数没有封闭形式的解决方案,它的值取决于整个动作序列a_0 ... a_T

我将如何实现这样的功能?我对可以用来查找相关文献的关键字非常满意。我不需要完整的解决方案。 - 虽然如果有人可以将我指向一个执行此操作的 python sklearn 函数,我绝对不会拒绝......

我的第一个直觉是“逻辑回归”,但无法在时间 a_t 时为操作分配“正确标签”t,因为实用程序取决于时间序列中早晚采取的行动。

【问题讨论】:

    标签: machine-learning artificial-intelligence classification


    【解决方案1】:

    如果您打算将神经网络与 TensorFlow 或 Pytorch 一起使用,那将很容易。只要您可以在框架内表达函数U 并且效用函数合理地接近连续,您就可以将效用反向传播到网络。您只需要求优化器最大化效用即可。

    如果效用函数是离散的,它会变得很棘手,但您可以尝试一些技巧。其中之一是REINFORCE algorithm(蒙特卡洛策略梯度)。另一个非常流行的技巧是Gubmle softmax,它允许对离散动作进行采样并将错误传播到网络。

    如果您打算使用不同的分类器(例如决策森林或其他),您可以尝试基于模仿学习的方法,例如 SEARN algorithim

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 2019-09-23
      • 2022-07-31
      • 2023-03-17
      • 1970-01-01
      • 2019-03-14
      相关资源
      最近更新 更多