简单易学的机器学习算法—SVD奇异值分解
一、SVD奇异值分解的定义
其中的酉矩阵,的半正定对角矩阵,的共轭转置矩阵,且为的酉矩阵。这样的分解称为M的奇异值分解,对角线上的元素称为奇异值,称为左奇异矩阵,称为右奇异矩阵。
二、SVD奇异值分解与特征值分解的关系
特征值分解与SVD奇异值分解的目的都是提取一个矩阵最重要的特征。然而,特征值分解只适用于方阵,而SVD奇异值分解适用于任意的矩阵,不一定是方阵。
这里,是方阵,为单位矩阵,的特征向量,的特征向量。的特征值为M的奇异值的平方。
三、SVD奇异值分解的作用和意义
取其前r个非零奇异值,可以还原原来的矩阵M,即前R个非零奇异值对应的奇异向量代表了M矩阵的主要特征。可以表示为
五、实验的仿真
原始矩阵
对应的图像为
对应图像
经过SVD分解后的奇异值矩阵为
部分奇异值矩阵
取前14个非零奇异值
前14个非零奇异值
还原原始矩阵B,还原后的图像为
还原后的图像
对比图像
对比图像
MATLAB代码
[plain] view plain copy
%% 测试奇异值分解过程
load data.mat;%该文件是做好的一个手写体的图片
B = zeros(28,28);%将行向量重新转换成原始的图片
for i = 1:28
end
%进行奇异值分解
[U S V] = svd(B);
%选取前面14个非零奇异值
for i = 1:14
end
%左奇异矩阵
for i = 1:28
end
%右奇异矩阵
for i = 1:28
end
B_1 = U_1*S_1*V_1';
%同时输出两个图片
subplot(121);imshow(B);
subplot(122);imshow(B_1);
相关文章
- [转载] 机器学习面试之算法思想简单梳理
- 【Python成长之路】机器学习:10+分类算法汇总学习
- 机器学习(5): K-means 算法
- 简单易学的机器学习算法—SVD奇异值分解
- 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)
- 机器学习之决策树(ID3)算法与Python实现
- 机器学习10种经典算法的Python实现
- 机器学习笔记 预测的原则和风险
- 机器学习与数据挖掘基本算法初步介绍
- Atiitt 常见机器算法 理解 总结 目录 1. 机器学习的核心是“使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测”1 2. 1. 五大流派2 2.1. ①符号主义:使用
- ML:数据科学/机器学习领域经验总结—对于特征个数大于样本量的高维数据集,用什么算法进行预测,效果会更好?
- ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码)
- TF之LiR:基于tensorflow实现机器学习之线性回归算法
- 【python】机器学习算法(KNN)入门——手写数字识别
- 机器学习算法集成系统
- 机器学习(二十七):批量机器学习算法训练选择与调优(进阶)
- 机器学习(二十六):批量机器学习算法的最佳模型选取与最佳超参数获取(入门)
- 机器学习(十五):异常检测之隔离森林算法(IsolationForest)
- 机器学习必知必会10大算法
- m基于GA遗传优化+SA模拟退火的混合改进算法的多产品多机器生产优化matlab仿真
- 斯坦福《机器学习》Lesson5感想———1、成学习算法
- 机器学习算法选择
- 机器学习-从神经元到深度学习
- 【Deepin 20系统】机器学习分类算法模型xgboost、lightgbm、catboost安装及使用
- 点云算法好书推荐(3D Point Cloud Analysis 传统、深度学习和可解释的机器学习方法)附下载链接