机器学习——奇异值分解(未完)

开坑,刚看完书,已经有些窒息了

先把坑挖了,再慢慢填,避免自己划水跳过

我爱线代,线代爱我,阿弥陀佛

为什么要学奇异值分解?

因为书本倒数第二章专门提到的,想必一定很重要,于是我上网查了一下奇异值分解的应用

wow 。。。很有用,增加了学习的动力

奇异值分解的应用

在机器学习中,奇异值分解,可以删除一些没什么作用的特征。

具体是如何删除的呢?需要先了解一下,奇异值分解的数学原理

不会吧。。。我难道要用markdown语法来写矩阵的推导过程吗。。。

太痛苦了吧

首先,奇异值是什么?分解又从何谈起?

  • 奇异值分解的本质,其实是矩阵分解的延伸

什么是矩阵分解?矩阵分解又有什么意义呢?

  • 矩阵分解,是将一个矩阵分解为多个形式简单的矩阵,可以更好地理解矩阵本身的作用
  • 感觉像一句废话,举个栗子吧...oh不,举个up主:矩阵分解及正交矩阵

  • 其实就是用矩阵的伸缩、旋转变换功能来举例

向量和矩阵

向量一般是竖着写的,几个向量组成一个矩阵

例如向量 X = x 1 x 2 x 3 \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} x1x2x3 ,Y = y 1 y 2 y 3 \begin{bmatrix} y_1\\ y_2\\ y_3\\ \end{bmatrix} y1y2y3 ,Z = z 1 z 2 z 3 \begin{bmatrix} z_1\\ z_2\\ z_3\\ \end{bmatrix} z1z2z3 ,K = k 1 k 2 k 3 \begin{bmatrix} k_1\\ k_2\\ k_3\\ \end{bmatrix} k1k2k3

矩阵是几个向量的组合
x 1 y 1 z 1 k 1 x 2 y 2 z 2 k 2 x 3 y 3 z 3 k 3 \begin{bmatrix} x_1&y_1&z_1&k_1\\ x_2&y_2&z_2&k_2\\ x_3&y_3&z_3&k_3\\ \end{bmatrix} x1x2x3y1y2y3z1z2z3k1k2k3

向量和矩阵的代数表示

向量可以用于表示 一个 多元齐次方程的系数,也可以表示自变量

  • w 1 x 1 + w 2 x 2 + w 3 x 3 = 0 w_1x_1+w_2x_2+w_3x_3=0 w1x1+w2x2+w3x3=0

那么这个多元齐次方程的系数,可以用向量 W → W^→ W→表示W = w 1 w 2 w 3 \begin{bmatrix} w_1\\ w_2\\ w_3\\ \end{bmatrix} w1w2w3 ,自变量标为X = x 1 x 2 x 3 \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} x1x2x3

如果有多个多元齐次方程,但系数可能只有一组,而自变量可能有多组数据,如下多个多元齐次方程

  • w 1 x 11 + w 2 x 12 + w 3 x 13 = 0 w_1x_{11}+w_2x_{12}+w_3x_{13}=0 w1x11+w2x12+w3x13=0,自变量向量为X1 = x 11 x 12 x 13 \begin{bmatrix} x_{11}\\ x_{12}\\ x_{13}\\ \end{bmatrix} x11x12x13
  • w 1 x 21 + w 2 x 22 + w 3 x 23 = 0 w_1x_{21}+w_2x_{22}+w_3x_{23}=0 w1x21+w2x22+w3x23=0,自变量向量X2 = x 21 x 22 x 23 \begin{bmatrix} x_{21}\\ x_{22}\\ x_{23}\\ \end{bmatrix} x21x22x23
  • w 1 x 31 + w 2 x 32 + w 3 x 33 = 0 w_1x_{31}+w_2x_{32}+w_3x_{33}=0 w1x31+w2x32+w3x33=0,自变量向量X3 = x 31 x 32 x 33 \begin{bmatrix} x_{31}\\ x_{32}\\ x_{33}\\ \end{bmatrix} x31x32x33

系数只有一组,即W = w 1 w 2 w 3 \begin{bmatrix} w_1\\ w_2\\ w_3\\ \end{bmatrix} w1w2w3 ,自变量数据有多组,X = x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 \begin{bmatrix} x_{11}&x_{21}&x_{31}\\ x_{12}&x_{22}&x_{32}\\ x_{13}&x_{23}&x_{33}\\ \end{bmatrix} x11x12x13x21x22x23x31x32x33

这时候,要表示多元齐次方程组的计算式,需要将向量W转置后,再与X相乘

即 W T X = w 1 w 2 w 3 x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 W^TX=\begin{bmatrix} w_1&w_2&w_3\\ \end{bmatrix}\begin{bmatrix} x_{11}&x_{21}&x_{31}\\ x_{12}&x_{22}&x_{32}\\ x_{13}&x_{23}&x_{33}\\ \end{bmatrix} WTX=w1w2w3 x11x12x13x21x22x23x31x32x33

这是一种基础的矩阵乘法的代数意义,系数可能只有一组

  • w 1 x 11 + w 2 x 12 + w 3 x 13 = 0 w_1x_{11}+w_2x_{12}+w_3x_{13}=0 w1x11+w2x12+w3x13=0
  • w 1 x 21 + w 2 x 22 + w 3 x 23 = 0 w_1x_{21}+w_2x_{22}+w_3x_{23}=0 w1x21+w2x22+w3x23=0
  • w 1 x 31 + w 2 x 32 + w 3 x 33 = 0 w_1x_{31}+w_2x_{32}+w_3x_{33}=0 w1x31+w2x32+w3x33=0

还有另外一种进阶的矩阵乘法代数意义,就是系数可能有多组

第一组齐次方程 第二组齐次方程
w 11 x 11 + w 12 x 12 + w 13 x 13 = 0 w_{11}x_{11}+w_{12}x_{12}+w_{13}x_{13}=0 w11x11+w12x12+w13x13=0 w 21 x 11 + w 22 x 12 + w 23 x 13 = 0 w_{21}x_{11}+w_{22}x_{12}+w_{23}x_{13}=0 w21x11+w22x12+w23x13=0
w 11 x 21 + w 12 x 22 + w 13 x 23 = 0 w_{11}x_{21}+w_{12}x_{22}+w_{13}x_{23}=0 w11x21+w12x22+w13x23=0 w 21 x 21 + w 22 x 22 + w 23 x 23 = 0 w_{21}x_{21}+w_{22}x_{22}+w_{23}x_{23}=0 w21x21+w22x22+w23x23=0
w 11 x 31 + w 12 x 32 + w 13 x 33 = 0 w_{11}x_{31}+w_{12}x_{32}+w_{13}x_{33}=0 w11x31+w12x32+w13x33=0 w 21 x 31 + w 22 x 32 + w 23 x 33 = 0 w_{21}x_{31}+w_{22}x_{32}+w_{23}x_{33}=0 w21x31+w22x32+w23x33=0
W1 = w 11 w 12 w 13 , X = x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 \begin{bmatrix}w_{11}\\w_{12}\\w_{13}\\\end{bmatrix},X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} w11w12w13 ,X= x11x12x13x21x22x23x31x32x33 W2 = w 21 w 22 w 23 , X = x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 \begin{bmatrix}w_{21}\\w_{22}\\w_{23}\end{bmatrix},X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} w21w22w23 ,X= x11x12x13x21x22x23x31x32x33

W= w 11 w 21 w 12 w 22 w 13 w 23 \begin{bmatrix}w_{11}&w_{21}\\w_{12}&w_{22}\\w_{13}&w_{23}\\\end{bmatrix} w11w12w13w21w22w23 , X = x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 X=\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} X= x11x12x13x21x22x23x31x32x33

要表示这两组方程,一样需要将W转置后,再与X相乘,
W T X = w 11 w 12 w 13 w 21 w 22 w 23 x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 W^TX=\begin{bmatrix}w_{11}&w_{12}&w_{13}\\w_{21}&w_{22}&w_{23}\\\end{bmatrix}\begin{bmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{bmatrix} WTX=w11w21w12w22w13w23 x11x12x13x21x22x23x31x32x33

最终得到的是2x3的矩阵,第一行表示第一组的齐次方程,第二行表示第二组的齐次方程

我常常迷糊的矩阵乘法,忽然变得眉目

向量和矩阵的几何表示

一维向量与矩阵
  • 一维向量表示直线上的方向向量,例如x坐标方向上,x=3
二维向量与矩阵
  • 二维向量表示XY平面上的方向向量,如 x y = 3 2 \begin{bmatrix} x\\ y\\ \end{bmatrix}=\begin{bmatrix} 3\\ 2\\ \end{bmatrix} xy=32
  • 二维矩阵,则表示多个二维向量的组合,如 x y : 3 3 5 2 4 9 \begin{bmatrix} x\\ y\\ \end{bmatrix}: \begin{bmatrix} 3&3&5\\ 2&4&9\\ \end{bmatrix} xy:323459,这是三个二维向量,组合成的矩阵
三维向量与矩阵
  • 三维向量表示xyz空间上的方向向量 x y z = 0 1 1 \begin{bmatrix} x\\ y\\ z\\ \end{bmatrix}=\begin{bmatrix} 0\\ 1\\ 1\\ \end{bmatrix} xyz = 011

哭了,用上matplotlib吧

  • 三维矩阵则表示在xyz空间上的多个向量组合,如 x y z 0 2 3 9 1 1 6 0 1 8 9 0 \begin{bmatrix} x\\ y\\ z\\ \end{bmatrix}:\begin{bmatrix} 0&2&3&9\\ 1&1&6&0\\ 1&8&9&0\\ \end{bmatrix} xyz : 011218369900 ,这是4个三维向量组成的矩阵

向量和矩阵的乘法

向量乘法,一般指的是点乘,即

A = a 1 a 2 a 3 \begin{bmatrix} a_1\\ a_2\\ a_3\\ \end{bmatrix} a1a2a3 ,B = b 1 b 2 b 3 \begin{bmatrix} b_1\\ b_2\\ b_3\\ \end{bmatrix} b1b2b3 ,则 A B = a 1 ∗ b 1 + a 2 ∗ b 2 + a 3 ∗ b 3 AB = a_1*b_1+ a_2*b_2+ a_3*b_3 AB=a1∗b1+a2∗b2+a3∗b3

向量点乘的代数意义

我猜,向量乘法,可以看作是自变量系数和自变量数值的相乘再加和

即 y = a 1 x 1 + a 2 x 2 + a 3 x 3 y = a_1x_1+a_2x_2+a_3x_3 y=a1x1+a2x2+a3x3

A = a 1 a 2 a 3 \begin{bmatrix} a_1\\ a_2\\ a_3\\ \end{bmatrix} a1a2a3 ,B = x 1 x 2 x 3 \begin{bmatrix} x_1\\ x_2\\ x_3\\ \end{bmatrix} x1x2x3

向量点乘的几何意义

向量点乘,是将一个向量,投影在另外一个向量上。

向量与矩阵的关系

矩阵的乘法

矩阵乘法的功能:伸缩

矩阵乘法功能:旋转

矩阵乘法功能:伸缩+旋转

首先,任何矩阵,都可以进行奇异值分解
M = U Σ V T , 其中, U 和 V 都是对称矩阵, Σ 是正交对角阵 M = UΣV^T,其中,U和V都是对称矩阵,Σ是正交对角阵 M=UΣVT,其中,U和V都是对称矩阵,Σ是正交对角阵

相关推荐
TMT星球3 分钟前
AI时代的风控攻防战:Soul如何用AI治理AI
大数据·人工智能
Agent手记6 分钟前
电信运营商如何用AI实现携号转网自动处理?基于实在Agent的业务自动化落地与TARS大模型解析方案
运维·人工智能·ai·自动化
scx_link7 分钟前
线性回归的总结:
算法·机器学习·线性回归
麦哲思科技任甲林12 分钟前
全变更蒸馏:让AI编程成为一个可进化的系统
人工智能·ai编程·蒸馏·skills·harness工程·回顾
Raink老师15 分钟前
【AI面试临阵磨枪-086】什么是 AI Agent Skill?与传统 Function Calling、Tool 的区别?
人工智能·面试·职场和发展
实在智能RPA16 分钟前
AI Agent是否能处理医药研发数据中多种格式的文档?深度解析2026年智能体在生物医药领域的应用边界
人工智能·ai
Tiansan666620 分钟前
郑州AI问答服务商崛起:专业团队如何重塑企业客服
人工智能·郑州ai问答服务商崛
DeniuHe23 分钟前
sklearn 中所有交叉验证数据集划分方式完整总结
人工智能·python·sklearn
DeniuHe26 分钟前
sklearn中不同交叉验证方法的场景适配
人工智能·python·sklearn
小新同学^O^28 分钟前
简单学习 --> 指令微调
人工智能·学习·llm·指令微调