张量(Tensor),是Tensorflow里常用的一个数据结构

张量有很严谨的定义,可暂且把它简单理解为一个多维空间,一维张量就是向量,二维就是矩阵,三维直接就叫三维张量,Tensorflow就是围绕张量运算的一个库。——助教老师

LU

初识LU

Tensorflow的线性代数函数tf.linalg.lu

data = tf.constant([2, 1, 8, 7], dtype=tf.float32, shape=[2,2])
tf.linalg.lu(data)

output

Lu(lu=<tf.Tensor: shape=(2, 2), dtype=float32, numpy=
array([[ 8.  ,  7.  ],[ 0.25, -0.75]], dtype=float32)>, p=<tf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 0])>)

tensorflow官方详解

tf.linalg.lu

Computes the LU decomposition of one or more square matrices.
The input is a tensor of shape […, M, M] whose inner-most 2 dimensions form square matrices.
The input has to be invertible.
The output consists of two tensors LU and P containing the LU decomposition of all input submatrices […, :, :]. LU encodes the lower triangular and upper triangular factors.
For each input submatrix of shape [M, M], L is a lower triangular matrix of shape [M, M] with unit diagonal whose entries correspond to the strictly lower triangular part of LU. U is a upper triangular matrix of shape [M, M] whose entries correspond to the upper triangular part, including the diagonal, of LU.
P represents a permutation matrix encoded as a list of indices each between 0 and M-1, inclusive. If P_mat denotes the permutation matrix corresponding to P, then the L, U and P satisfies P_mat * input = L * U.

输入限制

  • 最内部的两维需构成方阵(square matrix)
  • 可逆(invertible)

输出

  • LU矩阵:由L矩阵的下三角元素(不包括对角线),和U矩阵的上三角元素(包括对角线)组合而成

    • L(lower triangular),L矩阵的对角线是单位对角线(unit diagonal)
    • U(upper triangular)
  • P矩阵:置换矩阵(permutation matrix),取值为下标index
    • 置换矩阵参考
    • 置换矩阵由单位矩阵的行列交换而形成,用于构成矩阵的行列交换运算,可用于矩阵交换行后化简为上三角矩阵U

LU分解

LU分解可用于求解线性方程 Ax=b ,主要思路:

  • 令 A=LUA=LUA=LU,代入方程得 LUx=bLUx=bLUx=b,看作 Ly=bLy=bLy=b 后,求得 yyy
  • 由 y=Uxy=Uxy=Ux,最终求得 xxx

相当于表示一种把A化为上三角矩阵U的方式,即左乘L−1L^{-1}L−1,L−1A=UL^{-1}A=UL−1A=U
LU分解求解参考,解不一定唯一

SVD

初识SVD分解

data = tf.constant([[1, 2], [3, 4]], dtype=tf.float32)
tf.linalg.svd(data)

output

(<tf.Tensor: shape=(2,), dtype=float32, numpy=array([5.4649854 , 0.36596614], dtype=float32)>,<tf.Tensor: shape=(2, 2), dtype=float32, numpy=array([[-0.4045536 , -0.91451436],[-0.91451436,  0.40455353]], dtype=float32)>,<tf.Tensor: shape=(2, 2), dtype=float32, numpy=array([[-0.5760485 ,  0.81741554],[-0.81741554, -0.5760485 ]], dtype=float32)>)

奇异值分解(Singular Value Decomposition)

回顾特征值分解(EVD, eigen value decomposition):

  • AAA 为实对称矩阵(方阵)
  • A=QΛQTA=Q\Lambda Q^TA=QΛQT,其中 Λ\LambdaΛ 是对角矩阵,QQQ 是由特征向量构成的标准正交阵

EVD可用于降维,但对矩阵要求较高,SVD把EVD的概念拓展到普通矩阵上
SVD求解参考

(有待完善)

LU分解_SVD分解相关推荐

  1. 矩阵分析之 实矩阵分解(2)LU,PLU分解

    矩阵分析之 实矩阵分解(2)LU分解 前言 LU分解(Doolittle杜立特解法) 分解条件 分解方法 分解的唯一性 复杂度 PLU分解 前言 之前提到了特征分解和奇异值分解两种矩阵分解的方法,其中 ...

  2. 解方程AX=b与矩阵分解:奇异值分解(SVD分解) 特征值分解 QR分解 三角分解 LLT分解

    文章目录 1. 前言 2. LU三角分解 3. Cholesky分解 - LDLT分解 4. Cholesky分解 - LLT分解 5. QR分解 6. 奇异值分解 7. 特征值分解 1. 前言 本博 ...

  3. 5.9 QR分解--Gram-Schmidt 分解

    5.9 QR分解–Gram-Schmidt 分解 最小二乘法需要解方程 ATAx=ATbA^TA\mathbf{x} = A^T\mathbf{b}ATAx=ATb ,需要计算矩阵乘法 ATAA^TA ...

  4. 矩阵的分解_QR分解

    文章目录 QR分解介绍 施密特正交化 QR分解步骤 QR分解程序实现 QR分解介绍 前提:必须是列满秩的矩阵! 若n阶非奇异矩阵AAAn∗nn*nn∗n可以分解成正交矩阵QQQn∗nn*nn∗n和非奇 ...

  5. 【矩阵论】2. 矩阵分解——正规分解——正规阵

    矩阵论 1. 准备知识--复数域上的矩阵与换位公式) 1. 准备知识--复数域上的内积域正交阵 1. 准备知识--相似对角化与合同&正定阵 2. 矩阵分解-- SVD准备知识--奇异值 2. ...

  6. 【矩阵论】2. 矩阵分解——QR分解

    矩阵论 1. 准备知识--复数域上矩阵,Hermite变换) 1.准备知识--复数域上的内积域正交阵 1.准备知识--Hermite阵,二次型,矩阵合同,正定阵,幂0阵,幂等阵,矩阵的秩 2. 矩阵分 ...

  7. 『矩阵论笔记』详细介绍矩阵的三角分解(LR分解)+平方根分解(Cholesky分解)

    详细介绍矩阵的三角分解(LR分解)+平方根分解(Cholesky分解)! 文章目录 一. 三角分解(LR分解) 1.1. 方阵的两个重要分解 1.2. 上(下)三角阵的性质 1.3. 三角分解的概念 ...

  8. 三阶矩阵的lu分解详细步骤_计算方法(三)矩阵分解2-LU分解

    LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,作为解线性方程以及优化高斯消去法的一个分解方法,在后续文章中会使用到. 如下列方 ...

  9. 矩阵的各种分解: LU分解, QR分解, 特征分解, 对称对角化, 奇异值分解 SVD

    本文主要关注的是有关 "怎样的矩阵能够进行 XX 分解" 的问题,具体分解的实现方式在这里不做归纳. 欢迎访问我的个人主页 zhekaili.github.io,已查看更多的线性代 ...

  10. 本质矩阵svd分解_SVD推荐系统

    整理一下近期学习推荐系统算法的思路,定位一下SVD在整个推荐系统框架中的位置: 首先,我们知道,任何推荐系统的整体大框架都是两部分:对某个用户user而言:首先是从数百万种Item中粗略的选出千级别的 ...

最新文章

  1. 这位创造GitHub冠军项目的“老男人”,堪称10倍程序员本尊
  2. 关于 @ngrx/Store 下 obj 的扩展问题
  3. 廖雪峰python教程视频-为什么看不懂廖雪峰的Python学习教程?
  4. 专访格灵深瞳CTO赵勇:为 计算机视觉 赋予智慧的光芒
  5. 操作系统(四)操作系统的运行机制
  6. TCP/IP数据包结构分析
  7. Beetlex官网迁移完成
  8. 数论之神 HYSBZ - 2219 (原根+指标+bsgs+crt+exgcd+思维)
  9. lua 函数 默认值_Unity热更新框架之xLua
  10. 解决Mac文件乱码问题
  11. OSPF邻接关系建立过程
  12. html中怎么写行内样式,css行内样式是什么?
  13. xise菜刀千万不要随便下载!(警惕!)
  14. 闲置资源整合创业大有可为
  15. 【收藏的一些博客地址-后端开发】
  16. kettle简单的更新与插入
  17. php 开源系统(cms),30个很棒的PHP开源CMS内容管理系统
  18. IdentityServer4(七):Consent授权页支持
  19. mysql r_mysql:’r’是什么意思?
  20. Java和C专项练习

热门文章

  1. ASPUpload文件上传组件的用法
  2. 2008下搭建easypanel(康乐)虚拟主机控制面板
  3. rar压缩包的打开密码破解
  4. 约瑟夫问题(Josephus problem)详解
  5. 武汉科技大学计算机学院培养方案,武汉科技大学培养方案.DOC
  6. 将人民币大写金额格式转为数字金额格式C#代码
  7. TortoiseSvn执行SVN Commit一直显示Please wait...问题解决
  8. 电商与ERP集成方案
  9. 如何用photoshop做24色环_PS色相环制作方法和教程
  10. Screenpresso-截图工具绿色版