李航老师《统计学习方法》第十六章主成分分析课后题答案

其他章节答案请参考我的汇总统计学习方法答案汇总,都是自己写的。

1、对以下样本进行主成分分析: [ 2 3 3 4 5 7 2 4 5 5 6 8 ] \begin{bmatrix}2 & 3 & 3 & 4 & 5& 7\\2 & 4 & 5 & 5 & 6 &8\end{bmatrix} [223435455678]

解:

import numpy as np
def PCA(X):
    # 下面先对数据进行规范化
    s = np.shape(X)
    for i in range(s[0]):
        mean_i = np.mean(X[i, :])
        s_ii = np.sqrt(sum((X[i,:] - mean_i) * (X[i,:] - mean_i)) / (s[1] - 1))
        X[i,:] = (X[i, :] - mean_i) / s_ii
        
    X_T = X.T / np.sqrt(s[1] - 1)
    #下面计算规范化之后的协方差矩阵
    cov_matrix = np.matmul(X_T.T, X_T)
    print('协方差矩阵是:', cov_matrix)
    #下面开始对X_T进行奇异值分解
    U, char, V = np.linalg.svd(X_T)
    #下面开始计算因子负荷量
    for i in range(s[0]):
        print('第%d个主成分对各个x变量的负荷量:'%(i + 1), char[i] * V[i, :])
    

if __name__ == '__main__':
    X = np.array([[2,3,3,4,5,7],
              [2,4,5,5,6,8]], dtype = np.float32)
    PCA(X)

输出为:

协方差矩阵是: 
[[1.        0.9503288]
 [0.9503288 0.9999999]]1个主成分对各个x变量的负荷量: [0.9875042 0.9875041]2个主成分对各个x变量的负荷量: [ 0.157593   -0.15759301]

2、证明样本协方差矩阵S是总体协方差矩阵方差 Σ \Sigma Σ的无偏估计。

证:计算数学的我直接懵了,看下面这个大佬的解答吧:样本协方差矩阵是总体协方差矩阵的无偏估计,大概是知道了怎么回事,过一段时间自己证明一下。

3、设 X X X为数据样本的规范化矩阵,则主成分等价于求解以下最优化问题: m i n L ∥ X − L ∥ F s . t . r a n k ( L ) ≤ k \underset{L}{min} \left \| X-L \right \| _F\\ s.t.\quad rank(L)\le k LminXLFs.t.rank(L)k,这里 F F F是佛罗贝尼乌斯范数, k k k是主成分的个数。试问为什么?

证:
1、先证明主成分求解是所给最优化的解。
因为下面两个最优化问题是等价的
m i n L ∥ X − L ∥ F s . t . r a n k ( L ) ≤ k \underset{L}{min} \left \| X-L \right \| _F\\ s.t.\quad rank(L)\le k LminXLFs.t.rank(L)k
m i n L ∥ X ′ n − 1 − L ′ n − 1 ∥ F s . t . r a n k ( L ) ≤ K \underset{L}{min} \left \| \frac{X^{'}}{\sqrt{n-1}}- \frac{L^{'}}{\sqrt{n-1}} \right \| _F\\ s.t.\quad rank(L)\le K Lminn1 Xn1 LFs.t.rank(L)K

之所以给出这个等价的最优化问题,是为了使用主成分分析的奇异值分解方法。我们将下面的最优化问题仍然记为
m i n L ∥ X − L ∥ F s . t . r a n k ( L ) ≤ k (1) \underset{L}{min} \left \| X-L \right \| _F\\ s.t.\quad rank(L)\le k \tag{1} LminXLFs.t.rank(L)k(1)
这样我们对 X X X进行奇异值分解得到
X = U Σ V T (2) X = U\Sigma V^{T}\tag{2} X=UΣVT(2)
将公式(2)带入(1)的目标函数我们得到
∥ X − L ∥ F = ∥ U Σ V T − U U T L V V T ∥ F = ∥ Σ − U T L V ∥ F \left \| X-L \right \| _F = \left \| U\Sigma V^{T}-UU^{T}LVV^{T} \right \| _F\\=\left \| \Sigma -U^{T}LV \right \| _F XLF=UΣVTUUTLVVTF=ΣUTLVF
其中 Σ = D i a g { λ 1 , λ 2 , . . . , λ n } \Sigma=Diag\{\lambda_{1},\lambda_{2},...,\lambda_{n}\} Σ=Diag{λ1,λ2,...,λn}是一个对角矩阵,因为矩阵 L L L的秩最大为 k k k,结合题目中范数的定义,我们得到当 U T L V U^{T}LV UTLV也是一个对角矩阵的时候,且 U T L V = D i a g { λ 1 , λ 2 , . . . , λ k , 0 , 0 , . . . , 0 } U^{T}LV=Diag\{\lambda_{1},\lambda_{2},...,\lambda_{k},0,0,...,0\} UTLV=Diag{λ1,λ2,...,λk,0,0,...,0}的时候,求得极小值,也就是
L = U ∗ D i a g { λ 1 , λ 2 , . . . , λ k , 0 , 0 , . . . , 0 } ∗ V T L = U*Diag\{\lambda_{1},\lambda_{2},...,\lambda_{k},0,0,...,0\} *V^{T} L=UDiag{λ1,λ2,...,λk,0,0,...,0}VT
因为求主成分就等价于求得 { λ 1 , λ 2 , . . . , λ k , 0 , 0 , . . . , 0 } , U , V \{\lambda_{1},\lambda_{2},...,\lambda_{k},0,0,...,0\},U,V {λ1,λ2,...,λk,0,0,...,0},U,V,根据这个最优化问题的解L的表达形式,我们可以知道已经将这个优化问题解决了。
2、下面根据最优化问题的解来推出主成分。
假设 L 0 L_{0} L0是上面那个优化问题的最优解,我们对这个矩阵解 L 0 L_{0} L0进行奇异值分解, L 0 = U A V T (3) L_{0} = UAV^{T}\tag{3} L0=UAVT(3)
其中 A A A是一个对角阵,我们将公式(3)带入最优化问题(1)的目标函数里面就得到
∥ X − L 0 ∥ F = ∥ U U T X V V T − U A V T ∥ F = ∥ U T X V − A ∥ F \left \| X-L_{0} \right \| _F = \left \| UU^{T}X VV^{T}-UAV^{T} \right \| _F\\=\left \| U^{T}X V-A \right \| _F XL0F=UUTXVVTUAVTF=UTXVAF
因为A是对角阵,要使得问题达到最优,要使A的秩尽可能的大,且U,V使得X也是一个对角矩阵。一定可以使得 U T X V U^{T}X V UTXV成为一个对角阵,如果不是,我们对 X X X进行奇异值分解,可以得到另外一个比 L 0 L_{0} L0更优解,这与 L 0 L_{0} L0是最优解就矛盾,因而到此得证!

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
csdn李航的《统计学习方法》课程是一门深入浅出的机器学习课程。这门课程围绕着统计学习的基本原理和方法展开,结合了理论与实践,为学习者提供了全面的知识体系。 首先,课程的内容要涵盖了统计学习的基本概念、模型和算法。通过对统计学习的基本概念的讲解,学习者可以获得对机器学习的整体认识和理解。课程对于各种常见的统计学习模型如线性模型、神经网络、决策树等进行了详细的介绍,并深入剖析了这些模型的原理和应用场景。此外,通过对常见的统计学习算法如最小二乘法、梯度下降法、支持向量机等的讲解,学习者可以了解到如何实现和优化这些模型。 其次,课程提供了大量的实例来帮助学习者加深对知识的理解。课程中会给出典型的统计学习,并针对这些问提供解决方案。这些实例可以帮助学习者更好地掌握课程内容,同时提供了实践机会,让学习者将理论知识应用到实际问中。 最后,课后还提供了相关的习和参考答案学习者可以通过做来巩固所学知识,同时参考答案可以帮助学习者在做过程中发现和纠正错误,提高学习效果。 总的来说,csdn李航的《统计学习方法课后是一门内容全面、难度适中的机器学习课程。通过学习这门课程,学习者可以系统地掌握统计学习的基本原理和方法,为日后的机器学习实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值