在贝叶斯分类中,我们使用的最小单位是一个词 比如 football,lady。 其实一些类别的文章他的主要特征应该是一个词组或者几个单词的组和。我们叫做一个feature
word1 word2 word3
word1 word2 word3
feature1 feature2
以文本分类来说:
现在我们手里边有的数据是:文章-word的矩阵 matrixA(article)
比如
文章A 0 1 2
文章B 1 5 6
文章C 0 8 6
数字表示单词出现的频率
现在我们要找的是:两个矩阵 一个是 weight矩阵,一个是feature矩阵
feature矩阵matrixF
feature1 a1 b1 c1
feature2 a2 b2 c2
weight矩阵 matrixW
文章A a1 a2
文章B b1 b2
文章C c1 c2
weight 矩阵中的元素 可以看作为每个feature的重要程度
feature 矩阵可以看做 在这个feature中的一个word的重要程度
现在要做的事情就是
找到两个非负矩阵 matrixW,matrixF 使得
令 matrixA'= matrixW * matrixF
matrixA = matrixA'
当然完全相等的概率比较小
我们可以是使用一个cost函数 它返回 [matrixA(i,j)-matrixA'(i,j)]**2的和
我们找到一个 这个cost最小的 matrixW ,matrixF也就得到了我们需要的 特征值了
这个方法叫做 no-negative matrix fraction(NMF)非负矩阵分解
寻找最小matrixW和matrixF的过程就是求最小值问题,可以使用
模拟降火,爬山,遗传算法,拉格朗日优化等方法了