【读书笔记】数学之美2--分类问题

14.余弦定理与新闻的分类

14.1 新闻的特征向量

新闻是传递信息的,而词是信息的载体,新闻的信息和词的语义是练习在一起的。而新闻中的词的权重值都有所不同,所以新闻的特征向量可以这样计算:对于一篇新闻的所有实词,计算出它们的TF-IDF值;把这些值按词汇表顺序排列,就得到一个向量。

14.2 向量距离的度量

两个向量是否相似,可以用两向量之间的余弦值来衡量:

\mathbf{cosA=\frac{<b,c>}{|b|\cdot |c|}}      (14.1)

\mathbf{cos\theta = \frac{x_{1}y_{1}+x_{2}y_{2}+\cdot \cdot \cdot +x_{64000}y_{64000}}{\sqrt{x_{1}^{2}+x_{2}^{2}+\cdot \cdot \cdot +x_{64000}^{2}}\cdot \sqrt{y_{1}^{2}+y_{2}^{2}+\cdot \cdot \cdot +y_{64000}^{2}}}}      (14.2)

余弦值越近于1,两条新闻约相似;越近于0,越不相关。

然后在此基础上讨论新闻的分类算法

  1. 已知一些新闻类别的特征向量,可直接求余弦值分类;
  2. 对于没有这些类别的特征向量,则就要用到聚类算法了,用无监督学习让它们自行聚合分类(Kmeans、KNN等等)

14.3 计算向量余弦的技巧

14.3.1 大数据量时的余弦计算

由于计算余弦的计算量很大,再加之需要两两比较,多次迭代,其计算量十分之大,所以需要简化计算。

  1. 式(14.1)的分母部分不需要重复计算,可以算好之后存储起来;
  2. 在计算式(14.1)中的分子即两个向量内积时,只需考虑向量中的非零元素,因为一篇文章的词汇量其实并不多;
  3. 删除虚词,如“的”、“因为”等等。

虚词其实就是一种噪音,删除虚词与通信中过滤低频噪音是同样的原理。

14.3.2 位置的加权

显然,出现在标题中的词对主题的贡献远比出现在新闻正文中的重要;正文中,出现在文章开头和结尾的词也比中间的重要。所以可以对标题和重要位置的词进行额外的加权,以提高文本分类的准确性。

15.矩阵计算和文本处理总的两个分类问题

一次就能把所有新闻相关性计算出来。这个一步到位的办法利用的是矩阵运算中的奇异值分解(SVD)。

把上面一个大矩阵,分解成三个小矩阵相乘。相应的存储量好计算量都会小很多。

如何进行奇异值分解:矩阵的特征值、以及数值分析的各种算法等等。

奇异值分解的定义:

\mathbf{A_{MN}=X_{MM}\times B_{MN}\times Y_{NN}}      (15.1)

文本分类中,M对应文本的数量,N对应词典大小。

奇异值分解一般分两步进行:

  1. 将矩阵A变换成一个双对角矩阵(除了两行对角线元素非零,剩下的都是零),这个过程的计算量是O(MN2),可用矩阵A的稀疏性大大缩短计算时间;
  2. 将双对角矩阵编程奇异值分解的三个矩阵,计算量微乎其微。

奇异值分解的分类结果比较粗糙,适合处理超大规模文本的粗分类。所以在实际应用中,可用先进行奇异值分解,得到粗分类结果,再利用计算向量余弦的方法,进行几次迭代,得到比较精确的结果。

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_29567851/article/details/83650274
今日推荐