0

我想根据报告中提到的症状对医疗报告进行分类。我正在做的步骤是神经网络性能优化

1)从每个医疗报告中提取症状。

2)创建一组从所有医疗报告中提取的所有症状,总而言到目前为止是3700

3)创建一组诊断和在这些放电摘要中提到的所有的疾病,总而言到目前为止是1500.

4)现在我遍历所有的医疗报告,并为每个报告和它的诊断创建一个热矢量。我有5000个文件。

对于症状,我得到一个矩阵5000 X 3700 其中每行代表一个文档,每列显示一个症状。如果症状是本文档中,该列的值为1,否则其值为为零的症状是

enter image description here

对于诊断,我得到的5000 X 1500

enter image description here一个矩阵

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个时期),我变得很糟糕的结果,

输出有160多个标签,而最大概率值(1)我期待着5个标签。

有什么我可能做错了,或者我该怎么做才能改善结果。

更新:我试图用最少的数据(100个文档和85000个时代)来测试网络。

可能导致问题的一个问题是,从每个文档中,最多提取15-20个术语,所以一个热矢量有二十个1和3680个0。有人可以建议,如果这可能是问题吗?

回答

1

没有足够的细节来理解你的问题和实现 ,但是一个好的起点将帮助你理解你是否有更多的技术问题(错误,网络架构等)或数据问题是创建你知道应该适合你的模型的合成数据(假的一些疾病,每个都有一系列的症状)

如果模型没有给出所需的结果,这可能是一个技术问题。如果是这样,它更可能是一个数据问题:也许你的数据太嘈杂,或者底层模型更复杂,或者你没有足够的数据。

+0

感谢您的性反应,其实我已经与1000个文档定制的数据测试。另外我也更新了这个问题。 – Shahzeb

+0

你可以添加你的网络结构吗? –

+0

我已经使用了本教程中的代码http://jrmeyer.github.io/tutorial/2016/02/01/TensorFlow-Tutorial.html唯一的chage是我使用多个标签而不是2个标签。 – Shahzeb

0

这里有几件事情,你可以尝试(尽管这并不能保证提高性能):

  1. 情节学习曲线来决定最佳的学习率,L2等处罚
  2. 生成合成数据
  3. 增加深度网络的