当前位置:优学网  >  在线题库

如何使用机器学习计算权重?

发表时间:2022-07-30 00:52:16 阅读:169

假设有烹饪比赛.代理人将评估一些菜肴并选择最好的一道,每道菜分为几个方面(例如:外观、味道等).

每个dishs在不同方面的得分是已知的(例如:味道20分,外观15分),但代理在这些方面的权重未知,权重增加到100%(例如:假设只有两个方面,代理可能有60%的味道和40%的外观).这道菜的最终得分是各方面得分与其重量乘积的总和.因此,这道菜的分数将为20 x 60%+15 x 40%=18.每场比赛将有几道菜,得分最高者获胜.

现在的问题是,如果我们知道每道菜的得分,但我们从经纪人那里得到的只是获胜的菜.如果我们多次运行此竞争,我们可以使用强化学习来找出此代理的每个方面的权重吗?或者一般来说,我们如何解决这个问题?

🎖️ 优质答案
  • 你应该能够很容易地将其编码到你的损失函数中.假设你有3个特征:`味道8215;,8215;外观8215;,质地.模型的输出将是一个由3个值组成的数组.由于您在训练期间具有每个特征的等级,因此可以定义三个损失函数(这称为多任务学习).

    loss_taste = square_error(0.20 * model_output[0], ground_truth_taste)
    loss_appearance = square_error(0.15 * model_output[1], ground_truth_appearance)
    loss_texture = square_error(0.65 * model_output[2], ground_truth_texture)
    
    loss = loss_taste + loss_appearance + loss_texture
    

    您的最终损失函数(您针对其进行训练)是三个加权个人损失函数的总和.现在,您的模型经过训练,可以分别输出"味道"、"外观"和"纹理"的各个特征,并且可以正确预测每个特征.

    有更简洁的方法来构造上面的代码,但我给了你一个更长的版本来阐明这一点.此外,我意识到你可能会使用平方误差以外的东西,这没有什么特别值得注意的,这只是一个尖锐的例子.

  • 相关问题