TF-IDF & CNN


TF-IDF
----------------------------------------------------------------
认为一个单词出现的文本频率越小,它区别不同类别的能力就越大,所以引入了逆文本频度 IDF 的概念:以 TF 和 IDF 的乘积作为特征空间坐标系的取值测度。

Wi 表示第 i 个特征词的权重,TFi(t,d) 表示词 t 在文档 d 中的出现频率,N 表示总的文档数,DF(t) 表示包含 t 的文档数。用 TF-IDF 算法来计算特征词的权重值是表示当一个词在这篇文档中出现的频率越高,同时在其他文档中出现的次数越少,则表明该词对于表示这篇文档的区分能力越强,所以其权重值就应该越大。

将所有词的权值排序,根据需要可以有两种选择方式:
选择权值最大的某一固定数 n 个关键词
选择权值大于某一阈值的关键词
达观数据的实践经验是,计算机选择的关键词数量在 10∽15 个,人工选择的关键词数量在 4∽6 个比较合适,通常具有最好的覆盖度和专指度。

另外考虑到单词区别不同类别的能力,TFIDF 法认为一个单词出现的文本频数越小,它区别不同类别文本的能力就越大。因此引入了逆文本频度 IDF 的概念,以 TF 和 IDF 的乘积作为特征空间坐标系的取值测度,并用它完成对权值 TF 的调整,调整权值的目的在于突出重要单词,抑制次要单词。但是在本质上 IDF 是一种试图抑制噪音的加权,并且单纯地认为文本频数小的单词就越重要,文本频数大的单词就越无用,显然这并不是完全正确的。IDF 的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以TF*IDF 法的精度并不是很高。

文档频数 (Document Frequency, DF) 是最为简单的一种特征选择算法,它指的是在整个数据集中有多少个文本包含这个单词。但如果某一稀有词条主要出现在某类训练集中,却能很好地反映类别的特征,而因低于某个设定的阈值而滤除掉,包含着重要的判断信息被舍弃,这样就会对分类精度有一定的影响。

在提取文本特征时,应首先考虑剔除这些对文本分类没有用处的虚词,而在实词中,又以名词和动词对于文本的类别特性的表现力最强,所以可以只提取文本中的名词和动词作为文本的一级特征词。

根据统计,二字词汇多是常用词,不适合作为关键词,因此对实际得到的二字关键词可以做出限制。比如,抽取 5 个关键词,本文最多允许 3 个二字关键词存在。


CNN卷积神经网络
----------------------------------------------------------------
·特征 & 卷积运算
拿图片举例。
几张图片都画了X这个字母,不过,每个图片X的样子不一样,但是,他们都被定义为X。
他们总会有几个相同的特征,如某几段线条相识。而这几个相识的线条,就说是几个特征(feature)。
经过卷积运算,每一个feature从原始图像中提取出来“特征”,得到feature map(特征图。是均值填入一张新的图。)
feature map其中的值,越接近为1表示对应位置和feature的匹配越完整,越是接近-1,表示对应位置和feature的反面匹配越完整,而值接近0的表示对应位置没有任何匹配或者说没有什么关联。
对这张X图来说,我们用的是3个feature,因此最终产生3个 feature map。

·非线性激活层
用非线性激活函数作用后,feature map里的值<0的值全部设为0。

·pooling池化层
为了缩小特征图的数据量。
池化分为两种,Max Pooling 最大池化、Average Pooling平均池化。顾名思义,最大池化就是取最大值,平均池化就是取平均值。
因为最大池化保留了每一个小块内的最大值,所以它相当于保留了这一块最佳匹配结果(因为值越接近1表示匹配越好)。
CNN能够发现图像中是否具有某种特征。这也就能够帮助解决之前提到的计算机逐一像素匹配的死板做法。

·全连接层
全连接层要做的,就是对之前的所有操作进行一个总结,给我们一个最终的结果。它最大的目的是对特征图进行维度上的改变,来得到每个分类类别对应的概率值。

卷积层采用的是“局部连接”的思想。
那除窗口之外的、未连接的部分怎么办呢? 我们都知道,采用的是将窗口滑动起来的方法后续进行连接。这个方法的思想就是“参数共享” ,参数指的就是filter,用滑动窗口的方式,将这个filter值共享给原图中的每一块区域连接进行卷积运算。

还是回来看接下来的操作,得到了2X2的特征图后,对其应用全连接网络,再全连接层中有一个非常重要的函数----Softmax,它是一个分类函数,输出的是每个对应类别的概率值。比如:
【0.5,0.03,0.89,0.97,0.42,0.15】就表示有6个类别,并且属于第四个类别的概率值0.89最大,因此判定属于第四个类别。
因此直接将三个特征图改变维度直接变成一维的数据。一维数据也就是概率值。

·神经网络的训练与优化
训练的就是那些卷积核(filter)。
BP算法---BackProp反向传播算法,进行大量数据的训练。

在训练时,我们采用的训练数据一般都是带有标签label的图片。如果图片中的字母是X,则label=x,如果图片中的字母是A,则label=A。 标签能直观地反映图片。

在最开始,训练前,我们定义一个大小为3X3的卷积核,那么里面具体的值是多少,我们都不知道,但又不能为0吧,所以就用随机初始化法来进行赋值。刚开始有误差。训练的终极目的就是使得这个误差最小,常用的方法是 梯度下降法。

猜你喜欢

转载自www.cnblogs.com/luckcs/p/11237628.html