单个样本维度_神经网络单个输入样本的维度一定至少是2维吗?

从题主的描述来看,题主对word embedding、TF-IDF、RNN、SVC、神经网络的原理还不是很了解。这跟TF-IDF和LSTM是在sklearn还是keras里面没有任何关系。建议题主先研究一下这些概念是什么,弄清它们的数学原理,再去调包。

word embedding:用一个一维向量表示一个单词,比如你提到的one-hot,再比如常见的word2vec预训练词向量,每个单词被表示为一个300维的向量。

TF-IDF:是表示一堆word在一堆document(可以是一堆句子)中的频率,或者说重要性(如果我们认为一个单词在一个文本中出现频率越高,而在其他文本出现频率不高,它就越重要的话)。可以把它理解为一种document embedding,它得到的是一个表示一个document的向量,向量的长度是这一堆document中所有出现过的词的个数(当然还可以用PCA等方法去做降维,这就引申出了LSI/LDA这些topic modeling方法了)。通过这些document向量,我们就可以计算document之间的相似度,并在此基础上做document classification、topic clustering之类的有趣的事情了。

RNN,或者说LSTM层:处理的是序列,也就是一系列相同的"东西",这个"东西"可以是一个数字,比如一个月以来每天的最高气温;可以是一个向量,比如一个句子(每个单词都是word embedding得到的一个向量)。前者的序列是一维的,后者序列就是二维的。当然 keras的implementation里,LSTM层的输入张量第一维是batch size,所以前面的例子中,第一个的输入就是一个二维张量(batch size * sequence length),第二个的输入是一个三维张量(batch size * sequence length * word vector size)。

所以,TF-IDF得到的document embedding不应该作为LSTM的输入,而one-hot编码可以,不是因为TF-IDF是在sklearn里而LSTM是在keras里,也不是因为LSTM输入要至少2D数据,而是因为TF-IDF得到的向量根本没有"序列"的含义,它表示的不是有先后顺序的一系列"东西",而是一堆词在一个document里的频率。这个向量每个位置上的数值并没有先后关系,完全只取决于你做TF-IDF之前画document-word矩阵的时候单词的排序。而one-hot编码虽然简单粗暴,但却是对每个单词的embedding,单词之间的序列关系得到了维持。

说得更直白一点,LSTM接受的是一系列embedding。one-hot、word2vec这些是word embedding,那输入LSTM的就应该是一系列word,也就是一个句子。TF-IDF是一种sentence/document embedding,那输入LSTM的就应该是一系列句子,也就是一篇文章;或者一系列有时序性的文章,比如人民日报每天的头版头条。

如果一定要TF-IDF得到的向量作为LSTM输入可不可以呢?也可以。比如,你可以对一篇文章里的所有句子做一个TF-IDF,得到每个句子的embedding。然后由于文章里的句子是有先后顺序的,你就可以把前10句的embedding concatenate到一起,得到一个二维矩阵,这个矩阵的第一维是"序列",第二维是每个句子的向量。这个矩阵就可以输入LSTM了。而输出的,就是包含了这10个句子时序信息的一个新的向量(可以看作是这个句子序列的embedding)。

而题主提到的所谓“使用SVC等分类器完全可以”也不是因为“SVC等分类器”不挑食,而是因为它们不是设计来处理时序数据的。最简单的MLP(也是神经网络的一种)当然也可以接受单个样本一维的数据,就跟“SVC等分类器”一样。其实你要是强行把你的TF-IDF向量喂给LSTM,它也是接受的,只不过,它会认为这是“一系列的scalar”,而不会认为这是“一个一维的vector”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值