PCA-LPP的MATLB实现

本博客转载自链接,已获得授权。

PCA-LPP代码实现

0.引言

​ 提出集合主成分分析与局部保持嵌入的流形学习特征降维方法。该方法通过结合主成分分析(PCA)与局部保持嵌入(LPP)各自优点,兼具最大化保留数据的全局结构特性与局部结构特性,更利于提取原始数据集中的低维流行有效信息。最后,采用UCI数据集进行降维可视化分析。

1.原理

1.1 PCA目标函数

​ PCA的核心是通过投影矩阵A将高维数据降成低维数据,实现数据沿该坐标系的分布方差最大化,能够实现最大化保持数据的全局结构特性,其目标函数如下:

m a x t r ( A ′ X X ′ A ) max tr(A'XX'A) maxtr(AXXA)

1.2 LPP目标函数


m i n t r ( A ′ X L X ′ A ) ; L = D − W ; s t . A ′ X D X ′ A = I min tr(A'XLX'A);L=D-W;st.A'XDX'A=I mintr(AXLXA);L=DW;st.AXDXA=I

1.3 PCA-LPP原理


m a x t r ( l A ′ X X ′ A − ( 1 − l ) A ′ X L X ′ A ) ; s t . A ′ X D X ′ A = I ; 其 中 : l 是 用 于 平 衡 P C A 与 L P P 这 两 个 目 标 函 数 的 权 重 系 数 max tr(lA'XX'A-(1-l)A'XLX'A);st.A'XDX'A=I;其中:l是用于平衡PCA与LPP这两个目标函数的权重系数 maxtr(lAXXA(1l)AXLXA);st.AXDXA=I;lPCALPP

2.方案验证

clc;clear;close all
load wine;fea=double(wine);gnd=wine_labels;
options = [];
options.Metric = 'Euclidean';
options.NeighborMode = 'KNN';
options.k = 10;
options.t = 1;
options.delta=100;
options.bSelfConnected = 1;
options.WeightMode = 'HeatKernel';
options.ReducedDim = 6;
options.PCARatio = 1;
W = constructW(fea);
%[eigvector1, eigvalue1, meanData, Y]=PCA(fea, options);
%[eigvector2, eigvalue2, Y] = LPP(fea, W, options);
[eigvector3,eigvalue3, Y] = PCALPP(fea,W,options);
    
%% 特征可视化
figure
for i=1:max(gnd)
    n=find(gnd==i);
    plot3(fea(n,1),fea(n,2),fea(n,3),'*')%原始数据
    hold on
    grid on
end

mappedX1=Y;
figure
for i=1:max(gnd)
    n=find(gnd==i);
    plot3(mappedX1(n,1),mappedX1(n,2),mappedX1(n,3),'*')
    hold on
    grid on
end
legend('1','2','3')

在这里插入图片描述 图1 原始数据可视化

在这里插入图片描述
​ 图2 本文方法

3.结论

​ 从图上可以,本文方法聚类效果更好。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值