一、奇异值分解
每个矩阵A都可以分解成若干个小矩阵之和:
A=σ₁Β₁+σ₂Β₂+....
σ是奇异值,按从大到小排序
奇异值越大,σiBi所含的信息越重要
去噪音原理:噪音通常包含在奇异值小的项中,可以令小的奇异值为0来去噪音。
numpy.linalg.svd()
二、PCA
n个Sample,m个feature,形成:
X是m*n维的矩阵
是协方差矩阵,代表各feature间相关性,角对称矩阵
现在要对X变换,使C非对角线上的值尽量为0,对角线上的值尽量大,即feature间不相关,而某个feature的方差尽量大。
方法就是求C的特征值和特征向量。
把特征向量按特征值从大到小排序,取前k个特征向量形成矩阵P,P是k*m维的
P(k*m维)·X(m*n维)=newX(k*n维)
这样就把X降维了
PCA的原则:最近重构性(投影距离最小)和最大可分性(样本点尽量分开,即方差最大)
步骤:
1.中心化:x'=x-μ
2.算协方差
3.特征值分解,选最大的k个特征向量,作为投影矩阵
4.用投影矩阵计算新的样本值
PCA与LR的区别: