机器学习十大算法之Matlab-9降维算法

本文介绍了在Matlab中实现的几种降维算法,包括PCA、局部线性嵌入(LLE)、多维缩放(MDS)以及Isomap。PCA通过保留主要特征进行降维,LLE处理非线性数据,MDS旨在保持数据间的距离,Isomap基于测地线距离。每个算法都提供了Matlab代码示例,展示了如何对数据集进行降维和重构。

降维算法

PCA算法

  • 算法流程:最小的m-l个特征值被舍弃了,这是降维的结果。舍弃部分信息后使得样本的1信息密度变大;2后面的m-l个特征是噪声,有去噪的效果。
    在这里插入图片描述

对数据集进行PCA后再重构

  • 1通过上面算法降维成l个维度l <<m,m为之前的维度。
    在这里插入图片描述
  • 2再进行升维重构
    在这里插入图片描述

PCA降维-Matlab代码

例子1-系统pca做降维pca_mat.m

  • 改例子有计算过程。
%使用pca函数进行降维
X=[1,2;3,3;3,5;5,4;5,6;6,5;8,7;9,8]; %样本矩阵,每行一个样本向量
[coeff,  score,  latent]=pca(X); %主成分分析
coeff, %主成分分量 (每列为一个变换空间中的基向量)
score, %主成分, score(:,1) 为X的一维表示, score为X在变换空间中的二维表示
latent, %X样本协方差矩阵的特征值

例子2-系统pca对简单数据集降维pca2_mat.m

  • 13*4的数据进行降维
clc, clear all, close all
load hald %载入数据集
X=ingredients; %将数据集中的13x4矩阵矩阵赋给X
[coeff,score]=pca(X,'Centered','off'), %调用函数pca, 不对数据中心化

例子3-用fastPCA做降维

  • fastPCA.m
%快速PCA函数
function [V,pcaX]=fastPCA(X,k)
%输入: X--样本矩阵,每行为一个样本
%输出: V--主成分向量
%pcaX--降维后的k维样本特征向量组成的矩阵,每一行一个样本,列数k为降维后的样本特征列数
[n,m]=size(X);
meanV=mean(X); %样本均值向量
Z=(X-repmat(meanV,n,1));
CovM=Z*Z';  %计算协方差矩阵的转置
[V,D]=eigs(CovM,k); %计算CovM的前k个特征值和特征向量
V
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值