【发布时间】:2017-04-24 14:50:23
【问题描述】:
我正在尝试根据报告中提到的症状对医疗报告进行分类。我正在做的步骤是
1) 从每份医疗报告中提取症状。
2) 创建一个从所有医疗报告中提取的所有症状的集合,到目前为止的总术语是 3700。
3) 创建一组在这些出院摘要中诊断和提及的所有疾病,到目前为止的总词条为 1500。
4) 现在我遍历所有医疗报告并为每个报告及其诊断创建一个热向量。我有 5000 个文档。
对于症状,我得到一个 5000 X 3700 的矩阵 其中每一行代表一个文档,每一列显示一个症状。如果文档中存在症状,则该列的值为 1,否则该值为 0,即症状为
为了诊断,我得到一个 5000 X 1500 的矩阵
I am using a backward propagating neural network for training. The network has 3700 input neurons, 1 hidden layer and 1500 output neurons.
代码从这里http://jrmeyer.github.io/tutorial/2016/02/01/TensorFlow-Tutorial.html 用于创建分类器。
问题是无论我训练多少(到目前为止我已经尝试了 25000 个 epoch),我得到的结果都很糟糕,
输出具有 160 多个标签的最大概率值 (1),而我期望 5 个标签。
我可能做错了什么,或者我应该做些什么来改善结果。
更新:我也尝试用最少的数据(100 个文档和 85000 个时期)测试网络。
可能导致该问题的一个问题是,从每个文档中,最多可以提取 15 - 20 个术语,因此一个热向量有 20 个 1 和 3680 个 0。有人可以建议这是否是问题所在?
【问题讨论】:
标签: machine-learning tensorflow neural-network gradient-descent multilabel-classification