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

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

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

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

为什么要学奇异值分解?

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

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

相关推荐
qzhqbb2 小时前
基于统计方法的语言模型
人工智能·语言模型·easyui
冷眼看人间恩怨3 小时前
【话题讨论】AI大模型重塑软件开发:定义、应用、优势与挑战
人工智能·ai编程·软件开发
2401_883041083 小时前
新锐品牌电商代运营公司都有哪些?
大数据·人工智能
AI极客菌4 小时前
Controlnet作者新作IC-light V2:基于FLUX训练,支持处理风格化图像,细节远高于SD1.5。
人工智能·计算机视觉·ai作画·stable diffusion·aigc·flux·人工智能作画
阿_旭4 小时前
一文读懂| 自注意力与交叉注意力机制在计算机视觉中作用与基本原理
人工智能·深度学习·计算机视觉·cross-attention·self-attention
王哈哈^_^4 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt
Power20246665 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
数据猎手小k5 小时前
AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
人工智能·分类·数据挖掘
好奇龙猫5 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
沉下心来学鲁班5 小时前
复现LLM:带你从零认识语言模型
人工智能·语言模型