小论线性变换

任何一个线性变换都可以用一个矩阵A来表示。

EIG分解

特征值分解的适应情况是:

  1. 矩阵是方阵
  2. 矩阵有足够的特征向量
  3. 如果矩阵有不相同的特征值 ,那么肯定有足够的特征向量

对角矩阵本质上是每个轴上的不耦合地伸缩。

SVD分解

如何将不能对角化的矩阵对角化,不存在奇异值为0的情况,矩阵是方阵

特征值与奇异值

如果一个矩阵的秩为rr,表明这个矩阵表示的空间是rr维的,不等于0的特征值或者奇异值的个数是rr,特征值或者奇异值的绝对值表示对应维度的方差,方差越大表明在这个维度上信息量越大,这个维度也就越重要。

参考代码

% 画图辅助函数
function [] = px(X,p1,p2)
plot(X(1,:),X(2,:),p1)
hold on
plot(X(1,:),X(2,:),p2)
hold off
axis equal
%axis([0 2 0 2])
% 主函数

%% 耦合与解耦
X = [0 0 1 1 0    
0 1 1 0 0];
% 对角矩阵
A2 = [1 0
    0 2];
X2 = A2*X;
px(X,'ro','r-')
hold on
px(X2,'b*','b:')
hold off;


% 矩阵耦合的情况
A2 = [1 2
    0 1];
X2 = A2*X;
px(X,'ro','r-')
hold on
px(X2,'b*','b:')
hold off;



%% 解耦,矩阵可以对角化,有足够的特征向量,按照SDS^{-1}分解

A2 = [1 2
    0 2];
% %D =
% 
%      1     0
%      0     2
X2 = A2*X;
px(X,'ro','r-')
hold on
px(X2,'b*','b:')
hold off;

% 换坐标系,从单位坐标系换到以特征向量为基底的坐标系
[V,D] = eig(A2)
V*D*inv(V)

Xnew = inv(V)*X;  %Xnew是原正方形数据X在新的基下面的坐标

Xnew2 = inv(V)*A2*V*Xnew %Xnew2是经过线性变换A2后在新的基底下的坐标

% 选择特征向量方向为新的坐标,在新的坐标系下横坐标不变,纵坐标是原来的2倍。
px(Xnew,'ro','r-')
hold on
px(Xnew2,'b*','b:')


gtext('A = [1 2 ; 0 1]')
%% 对称矩阵,一定可以对角化,特征值是实数,特征向量标准正交
% 对称矩阵就像对角矩阵那样
% 更深刻地去理解特征值与特征向量
% 特征值本质上是找到了一组完整的不缺失的特征向量后,可以进行解耦地伸缩变换,每个基上伸缩变换的系数
% 如果和压缩联系在一起的话,如果特征向量的长度都一样,那么特征值的绝对值越大表明在这个方向
% 的伸缩越大,理解成方差越大,因此可以利用这种分解去找到最大的方差,寻找如何包含更多的信息。
% D =
% 
%    -0.5616         0
%          0    3.5616
A2 = [1 2
    2 2];
X2 = A2*X;
px(X,'ro','r-')
hold on
px(X2,'b*','b:')
hold off;

% 换坐标系,从单位坐标系换到以特征向量为基底的坐标系
[V,D] = eig(A2)
V*D*inv(V)

Xnew = inv(V)*X;  %Xnew是原正方形数据X在新的基下面的坐标

Xnew2 = inv(V)*A2*V*Xnew %Xnew2是经过线性变换A2后在新的基底下的坐标

% 选择特征向量方向为新的坐标,在新的坐标系下横坐标不变,纵坐标是原来的2倍。
px(Xnew,'ro','r-')
hold on
px(Xnew2,'b*','b:')


% 判断是不是符合
mean((D(1,1)*Xnew(1,:) - Xnew2(1,:) ) < 1e-5)
mean((D(2,2)*Xnew(2,:) - Xnew2(2,:) ) < 1e-5)

%% 特征值如果出现0(行列式等于0,不满秩)是什么含义呢
% 在某个基上的分量丢失,原来的系数不为0可能是因为和其他基耦合
% 对角化后D上存在着为0的元素,有几个0说明有几个维度丢失。
A2 = [1 0
    0 0];
X2 = A2*X;
px(X,'ro','r-')
hold on
px(X2,'b*','b:')
hold off;

% 换坐标系,从单位坐标系换到以特征向量为基底的坐标系
[V,D] = eig(A2)
V*D*inv(V)

Xnew = inv(V)*X;  %Xnew是原正方形数据X在新的基下面的坐标

Xnew2 = inv(V)*A2*V*Xnew %Xnew2是经过线性变换A2后在新的基底下的坐标

% 选择特征向量方向为新的坐标,在新的坐标系下横坐标不变,纵坐标是原来的2倍。
px(Xnew,'ro','r-')
hold on
px(Xnew2,'b*','b:')


%% 不能对角化意味着什么
% 找不到上面那些好的性质,特征向量之间线性相关充满不了整个空间
% 但是只是在变换前后同一个基的条件下找不到
A2 = [1 2
    0 1];
X2 = A2*X;
px(X,'ro','r-')
hold on
px(X2,'b*','b:')
hold off;

% 换坐标系,从单位坐标系换到以特征向量为基底的坐标系
[V,D] = eig(A2)
V*D*inv(V)

Xnew = inv(V)*X;  %Xnew是原正方形数据X在新的基下面的坐标

Xnew2 = inv(V)*A2*V*Xnew %Xnew2是经过线性变换A2后在新的基底下的坐标

% 选择特征向量方向为新的坐标,在新的坐标系下横坐标不变,纵坐标是原来的2倍。
px(Xnew,'ro','r-')
hold on
px(Xnew2,'b*','b:')

% 判断是不是符合
mean((D(1,1)*Xnew(1,:) - Xnew2(1,:) ) < 1e-5)
mean((D(2,2)*Xnew(2,:) - Xnew2(2,:) ) < 1e-5)


%% 如何将不能对角化的矩阵对角化,不存在奇异值为0的情况,矩阵是方阵
% SVD,构建起两个不同的坐标基
% 与特征值相对的,这里引入的是奇异值
% S =
% 
%     2.4142         0
%          0    0.4142
A2 = [1 2
    0 1];
[V,D] = eig(A2)
V

[U,S,V] = svd(A2);
Xnew = inv(V)*X;  %Xnew是原正方形数据X在新的基下面的坐标

Xnew2 = inv(U)*A2*V*Xnew; %Xnew2是经过线性变换A2后在新的基底下的坐标

% 选择特征向量方向为新的坐标,在新的坐标系下横坐标不变,纵坐标是原来的2倍。
px(Xnew,'ro','r-')
hold on
px(Xnew2,'b*','b:')

% 判断是不是符合
mean((S(1,1)*Xnew(1,:) - Xnew2(1,:) ) < 1e-5)
mean((S(2,2)*Xnew(2,:) - Xnew2(2,:) ) < 1e-5)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

火热的生成对抗网络(GAN),你究竟好在哪里

自2014年Ian Goodfellow提出生成对抗网络(GAN)的概念后,生成对抗网络变成为了学术界的一个火热的研究热点,Yann LeCun更是称之为”过去...

15320
来自专栏机器学习算法工程师

机器学习损失函数、L1-L2正则化的前世今生

前言: 我们学习一个算法总是要有个指标或者多个指标来衡量一下算的好不好,不同的机器学习问题就有了不同的努力目标,今天我们就来聊一聊回归意义下的损...

58770
来自专栏AILearning

【Scikit-Learn 中文文档】神经网络模块(监督的)- 监督学习 - 用户指南 | ApacheCN

中文文档: http://sklearn.apachecn.org/cn/0.19.0/modules/calibration.html 英文文档: htt...

25490
来自专栏人工智能头条

漫谈词向量之基于Softmax与Sampling的方法

74850
来自专栏数据派THU

深度学习模型复现难?看看这篇句子对模型的复现论文

本文是COLING 2018的 Best Reproduction Paper,文章对sentence pair modeling进行了比较全面的介绍。

17640
来自专栏机器学习算法与Python学习

机器学习(27)【降维】之主成分分析(PCA)详解

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 前言 主成分分析(Principal...

61360
来自专栏机器之心

学界 | UIUC &amp; Zillow提出LayoutNet:从单个RGB图像中重建3D房间布局

选自arXiv 作者:Chuhang Zou等 机器之心编译 参与:Geek Ai、路 近日,来自 UIUC 和 Zillow 的研究者在 arXiv 上发布论...

35360
来自专栏机器之心

AAAI 2018 | 腾讯AI Lab现场陈述论文:训练L1稀疏模型的象限性消极下降算法

32870
来自专栏YoungGy

SVD分解及其应用

SVD起源 对角化概述 SVD SVD应用 图像压缩2 数据去噪 LSA 推荐系统 注意 参考资料 ? SVD可谓线性代数的登峰造极者。 其本质就是找到将任...

88660
来自专栏AI科技评论

FAIR最新视觉论文集锦:FPN,RetinaNet,Mask和Mask-X RCNN(含代码实现)

这篇文章会从 FAIR 在基本模块上的创新开始,谈到 CNN,再到 one-shot 物体检测。之后会讲实例分割的创新。最后聊聊依靠弱半监督模型来扩展实例分割。...

92880

扫码关注云+社区

领取腾讯云代金券