矩阵分解的几种形式
2013-01-28 09:52
141 查看
就目前我总结到的矩阵分解有三种形式:
矩阵对角化分解
奇异值分解
乔里斯基(Cholesky)分解
下面分别简单介绍上面三个分解算法:
1. 对角化分解:
定义:一个n*n矩阵A如果可以写为X-1AX=D,其中x是可逆矩阵,D为对角矩阵,那么我们说A可以对角化。
定理:如果一个矩阵可以对角化分解,那么A的n个特征向量就一定线性独立,反过来也成立。
性质:An=XDnX-1 这是一个非常重要的性质,它和随机过程,马尔科夫过程有紧密的联系。
我们熟知的PageRank算法中就应用了矩阵的对角化分解。
2. 奇异值分解
大家知道奇异值分解师应用最广的一个数学模型,在特征提取,图片压缩,主成因分析等都用到了奇异值分解。
定义: 如果一个m*n矩阵A能够分解为A=UBVT的形式,其中U矩阵式m*m格式的标准化正交矩阵,V是n*n的标准化的正交矩阵,B是m*n的对角矩阵。
奇异值一个重要的应用就是矩阵的近似表达。上面定义中的矩阵B的对角值就是我们说的奇异值a1>=a2>=a3>=...>=an,如果A的rank为r,那么a1>=a2>=a3>=...>=ar>0, ar+1=ar+2=...=an=0;
将上面n-r部分的奇异值去掉,A=U1B1V1T那么矩阵A就能够得到简化.如果将上面的ar设置为0得到矩阵A',那么||A'-A||F=ar这个值比较小,所以可以用A'近似表达A,这就是图片压缩的原理。
3. 乔里斯基(Cholesky)分解
介绍乔里斯基分解之前先介绍正定矩阵,正定矩阵在二次优化中有重要作用,通过正定矩阵我们可以求二次多项式的最大,最小或者鞍点。
定义:如果对于所有的x,xTAx>0那么A是正定矩阵,对应的二次多项式有最小值;
如果对于所有的x, xTAx>=0那么A是半正定矩阵,对应二次多项式有最小值;
如果对于所有的x,xTAx<0那么A是负定矩阵,对应二次多项式有最大值;
如果对于所有的x,xTAx<=0那么A是半负定矩阵,对应二次多项式有最大值;
如果xTAx的符号不确定,那么不能判断二次多项式的极值情况。
下面说Cholesky分解,如果A是一个对角的正定矩阵,那么A=LDLT,其中L是一个下三角矩阵,对角线的值都为1。
矩阵对角化分解
奇异值分解
乔里斯基(Cholesky)分解
下面分别简单介绍上面三个分解算法:
1. 对角化分解:
定义:一个n*n矩阵A如果可以写为X-1AX=D,其中x是可逆矩阵,D为对角矩阵,那么我们说A可以对角化。
定理:如果一个矩阵可以对角化分解,那么A的n个特征向量就一定线性独立,反过来也成立。
性质:An=XDnX-1 这是一个非常重要的性质,它和随机过程,马尔科夫过程有紧密的联系。
我们熟知的PageRank算法中就应用了矩阵的对角化分解。
2. 奇异值分解
大家知道奇异值分解师应用最广的一个数学模型,在特征提取,图片压缩,主成因分析等都用到了奇异值分解。
定义: 如果一个m*n矩阵A能够分解为A=UBVT的形式,其中U矩阵式m*m格式的标准化正交矩阵,V是n*n的标准化的正交矩阵,B是m*n的对角矩阵。
奇异值一个重要的应用就是矩阵的近似表达。上面定义中的矩阵B的对角值就是我们说的奇异值a1>=a2>=a3>=...>=an,如果A的rank为r,那么a1>=a2>=a3>=...>=ar>0, ar+1=ar+2=...=an=0;
将上面n-r部分的奇异值去掉,A=U1B1V1T那么矩阵A就能够得到简化.如果将上面的ar设置为0得到矩阵A',那么||A'-A||F=ar这个值比较小,所以可以用A'近似表达A,这就是图片压缩的原理。
3. 乔里斯基(Cholesky)分解
介绍乔里斯基分解之前先介绍正定矩阵,正定矩阵在二次优化中有重要作用,通过正定矩阵我们可以求二次多项式的最大,最小或者鞍点。
定义:如果对于所有的x,xTAx>0那么A是正定矩阵,对应的二次多项式有最小值;
如果对于所有的x, xTAx>=0那么A是半正定矩阵,对应二次多项式有最小值;
如果对于所有的x,xTAx<0那么A是负定矩阵,对应二次多项式有最大值;
如果对于所有的x,xTAx<=0那么A是半负定矩阵,对应二次多项式有最大值;
如果xTAx的符号不确定,那么不能判断二次多项式的极值情况。
下面说Cholesky分解,如果A是一个对角的正定矩阵,那么A=LDLT,其中L是一个下三角矩阵,对角线的值都为1。
相关文章推荐
- 常见的几种矩阵分解方式
- 矩阵理论基础知识(2)--常见的几种矩阵分解方式
- 常见的几种矩阵分解方式
- makefile的几种常见形式及注释
- SVD分解的应用——矩阵运算和文本处理中的分类问题
- 机器学习中的矩阵方法03:QR 分解
- 矩阵分解相关理论和算法代码链接
- python矩阵分解
- 矩阵的三角分解法之LU分解之Doolittle分解
- 基于矩阵分解的推荐算法
- Matlab如何把for循环的结果以矩阵的形式显示
- 用Spark学习矩阵分解推荐算法
- Matrix Factorization(矩阵分解)
- 51nod 1537 分解 (矩阵快速幂)
- 矩阵分解的隐因子模型
- 关于矩阵的几种存储方式 Hayden'Blog
- 详细分解三同不同默认路由配置形式的区别与故障排除 推荐
- ASP.NET MVC之视图传参到控制器的几种形式
- 基于One-Class的矩阵分解方法
- 【C#数据类型转换的几种形式】