机器学习 主成分分析及奇异值分解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A u1 1v 1 u2 2v 2 u r rv r ,1 k r
-5-
五、奇异值分解(SVD)与主成分分析(PCA)的关系
PCA 的全部工作简单点说,就是对原始的空间中顺序地找一组相互正交的坐 标轴, 第一个轴是使得方差最大的,第二个轴是在与第一个轴正交的平面中使得 方差最大的,第三个轴是在与第 1、2 个轴正交的平面中方差最大的,这样假设 在 N 维空间中, 我们可以找到 N 个这样的坐标轴, 我们取前 r 个去近似这个空间, 这样就从一个 N 维的空间压缩到 r 维的空间了,但是我们选择的 r 个坐标轴能够 使得空间的压缩使得数据的损失最小。 还是假设我们矩阵每一行表示一个样本,每一列表示一个 feature,用矩阵 的语言来表示, 将一个 m*n 的矩阵 A 的进行坐标轴的变化,P 就是一个变换的矩 阵从一个 N 维的空间变换到另一个 N 维的空间,在空间中就会进行一些类似于 旋转、拉伸的变化。
大者。
F1、F2、 F( 为构造的新变量指标, 即原变量指标的第一、 第二、 ……、 m m p)
第 m 个主成分。 由以上分析可见, 主成分分析法的关键就是确定原来变量 X j ( j 1, 2, p ) 在 诸主成分 F j (i 1, 2, m) 上的荷载 aij (i 1, 2, m; j 1, 2, p ) 。从数学上可以证 明, 原变量协方差矩阵的特征根是主成分的方差, 所以前 m 个较大特征根就代表 前 m 个较大的主成分方差值;原变量协方差矩阵前 m 个较大的特征值 i (这样 取才能保证主成分的方差依次最大) 所对应的特征向量就是相应原变量在主成分
机 器 学 习 期 末 报 告
成员:白子轩,安勇正,李文涛,王琳 时间:2016 年 4 月 9 日
-1-
主成分分析(PCA)与奇异值分解(SVD)原理及其应用
一、导论
在实际问题研究中,多变量问题是经常会遇到的。变量太多,无疑会增加分 析问题的难度与复杂性, 而且在许多实际问题中,多个变量之间是具有一定的相 关关系的。 为了解决这些问题,最简单和最直接的解决方案是削减变量的个数,但这必 然又会导致信息丢失和信息不完整等问题的产生。为此,人们希望探索一种更为 有效的解决方法, 它既能大大减少参与数据建模的变量个数,同时也不会造成信 息的大量丢失。 主成分分析正式这样一种能够有效降低变量维数,并已得到广泛 应用的分析方法。
Amn Pnn A m n
而将一个 m*n 的矩阵 A 变换成一个 m*r 的矩阵,这样就会使得本来有 n 个 feature 的,变成了有 r 个 feature 了( r n ),这 r 个其实就是对 n 个 feature 的一种提炼,我们就把这个称为 feature 的压缩。用数学语言表示就是:
奇异值分解提供了一些关于 A 的信息,例如非零奇异值的数目( S 的阶数) 和 A 的秩相同, 一旦秩 r 确定, 那么 U 的前 r 列构成了 A 的列向量空间的正交基, 另外 V 的从右向左 n r 列为 A 的 kernel 的基。 由 A 的奇异值分解
A U V T u1 1v 1 u 2 2v 2 u r rv r
当累积贡献率大于 85%时,就认为能足够反映原来变量的信息了,对应的 m 就是抽取的前 m 个主成分。 (4)计算主成分得分 计算样品在 m 个主成分上的得分:
Fi a1i X 1 a2i X 2 ... a pi X p i 1, 2, , m
实际应用时, 指标的量纲往往不同,所以在主成分计算之前应先消除量纲的 影响。消除数据的量纲有很多方法,常用方法是将原始数据标准化,即做如下数 据变换:
* xij
xij x j sj
i 1, 2,..., n; j 1, 2,..., p
其中: x j
1 n 1 n xij , s 2 ( xij x j ) 2 j n i 1 n 1 i 1
根据数学公式知道, ①任何随机变量对其作标准化变换后,其协方差与其相 关系数是一回事, 即标准化后的变量协方差矩阵就是其相关系数矩阵。②另一方 面, 根据协方差的公式可以推得标准化后的协方差就是原变量的相关系数, 亦即, 标准化后的变量的协方差矩阵就是原变量的相关系数矩阵。也就是说,在标准化 前后变量的相关系数矩阵不变化。
-2-
关的 X 1 , X 2 , X 3 , X p 的所有线性组合中方差最大的,故称 F2 为第二主成分,依
Fm 为原变量指标 X 1 , X 2 , X 3 , X p 第一、第二、……、 此类推构造出的 F1、F2、
第 m 个主成分。
F1 a11 X 1 a12 X 2 ... a1 p X p F a X a X ... a X 2 21 1 22 2 2p p ...... Fm am1 X 1 am 2 X 2 ... amp X p
六、利用主成分分析(PCA)进行降维
9 个学生各科成绩如下,
能不能把数据的六个变量用几个综合变量表示? 这几个综合变量包含原来多少信息呢?
-7-
我们现在用主成分分析法求解,得到如下结果:
结果分析: 如用 x1,x2,x3,x4,x5,x6 分别表示原先的六个变量, 而用 y1,y2,y3,y4,y5,y6 表示 新的主成分,那么,第一和第二主成分为
Prm Amn A r n
这样就从一个 m 行的矩阵压缩到一个 r 行的矩阵了, 对 SVD 来说也是一样的, 我们对 SVD 分解的式子两边乘以 U 的转置 U '
U rmT Amn rr VrT n
这样我们就得到了对行进行压缩的式子。可以看出,其实 PCA 几乎可以说是 对 SVD 的一个包装,如果我们实现了 SVD,那也就实现了 PCA 了,而且更好的地 方是,有了 SVD,我们就可以得到两个方向的 PCA,如果我们对 A ' A 进行特征值 的分解,只能得到一个方向的 PCA。
四、奇异值分解(SVD)
-4-
定义:设 A 为 m*n 阶矩阵, AH A 的 n 个特征值的非负平方根叫作 A 的奇异值,记 为 i ( A) 。如果把 AH A 的特征值记为 i ( A) ,则 i ( A) i 2 ( A H A) 。 定理(奇异值分解)设 A 为 m*n 阶复矩阵,则存在 m 阶酉阵 U 和 n 阶酉阵 V ,使 得:
Fi ai ' X
主成分的方差(Baidu Nhomakorabea息)贡献率用来反映信息量的大小, i 为:
i i / i
i 1 m
(3)选择主成分
Fm 中 m 的确定是通过方差(信息)累 最终要选择几个主成分,即 F1、F2、
计贡献率 G (m) 来确定
G (m) i / k
i 1 k 1 m p
二、主成分分析(PCA)
主成分分析是数学上对数据降维的一种方法。 其基本思想是设法将原来众多 的具有一定相关性的指标 X 1 , X 2 , X 3 , X p (比如 p 个指标),重新组合成一组较 少个数的互不相关的综合指标 Fm 来代替原来指标。那么综合指标应该如何去提 取,使其既能最大程度的反映原变量 X 所代表的信息,又能保证新指标之间保 持相互无关(信息不重叠)。 设 F1 表 示 原 变 量 的 第 一 个 线 性 组 合 所 形 成 的 主 成 分 指 标 , 即
Fi 上的载荷 ai , 为了加以限制, 载荷系数 ai 启用的是 i 对应的单位化的特征向量,
即有 ai ' ai =1。
三、主成分分析法的计算步骤
主成分分析的具体步骤如下: (1)计算协方差矩阵 计算样品数据的协方差矩阵: ( sij ) p p ,其中
sij 1 n ( xki xi )( xkj x j ) n 1 k 1
Amn Pnr A m r
但是这个怎么和 SVD 扯上关系呢?之前谈到,SVD 得出的奇异向量也是从奇 异值由大到小排列的, 按 PCA 的观点来看,就是方差最大的坐标轴就是第一个奇 异向量,方差次大的坐标轴就是第二个奇异向量…我们回忆一下之前得到的 SVD 式子:
Amn U mr r r VrT n
-3-
i,j=1,2,…,p
(2)求出Σ的特征值 i 及相应的正交化单位特征向量 ai Σ的前 m 个较大的特征值 1 2 m 0 ,就是前 m 个主成分对应的方 差,i 对应的单位特征向量 ai 就是原来变量在主成分 Fi 上的载荷系数, 则原变量 的第 i 个主成分 Fi 为:
X 1 , X 2 , X 3 , X p 的所有线性组合中方差最大的, 故称 F1 为第一主成分。 如果第一
主成分不足以代表原来 p 个指标的信息,再考虑选取第二个主成分指标 F2 ,为 有效地反映原信息, F1 已有的信息就不需要再出现在 F2 中,即 F2 与 F1 要保持独 立、不相关,用数学语言表达就是其协方差 Cov ( F1 , F2 ) 0 ,所以 F2 是与 F1 不相
在矩阵的两边同时乘上一个矩阵 V ,由于 V 是一个正交的矩阵,所以 V 转置 乘以 V 得到单位阵 I ,所以可以化成后面的式子
AmnVr n U mr r r VrT nVr n AmnVr n U mr r r
-6-
将后面的式子与 A P 那个 m* n 的矩阵变换为 m * r 的矩阵的式子对照看看, 在这里,其实 V 就是 P ,也就是一个变化的向量。这里是将一个 m*n 的矩阵压缩 到一个 m*r 的矩阵,也就是对列进行压缩,如果我们想对行进行压缩(在 PCA 的观点下,对行进行压缩可以理解为,将一些相似的 sample 合并在一起,或者 将一些没有太大价值的 sample 去掉)怎么办呢?同样我们写出一个通用的行压 缩例子:
A U * S *V '
1
其中 S diag ( 1 , 2 , r ), i 0(i 1, r ), r rank ( A) 。 推论:设 A 为 m*n 阶实矩阵,则存在 m 阶正交阵 U 和 n 阶正交阵 V ,使得
A U * S *V ' ,其中 S diag ( 1 , 2 , r ), i 0(i 1, r ), r rank ( A) 。 Amn U mm mn VnT n
根据以上分析得知: (1) Fi 与 Fj 互不相关, 即 Cov ( Fi , F j ) 0 ,并有 Var ( Fi ) ai ' ai , 其中Σ为 X 的 协方差阵 (2) F1 是 X 1 , X 2 , X 3 , X p 的一切线性组合(系数满足上述要求)中方差最大
Fm-1 都不相关的 X 1 , X 2 , X 3 , X p 的所有线性组合中方差最 的,即 Fm 是与 F1、F2、
可见, A 是矩阵 u1v 1 , u2 v 2 , , u rv r 的加权和,其中 1 , 2 , r 是权重。若将奇异 值按递减顺序排列
1 2 r 0
显然,奇异值大的项对矩阵 A 的贡献大。因此,当舍去了权重小的部分项后仍然 能够较好地“逼近” A ,这一特性常被用来压缩图像。 矩阵 A 的秩 k 逼近定义为
F1 a11 X 1 a21 X 2 ... a p1 X p
,由数学知识可知,每一个主成分所提取的信息量可
用其方差来度量,其方差 Var ( F1 ) 越大,表示 F1 包含的信息越多。常常希望第一 主 成 分 F1 所 含 的 信 息 量 最 大 , 因 此 在 所 有 的 线 性 组 合 中 选 取 的 F1 应 该 是
相关文档
最新文档