IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> LU分解_SVD分解 -> 正文阅读

[人工智能]LU分解_SVD分解

张量(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 = L U A=LU A=LU,代入方程得 L U x = b LUx=b LUx=b,看作 L y = b Ly=b Ly=b 后,求得 y y y
  • y = U x y=Ux y=Ux,最终求得 x x x

相当于表示一种把A化为上三角矩阵U的方式,即左乘 L ? 1 L^{-1} L?1 L ? 1 A = U L^{-1}A=U L?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):

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

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

(有待完善)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:02:58  更:2022-04-01 00:04:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 1:19:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码