首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算具有预测长度的列表?(从另一个模型中使用`k‘s数组的`tensorflow.nn.top_k`)

如何计算具有预测长度的列表?(从另一个模型中使用`k‘s数组的`tensorflow.nn.top_k`)
EN

Stack Overflow用户
提问于 2015-12-13 03:25:51
回答 1查看 278关注 0票数 1

我正试图预测给病人服用的药物。对于每一种药物,我都有一列预测(通过softmax),表示病人得到这种药物的可能性。

但很明显,人们可以一次得到几种药物,所以我有另一个模型,试图预测不同药物的数量。

我想在一个TensorFlow调用中对它们进行评估(我目前有一堆缓慢的NumPy攻击),但是我不能向tensorflow.nn.top_k传递一个k的数组(每个病人一个,即行),只有一个固定的整数--因为不同的病人将得到不同的药物数量,这是行不通的。

最终,我试图在实际处方的药物指标和预测的指标之间进行tensorflow.list_diff。然后也许是它的tensorflow.size

代码语言:javascript
运行
复制
tensorflow.list_diff(
    tensorflow.where(  # get indices of medications
            tensorflow.equal(medication_correct_answers, 1)  # convert 1 to True
    ),
    tensorflow.nn.top_k(  # get most likely medications
            medication_soft_max,  # medication model
            tensorflow.argmax(count_soft_max, 1)  # predicted count
    )[1]  # second element are the indices
)[:, 0]  # get unmatched medications elements

额外的问题:是否有可能直接训练一个模型,而不是两个独立的交叉熵?在我看来,这并不是真正的可有可无的--或者仅仅是底层的软基需要可资区分吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-14 16:59:29

预测列表的长度确实是不可微的。您需要向预测列表长度的模型中添加一个额外的softmax输出,或者添加多个sigmoid输出来预测应该包括哪些条目。

我写了一篇关于从图像中转录可变长度文本序列的论文,附录中详细介绍了数学如何工作的一个示例:http://arxiv.org/abs/1312.6082

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34247661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档