我按照此site给出的教程,详细介绍了如何使用CNN对电影数据集进行文本分类。它利用电影评论数据集来查找预测的正面和负面评论。
我的问题是,有没有办法从模型中找到最重要的学习功能? Tensorflow / Theano对此有任何支持吗?
谢谢!
答案 0 :(得分:1)
警告:如果您可以将分类追溯到特定的输入功能,那么CNN很可能是您的应用程序的错误ML范例。大多数文本处理使用RNN,词袋,二元组和其他简单的线性组合。
CNN的结构通常与识别个别特征的重要性相对立。由于各种非线性层,很难将任何一个特征选为重要的;相反,输入的组合形成小的推理结构,然后卷积形成更复杂的结构,直到最终输出由一系列邻居关系,截止,汇集和其他项目驱动。
这就是为什么反向传播对于运行CNN非常重要的原因:因果链确实不反向干净。否则,我们将过程简化为具有一个隐藏层的简单线性NN。
如果您想分析正在发生的事情,请尝试可视化您的中间层。有各种模块可以帮助解决这个问题;例如,尝试搜索“+ theano + visualize + CNN -news”(最后一个是删除有线电视新闻网的高流量参考)。图像处理中有很多例子;在您尝试之前,我们不知道它对您的文本处理有多大帮助。