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

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

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

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

为什么要学奇异值分解?

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

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都是对称矩阵,Σ是正交对角阵

相关推荐
何遇mirror44 分钟前
强化学习:通过试错学习最优策略---示例:使用Q-Learning解决迷宫问题
机器学习
you_are_my_sunshine*1 小时前
解决方案:机器学习中,回归及分类常用的模型评估指标有哪些
机器学习·分类·回归
sp_fyf_20241 小时前
[大语言模型-论文精读] 阿里巴巴-通过多阶段对比学习实现通用文本嵌入
人工智能·深度学习·神经网络·计算机视觉·语言模型·自然语言处理·数据挖掘
lijianhua_97121 小时前
先进制造aps专题二十六 基于强化学习的人工智能ai生产排程aps模型简介
人工智能·强化学习·aps
少喝冰美式1 小时前
深度学习 Transformer 的标签平滑(Label Smoothing)
人工智能·深度学习·llm·transformer·大语言模型·ai大模型·计算机技术
阿川20151 小时前
汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”
人工智能·大模型·汽车
Mr_Happy_Li1 小时前
完整网络模型训练(一)
人工智能·python·深度学习·神经网络·机器学习·计算机视觉
gffvgvb2 小时前
SD-WebUI forge支持flux模型。算力互联forge镜像使用教程
人工智能
ku_code_ku2 小时前
Bert Score-文本相似性评估
人工智能·自然语言处理·bert
jndingxin2 小时前
OpenCV视频I/O(4)视频采集类VideoCapture之获取异常处理模式函数getExceptionMode()的使用
人工智能·opencv·音视频