1. SVD 简介
SVD中文称为“奇异值分解”,是一种矩阵分解方法。其公式如下:
定理:设A为m*n阶复矩阵,则存在m阶矩阵U和n阶矩阵V,使得:
A = U*S*V’ 其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。
其中 A 矩阵是我们初始的特征矩阵,在文本挖掘中:A就是 t (term) 行 d (document) 列的矩阵,每列是一篇文章,每行是一个单词,每个单元格的当前单词在当前文章里的出现次数。 U 是一个 t 行 r 列 的矩阵, V 是一个 r 行 d 列 的矩阵, S 是一个 r 行 r 列的对角矩阵。这里 r 的大小是 A的秩。那么U和V中分别是A的奇异向量,而S是A的奇异值。AA'的正交单位特征向量组成U,特征值组成S'S,A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'。( 关于秩是什么,特征值是什么,这个分解是怎么得到的,可以暂不去管)
注意,这个公式是等号,也就是等号左边完全等价于等号右边。换句话说我们只是把原来的A换了一种表示形式而已,并没有丢失任何信息。就好像 24 = 2 * 3 * 4 一样。 也正是因此,如果 LSI 直接使用 SVD 的话,不仅 r 是不可控的,而且 r 很可能很大以至于起不到降维效果,事实上这样做不仅没降维而且耗费了大量的运算时间。而 SVD 作为一种矩阵分解方法,也并非仅仅用在 LSI 中。Matlab中有直接的svd函数可以使用:[U,S,V] = svd(A)
2. LSI 对 SVD 的使用
LSI 对 SVD 做了一点改变,就是对 S 的 r 个对角线元素进行了排序,并只保留前 k 个值 ( k < r ), 后 r - k 个置零。此时,可以证明等式右边是在最小二乘意义下对等式左边的最佳近似。事实上这个过程是把数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间。
看到这里,我们能得到最重要的启发就是,LSI 是通过舍弃不重要的特征向量来达到降维效果的,而又由于特征向量是根据矩阵运算得出的,因此 LSI 在降维的过程中不仅丢失了信息,而且还改变了信息。降维后的数据集仅仅是对原数据集的一种近似而非等价形式。且降维幅度越大,与原信息的偏离就越大。
3. LSI 的适用性
LSI 本质上是把每个特征映射到了一个更低维的子空间(sub space),所以用来做降维可以说是天造地设。在降维这块土地上还有另一位辛勤的耕耘者那就是TFIDF,TFIDF通过一个简单的公式(两个整数相乘)得到不同单词的重要程度,并取前k个最重要的单词,而丢弃其它单词,这里只有信息的丢失,并没有信息的改变。从执行效率上 TFIDF 远远高于 LSI,不过从效果上(至少在学术界)LSI 要优于TFIDF。
不过必须提醒的是,无论是上述哪一种降维方法,都会造成信息的偏差,进而影响后续分类/聚类的准确率。 降维是希望以可接受的效果损失下,大大提高运行效率和节省内存空间。然而能不降维的时候还是不要降维(比如你只有几千篇文档要处理,那样真的没有必要降维)
2)单词相关度计算
LSI 的结果通过简单变换就能得到不同单词之间的相关度( 0 ~ 1 之间的一个实数),相关度非常高的单词往往拥有相同的含义。不过不要被“潜在语义”的名称所迷惑,所谓的潜在语义只不过是统计意义上的相似,如果想得到同义词还是使用同义词词典靠谱。LSI 得到的近义词的特点是它们不一定是同义词(甚至词性都可能不同),但它们往往出现在同类情景下(比如“魔兽” 和 “dota”)。不过事实上直接使用LSI做单词相关度计算的并不多,一方面在于现在有一些灰常好用的同义词词典,另外相对无监督的学习大家还是更信任有监督的学习(分类)得到的结果。
3)聚类
直接用 LSI 聚类的情景我还没有见过,但使用该系列算法的后续变种 PLSI, LDA 进行聚类的的确有一些。其中LDA聚类还有些道理(因为它本身就假设了潜在topic的联合概率分布),用 LSI 进行聚类其实并不合适。本质上 LSI 在找特征子空间,而聚类方法要找的是实例分组。 LSI 虽然能得到看起来貌似是聚类的结果,但其意义不见得是聚类所想得到的。一个明显的例子就是,对于分布不平均的样本集(比如新闻类的文章有1000篇,而文学类的文章只有10篇), LSI/PLSI 得到的往往是相对平均的结果(A类500篇,B类600篇),这种情况下根本无法得到好的聚类结果。相对传统聚类方法k-means, LSI 系列算法不仅存在信息的偏差(丢失和改变),而且不能处理分布不均的样本集。
对于 LSI/PLSI 来说,聚类的意义不在于文档,而在于单词。所以对于聚类的一种变型用法是,当 k 设的足够大时,LSI/PLSI 能够给出落在不同子空间的单词序列,基本上这些单词之间拥有较为紧密的语义联系。其实这种用法本质上还是在利用降维做单词相关度计算。
数据分析咨询请扫描二维码
CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16在现代企业中,数据分析师扮演着至关重要的角色。他们不仅负责处理和分析大量的数据,还需要将这些分析结果转化为切实可行的商业 ...
2024-12-16在当今的大数据时代,数据分析已经成为推动企业战略的重要组成部分。无论是金融、医疗、零售,还是制造业,各个行业对数据分析的 ...
2024-12-16在当今这个以数据为驱动力的时代,数据分析领域正在迅速扩展与发展。随着大数据、人工智能和机器学习技术的不断进步,数据分析已 ...
2024-12-16在信息爆炸和数据驱动的时代,数据分析专业是否值得一选成为许多人思考的议题。无论是刚刚迈入大学校门的新生,还是考虑职业转型 ...
2024-12-16适合数据分析专业学生的实习岗位有很多,以下是一些推荐: 阿里巴巴数据分析岗位实习:适合经济、统计学、数学及计算机专业的 ...
2024-12-16在数据科学领域,探索实习机会是一个理想的学习和成长方式。实习不仅可以提供宝贵的实践经验,还能帮助学生发展关键的数据分析技 ...
2024-12-16在当今信息驱动的时代,数据分析不仅成为了企业决策的重要一环,还催生了各种职业机会。从技术到业务,数据分析专业的就业岗位种 ...
2024-12-16在现代企业中,数据分析师被誉为“数据探险家”,他们通过揭示隐藏在数据背后的故事,帮助公司优化业务策略和做出明智的决策。然 ...
2024-12-16在大数据崛起的时代,数据分析师被誉为企业的“幕后英雄”。他们通过解读数据,揭示隐藏的真相,为企业战略提供重要的指导。这份 ...
2024-12-16在这个信息大爆炸的时代,数据分析师成为了企业中的“福尔摩斯”,他们能够从庞杂的数据中提取关键洞察,为业务发展提供坚实支持 ...
2024-12-16在这个数据为王的现代社会,数据分析师如同企业的导航员,洞悉数据背后所隐藏的商业机会和战略优势。然而,成为一名优秀的数据分 ...
2024-12-16