Keras——词向量与CNN介绍

词向量:

GloVe词向量:2014年的英文维基百科上训练。400k词,每个词用100维向量表示。

数据集:

20种新闻文本数据。

建模步骤:

1.把新闻样本转化为词索引序列。

词索引:每个词依次分配一个ID,只保留最常见的词(设置vocabulary_size)。

2.生成一个词向量矩阵。第i行表示词索引为i的词的词向量。

3.将词向量矩阵载入Keras Embedding层。设置该层的权重不可在训练(把数据转成系数向量)https://www.zhihu.com/question/344209738

4.Kearas Embedding层之后连接一个1D的卷积层。用softmax全连接输出新闻类别。(特征抽取)https://www.jianshu.com/p/88bb976ccbd9

代码见:

https://github.com/keras-team/keras/blob/master/examples/pretrained_word_embeddings.py

CNN原理讲解---------------李宏毅:

举例:判断一张图中鸟是否有鸟嘴,猫咪是否有胡须,其实是根据区域的信息来判断(pattern),而不是根据一个完整的图像判断。

1、只需要选取这张图的一小部分来判断,从而减少参数。  (Convolution)

2、同样的pattern可能分布在不同的位置,但处理方法都相同    (Convolution)

3、缩小图片并不会影响物体的整体形状。 (Max-pooling)

(滤波器)Filter 是一个矩阵,他们的值是神经网络需要学的参数。

之后我们在图片上选取一个一个窗口,让他们与Filter做内积,直到所有窗口选完,最后又得到一个矩阵叫做Feature Map

 把Feature Map(输出层)的每一个位置的值对应于窗口(全连接层),最后输出预测概率。

posted @ 2020-09-29 22:36  猫七的blog  阅读(281)  评论(0)    收藏  举报