掌握目标:
1、了解svd分解证明过程,以及svd分解的算法流程
2、掌握svd分解的应用以及意义
3、掌握多元线性回归,以及矩阵表达形式,以及样本个数和维数不同情况下解的情况
1。矩阵的奇异值分解(来原,证明,求解例子)
求解矩阵A的奇异值分解:
2。SVD分解的应用
1)图像压缩
图像压缩原理:
2)矩阵加速运算
在神经网络中的矩阵计算加速
3。多元线性回归
【打卡作业】:
1、学习Numpy中SVD分解的函数
SVD分解=奇异值分解=奇异矩阵分解
奇异值分解(Singular Value Decomposition,SVD)是一种矩阵分解(Matrix Decomposition)的方法。
除此之外,矩阵分解还有很多方法,例如特征分解(Eigendecomposition)、LU分解(LU decomposition)、QR分解(QR decomposition)和极分解(Polar decomposition)等
Python 中可以使用 numpy 包的 linalg.svd()
来求解 SVD。
'''奇异值分解svd'''
A = np.array([[1, 2, 3], [4, 5, 6]])
U, sigma, VT = np.linalg.svd(A)
print(U)
# [[-0.3863177 -0.92236578]
# [-0.92236578 0.3863177 ]]
print(sigma)
# [9.508032 0.77286964]
print(VT)
# [[-0.42866713 -0.56630692 -0.7039467 ]
# [ 0.80596391 0.11238241 -0.58119908]
# [ 0.40824829 -0.81649658 0.40824829]]
我觉得这个关于np.linalg.svd()函数介绍很好,可参考如下:
numpy.linalg.svd函数_Python_潜艇-CSDN博客blog.csdn.net2、自己再列举2个SVD分解的作用
(1)SVD在推荐系统中可以应用,并且衍生出其他模型svd++等
(2)重构推荐系统中的评分矩阵
(3)可以衍生出主题模型
(4)降维度时,可以选择三个矩阵的前n行或者列进行重构
(5)数据集降维压缩
(6)适用于任意一种矩阵的分解
(7)用于搜索引擎语义层次检索的LSI(潜在语义索引)
(8)主成分分析(PCA)
(9)图像降噪、恢复
(10)特征脸
(11)谱聚类
(12)从视频中删除背景?