局部保持投影(Locality preserving projections,LPP)

局部保持投影(Locality preserving projections,LPP)

方法概述

核心思想

  • 有映射 Y m ∗ n = f ( X d ∗ n ) \underset{m*n}{Y}=f(\underset {d*n}X) mnY=f(dnX),能够实现将d维的样本变换到m维空间之中

  • 假设:对于一个好的降维方法,在高维空间下距离近(相似度高)的两个点,在低维空间下依旧保持相近的关系。高维空间相似度高的两个点在低维空间相似度依旧很高

  • 考虑映射 Y = W T X Y=W^TX Y=WTX,即原样本空间中有 x i x_i xi x j x_j xj距离近, y i y_i yi y j y_j yj( y i = W T x i y_i=W^T x_i yi=WTxi)仍保持相近关系

优化目标
  • 定义优化目标:
    m i n ∑ i ∑ j ∣ ∣ y i − y j ∣ ∣ 2 s i j min\sum_i \sum_j ||y_i - y_j||^2s_{ij} minij∣∣yiyj2sij
    即在原始空间中近的点( s i j s_{ij} sij大),其在降维后应该尽可能接近( y i 与 y j 距离更小 y_i与y_j 距离更小 yiyj距离更小
方法推导:
  • 对于LPP方法,有目标:

a r g m i n W ∑ i ∑ j ∣ ∣ y i − y j ∣ ∣ 2 s i j \underset{W}{arg\ min} \sum_i \sum_j ||y_i- y_j||^2s_{ij} Warg minij∣∣yiyj2sij

  • 对于目标:
    ∑ i = 1 n ∑ j = 1 n ∣ ∣ y i − y j ∣ ∣ 2 s i j = ∑ i = 1 n ∑ j = 1 n ( y i T y i − y i T y j − y j T y i + y j T y j ) s i j = ∑ i = 1 n ( ∑ j = 1 n s i j ) 2 y i T y i − ∑ i = 1 n ∑ j = 1 n y i T y j s i j = 2 ∑ i n y i T y i d i i − 2 ∑ i n ∑ j n y i T y j s i j = 2 t r ( Y D Y T ) − 2 t r ( Y S Y T ) = 2 t r ( Y L Y T ) \sum_{i=1}^n \sum_{j=1}^n ||y_i- y_j||^2s_{ij}\\ =\sum_{i=1}^n \sum_{j=1}^n (y_i^Ty_i-y_i^Ty_j-y_j^Ty_i+y_j^Ty_j)s_{ij}\\ =\sum_{i=1}^n (\sum_{j=1}^ns_{ij})2y_i^Ty_i-\sum_{i=1}^n \sum_{j=1}^ny_i^Ty_js_{ij}\\ =2\sum_i^ny_i^Ty_id_{ii}-2\sum_i^n\sum_j^ny_i^Ty_js_{ij}\\ =2tr(YDY^T)-2tr(YSY^T)\\ =2tr(YLY^T)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ i=1nj=1n∣∣yiyj2sij=i=1nj=1n(yiTyiyiTyjyjTyi+yjTyj)sij=i=1n(j=1nsij)2yiTyii=1nj=1nyiTyjsij=2inyiTyidii2injnyiTyjsij=2tr(YDYT)2tr(YSYT)=2tr(YLYT)                         

去除乘数,最终优化目标为:
t r ( Y L Y T ) tr(YLY^T) tr(YLYT)
带入 Y = W T X Y = W^TX Y=WTX,得到最小化目标:
t r ( W T X L X T W ) tr(W^TXLX^TW) tr(WTXLXTW)

  • 该目标存在平凡零解: W = O m ∗ d W=O_{m*d} W=Omd

    此时L取最小值0,出现维度坍缩,所有样本映射到同一个点上,此解无意义

  • 当W不取零矩阵时,由于没有添加尺度约束,在降维子空间一定(组成基向量方向一致)情况下,当尺度不断变小时,目标L会同时变小,无限趋于0,不存在最小值

  • 因此,考虑对最小化目标变形为

    • t r ( Y L Y T ) t r ( Y D Y T ) = t r ( W T X L X T W ) W T X D X T W \frac{tr(YLY^T)}{tr(YDY^T)} = \frac{tr(W^TXLX^TW)}{W^TXDX^TW} tr(YDYT)tr(YLYT)=WTXDXTWtr(WTXLXTW)

      考虑到尺度因素,加以约束 Y D Y T = I YDY^T=I YDYT=I也即 W T X D X T W = I W^TXDX^TW=I WTXDXTW=I,

      原始优化问题有多个解。由于是线性映射,若同比例缩小低维样本 y i y_i yi,得到的数据集Y都可作为最优的低维数据集。故加入约束: t r ( Y D Y ⊤ ) = ∑ i = 1 n d i i y i T y i = 1 tr(YDY^\top)=\sum_{i=1}^nd_{ii}y_i^Ty_i=1 tr(YDY)=i=1ndiiyiTyi=1,通过限制 y i y_i yi的模长,使问题有唯一解。

  • 参考LDA中提到的广义瑞利商,可知:

    • λ m i n ( ( X D X T ) − 1 ( X L X T ) ) ≤ t r ( W T X L X T W ) t r ( W T X D X T W ) ≤ λ m a x ( ( X D X T ) − 1 ( X L X T ) ) λ_{min}((XDX^T)^{-1}(XLX^T))≤\frac{tr(W^TXLX^TW)}{tr(W^TXDX^TW)}≤λ_{max}((XDX^T)^{-1}(XLX^T)) λmin((XDXT)1(XLXT))tr(WTXDXTW)tr(WTXLXTW)λmax((XDXT)1(XLXT))

      变换矩阵: W = [ w 1 , w 2 , . . . , w m ] W=[w_1,w_2,...,w_m] W=[w1,w2,...,wm] ( X D X T ) − 1 ( X L X T ) (XDX^T)^{-1}(XLX^T) (XDXT)1(XLXT)最小m个特征向量构成

  • 矩阵形式推导:

由拉格朗日乘子法,构建L: L = t r ( W T X L X T W ) − t r ( Λ ( W T X D X T W − I ) ) L = tr(W^TXLX^TW)-tr(\Lambda(W^TXDX^TW-I)) L=tr(WTXLXTW)tr(Λ(WTXDXTWI))

对W求偏导并令为0:
2 X L X T W − 2 X D X T W Λ = 0 X L X T W = X D X T W Λ 有: ( X D X T ) − 1 X L X T W = W Λ 2XLX^TW-2XDX^TW\Lambda=0\\ XLX^TW= XDX^TW \Lambda\\ 有:(XDX^T)^{-1}XLX^TW=W\Lambda 2XLXTW2XDXTWΛ=0XLXTW=XDXTWΛ有:(XDXT)1XLXTW=WΛ

W由 ( X D X T ) − 1 X L X T (XDX^T)^{-1}XLX^T (XDXT)1XLXT的特征向量作为列向量构成,且为了最小化目标函数,选取的特征向量应该是最小m个特征值对应的特征向量

相关定义
  • 权重矩阵S:

    • 定义样本 x i x_i xi x j x_j xj之间的权重 w i j w_{ij} wij, 原则是样本点之间距离越小,权重越大

    • 权重矩阵S常用定义方式:
      S i j = { s i j = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 t ) x i ∈ N k ( x j ) 即 x i 是 x j 的 k 近邻 s i j = 0 e l s e S_{ij} = \left\{ \begin{matrix} s_{ij} = exp(-\frac{||x_i - x_j||^2}{t})\ \ \ \ \ x_i∈N_k(x_j) 即x_i是x_j的k近邻\\ s_{ij}=0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ else \end{matrix} \right. Sij={sij=exp(t∣∣xixj2)     xiNk(xj)xixjk近邻sij=0                                                                else

  • 度矩阵D:

    • 度矩阵D是一个对角阵,其对角元素 D i i = ∑ j = 1 n s i j D_{ii} = \sum_{j=1}^{n} s_{ij} Dii=j=1nsij

    • D = { ∑ j = 1 n s 1 j 0 . . . 0 0 ∑ j = 1 n s 2 j . . . 0 . . . . . . . . . . . . 0 0 . . . ∑ j = 1 n s n j } D= \left. \left \{ \begin{matrix} \sum_{j=1}^ns_{1j}\ \ \ \ 0\ \ \ \ ...\ \ \ \ 0 \\ 0\ \ \ \ \sum_{j=1}^ns_{2j}\ \ \ \ ...\ \ \ \ 0 \\ ...\ \ \ \ ...\ \ \ \ ...\ \ \ \ ... \\ 0\ \ \ \ 0\ \ \ \ ...\ \ \ \ \sum_{j=1}^ns_{nj} \end{matrix} \right. \right\} D= j=1ns1j    0    ...    00    j=1ns2j    ...    0...    ...    ...    ...0    0    ...    j=1nsnj

  • 拉普拉斯矩阵L:L=D-S

有运算:
Y D Y T = [ y 1 , y 2 , . . . , y n ] [ d 11 0 . . . 0 0 d 22 . . . 0 . . . . . . . . . . . . 0 0 . . . d n n ] [ y 1 T y 2 T . . . y n T ] = [ d 11 y 1 , d 22 y 2 , . . . , d n n y n ] [ y 1 T y 2 T . . . y n T ] = d 11 y 1 y 1 T + d 22 y 2 y 2 T + . . . + d n n y n y n T = ∑ i = 1 n y i d i i y i T = ∑ i = 1 n d i i y i y i T YDY^T = [y_1,y_2,...,y_n] \left. \left [ \begin{matrix} d_{11}\ \ \ \ 0\ \ \ \ ...\ \ \ \ 0 \\ 0\ \ \ \ d_{22}\ \ \ \ ...\ \ \ \ 0 \\ ...\ \ \ \ ...\ \ \ \ ...\ \ \ \ ... \\ 0\ \ \ \ 0\ \ \ \ ...\ \ \ \ d_{nn} \end{matrix} \right. \right] \left. \left [ \begin{matrix} y_1^T \\ y_2^T \\ ... \\ y_n^T \end{matrix} \right. \right] \\ =[d_{11}y_1,d_{22}y_2,...,d_{nn}y_n] \left. \left [ \begin{matrix} y_1^T \\ y_2^T \\ ... \\ y_n^T \end{matrix} \right. \right] \\ =d_{11}y_1y_1^T + d_{22}y_2y_2^T + ... + d_{nn}y_ny_n^T=\sum_{i=1}^ny_id_{ii}y_i^T=\sum_{i=1}^nd_{ii}y_iy_i^T\\ YDYT=[y1,y2,...,yn] d11    0    ...    00    d22    ...    0...    ...    ...    ...0    0    ...    dnn y1Ty2T...ynT =[d11y1,d22y2,...,dnnyn] y1Ty2T...ynT =d11y1y1T+d22y2y2T+...+dnnynynT=i=1nyidiiyiT=i=1ndiiyiyiT
因此有:
t r ( Y D Y T ) = ∑ i = 1 n d i i y i T y i tr(YDY^T) = \sum_{i=1}^nd_{ii}y_i^Ty_i tr(YDYT)=i=1ndiiyiTyi
类似可得:
t r ( Y S Y T ) = ∑ i = 1 n ∑ j = 1 n s i j y i T y j tr(YSY^T) = \sum_{i=1}^n\sum_{j=1}^ns_{ij}y_i^Ty_j tr(YSYT)=i=1nj=1nsijyiTyj

方法流程
1)由样本矩阵X构建权重矩阵S,度矩阵D,拉普拉斯矩阵L

2)求 ( X D X T ) − 1 X L X T (XDX^T)^{-1}XLX^T (XDXT)1XLXT的特征向量,取最小m个作列向量构成变换矩阵W

3)由 Y = W T X Y=W^TX Y=WTX完成降维

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/163233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32 Arduino实战传感器篇-- DHT11 DHT22 使用 Web 服务器显示值

该项目采用 ESP32 作为控制设备,连接到现有的 WiFi 网络并创建 Web 服务器。当设备连接到该 Web 服务器时,ESP32 将从 DHT11/DHT22 传感器读取温度和相对湿度,并将其发送到设备的 Web 浏览器,并具有良好的界面。兴奋的?让我们开始吧! ESP32 内置了温度传感器,为什么不使…

咖啡馆管理系统点餐外卖小程序效果如何

咖啡一直是很多人喜欢的饮品,比如有些地区的人非常喜欢,熬夜加班醒脑等,咖啡领域市场规模逐年增加,相应的从业商家也在增加,近些年随着线上生态崛起,传统线下咖啡馆经营痛点显露出来。 通过【雨科】平台搭建…

目标检测算法 - YOLOv4

文章目录 1. 简介2. YOLOv4整体结构3. Backbone4. Neck 1. 简介 YOLOv4是YOLOv3的改进版。YOLOv4并不是原YOLO项目的作者。发表于CVPR2020。 改进: 主干特征提取网络:Darknet53 -> CSPDarknet53特征金字塔:SPP,PAN分类回归层…

每天学习一点点之 Tomcat 是如何清除过期 Session 的

今天使用一种很临时的方案解决 Session 泄漏的问题:缩短 Session 的过期时间。这种方法虽然简单,但却非常有效。然而,这引发了一个问题:我们应该将过期时间设置为多短呢?在 Spring Boot 中,最短的过期时间是…

实在智能携“TARS大模型”入选“2023中国数据智能产业AI大模型先锋企业”

近日,由数据猿与上海大数据联盟联合主办的“2023企业数智化转型升级发展论坛”在上海圆满收官。 论坛颁奖典礼上,《2023中国数据智能产业AI大模型先锋企业》等六大榜单正式揭晓,旨在表彰在AI领域为数智化升级取得卓越成就和突出贡献的企业&am…

解决“使用 CNKI 保存时发生错误。改为尝试用 DOI 保存。”【Bug Killed】

文章目录 简介解决办法跟新本地Zotero中茉莉花插件的非官方维护中文翻译器更新网页插件Zetero Connector中的Transtors 结语参考资料 简介 使用Chrome ➕ Zotero Connector保存中国知网(CNKI)的参考文献到本地的Zotero时无法正常保存,出现使…

Altium Designer学习笔记8

创建原理图元件: 画出原理图: 根据规则书画出原理图: 根据规则书画出封装图: 参照: 确认下过孔的内径和外径的最小允许值。

Vatee万腾的数字时代探险:vatee科技力量的未来洞悉

在数字化的时代潮流中,Vatee万腾以其强大的科技力量,正在进行一场前所未有的数字时代探险。 Vatee万腾的数字时代探险源于其对未来的洞悉。通过深度研究和前瞻性思考,他们将科技力量与未来趋势相结合,勾勒出数字时代的新蓝图&…

springboot注解@NotNull,@NotBlank,@Valid自动判定空值

一.前言 使用springboot搭建项目时,我们都是采用的Restful风格接口,这里面问题来了,当前端调用接口或者是其他项目调用时,传入参数时我们不能单一靠调用方来控制参数的准确性,自己也要一些参数进行判断,进行非空之类的…

露营管理系统预约小程序效果如何

旅游经济已经复苏,并且市场规模增速加快,近一年来远途/周边游客户增多,不少旅游景区在节假日常常面对客流爆满现象。同时露营作为近几年突然火热的项目,其需求也是日渐上升。 然而在高需求的同时,我们也看到露营经营痛…

【数组栈】实现

目录 栈的概念及其结构 栈的实现 数组栈 链式栈 栈的常见接口实现 主函数Test.c 头文件&函数声明Stack.h 头文件 函数声明 函数实现Stack.c 初始化SLInit 扩容Createcapacity 压栈STPush 出栈STPop 栈顶元素STTop 判断栈是否为空STempty 栈内元素个数STSzi…

Mysql中join on中的like使用

1、使用mysql中的函数CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 SELECT * FROM Table1 INNER JOIN Table2 ON Table1.col LIKE CONCAT(%, Table2.col, %) 2、放弃使用join语句 SELECT * FROM Table1, T…

使用sqlserver备份还原,复制迁移数据库

文章目录 前言一、备份数据库二、还原数据库三、其他 前言 当初学sqlserver复制数据库的时候,老师只教了右键数据库生成sql脚本,没说数据库非常大的时候咋搞啊,分离数据库复制一份后在附加上去太危险了 百度一下备份还原数据库针对小白的资料…

docker安装mysql及主从配置

创建mysql配置文件:my.cnf 主库配置: [client] ## 默认编码格式 default-character-setutf8mb4 [mysqld] ## 设置server-id,同一局域网中需要唯一 server-id101 ## 设置编码格式 character-set-serverutf8mb4 ## 允许最大连接数 max_conne…

Redis key键

Redis 是一种键值(key-value)型的缓存型数据库,它将数据全部以键值对的形式存储在内存中,并且 key 与 value 一一对应。这里的 key 被形象的称之为密钥,Redis 提供了诸多操作这把“密钥”的命令,从而实现了…

财报解读:电商GMV增长30%后,快手将坚守本地生活?

快手逐渐讲好了其高质量成长的故事。 根据财报,快手三季度业绩超出预期,其中,营收279.5亿元,同比增长20.8%;调整后净利润31.7亿元,同比扭亏为盈。 而联系市场环境来看,三季度广告、电商市场较…

超详细的pytest玩转HTML报告:修改、汉化和优化

前言 Pytest框架可以使用两种测试报告,其中一种就是使用pytest-html插件生成的测试报告,但是报告中有一些信息没有什么用途或者显示的不太好看,还有一些我们想要在报告中展示的信息却没有,最近又有人问我pytest-html生成的报告&a…

javascript Math相关计算取值属性方法

*向上取整【只要有小数就+1】 Math.ceil(3.14); // 4 *向下取整【有小数就舍弃】 Math.floor(3.14); // 3 parseInt(3.14); // 3 // 常用于字符串类型的数字转为十进制的数据 四舍五入【小数点后部分】 Math.round(11.5)); //12 Math.round(-11.5)); //-11 取两数…

6-使用nacos作为注册中心

本文讲解项目中集成nacos,并将nacos作为注册中心使用的过程。本文不涉及nacos的原理。 1、项目简介 以一个演示项目为例,项目包含三个服务,调用及依赖如下图: 由图中可以看出,coupon-customer-serv为服务的消费者&a…