如何找到使用CNN在深度学习过程中学到的最重要的功能?

时间:2016-07-08 13:55:29

标签: python tensorflow theano deep-learning

我按照此site给出的教程,详细介绍了如何使用CNN对电影数据集进行文本分类。它利用电影评论数据集来查找预测的正面和负面评论。

我的问题是,有没有办法从模型中找到最重要的学习功能? Tensorflow / Theano对此有任何支持吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

警告:如果您可以将分类追溯到特定的输入功能,那么CNN很可能是您的应用程序的错误ML范例。大多数文本处理使用RNN,词袋,二元组和其他简单的线性组合。

CNN的结构通常与识别个别特征的重要性相对立。由于各种非线性层,很难将任何一个特征选为重要的;相反,输入的组合形成小的推理结构,然后卷积形成更复杂的结构,直到最终输出由一系列邻居关系,截止,汇集和其他项目驱动。

这就是为什么反向传播对于运行CNN非常重要的原因:因果链确实反向干净。否则,我们将过程简化为具有一个隐藏层的简单线性NN。

如果您想分析正在发生的事情,请尝试可视化您的中间层。有各种模块可以帮助解决这个问题;例如,尝试搜索“+ theano + visualize + CNN -news”(最后一个是删除有线电视新闻网的高流量参考)。图像处理中有很多例子;在您尝试之前,我们不知道它对您的文本处理有多大帮助。

相关问题