降维算法——LE算法的推导
LE算法简介及其推导
1.简单介绍
Laplacian Eigenmaps是一种降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。具体来讲,拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。
2.推导
拉普拉斯特征映射通过构建邻接矩阵为W(邻接矩阵定义见这里)的图来重构数据流形的局部结构特征。其主要思想是,如果两个数据实例i和j很相似,那么i和j在降维后目标子空间中应该尽量接近。设数据实例的数目为n,目标子空间即最终的降维目标的维度为m。定义n×m大小的矩阵Y,其中每一个行向量 y i T y_i^T yiT 是数据实例i在目标m维子空间中的向量表示(即降维后的数据实例i)。我们的目的是让相似的数据样例i和j在降维后的目标子空间里仍旧尽量接近,故拉普拉斯特征映射优化的目标函数如下:
m i n ∑ i , j ∣ ∣ y i − y j ∣ ∣ 2 A i j min\sum_{i,j}||y_i-y_j||^2A_{ij} mini,j∑∣∣yi−yj∣∣2Aij
= ∑ i = 1 n ∑ j = 1 n ∣ ∣ y i − y j ∣ ∣ 2 A i j =\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2A_{ij} =i=1∑nj=1∑n∣∣yi−yj∣∣2Aij
= ∑ i = 1 n ∑ j = 1 n ( y i T y i − 2 y i T y j + y j T y j ) A i j =\sum_{i=1}^n\sum_{j=1}^n(y_i^Ty_i-2y_i^Ty_j+y_j^Ty_j)A_{ij} =i=1∑nj=1∑n(yiTyi−2yiTyj+yjTyj)Aij
= ∑ i = 1 n ( ∑ j = 1 n A i j ) y i T y i + ∑ j = 1 n ( ∑ i = 1 n A i j ) y j T y j − 2 ∑ i = 1 n ∑ j = 1 n y i T y i A i j =\sum_{i=1}^n(\sum_{j=1}^nA_{ij})y_i^Ty_i+\sum_{j=1}^n(\sum_{i=1}^nA_{ij})y_j^Ty_j-2\sum_{i=1}^n\sum_{j=1}^ny_i^Ty_iA_{ij} =i=1∑n(j=1∑nAij)yiTyi+j=1∑n(i=1∑nAij)yjTyj−2i=1∑nj=1∑nyiTyiAij
其中 A i j A_{ij} Aij为度矩阵,且 ∑ j = 1 n A i j \sum_{j=1}^nA_{ij} ∑j=1nAij和 ∑ i = 1 n A i j \sum_{i=1}^nA_{ij} ∑i=1nAij分别表示节点 i i i和 j j j的度数,故
= 2 ∑ i = 1 n D i i y i T y i − 2 ∑ i = 1 n ∑ j = 1 n y i T y i A i j =2\sum_{i=1}^nD_{ii}y_i^Ty_i-2\sum_{i=1}^n\sum_{j=1}^ny_i^Ty_iA_{ij} =2i=1∑nDiiyiTyi−2i=1∑nj=1∑nyiTyiAij
= 2 ∑ i = 1 n ( D i j y i ) T ( D i j y i ) − 2 ∑ i = 1 n y i T ( ∑ j = 1 n y j A i j ) =2\sum_{i=1}^n(\sqrt{{D_{ij}}}y_i)^T(\sqrt{{D_{ij}}}y_i)-2\sum_{i=1}^ny_i^T(\sum_{j=1}^ny_jA_{ij}) =2i=1∑n(Dij yi)T(Dij yi)−2i=1∑nyiT(j=1∑nyjAij)
= s t r a c e ( Y T D Y ) − 2 ∑ i = 1 n y i T ( Y A ) =strace(Y^TDY)-2\sum_{i=1}^ny_i^T(YA) =strace(YTDY)−2i=1∑nyiT(YA)
= 2 t r a c e ( Y T D Y ) − 2 t r a c e ( Y T A Y ) =2trace(Y^TDY)-2trace(Y^TAY) =2trace(YTDY)−2trace(YTAY)
= 2 t r a c e [ Y T ( D − A ) Y ] =2trace[Y^T(D-A)Y] =2trace[YT(D−A)Y]
= 2 t r a c e ( Y T L Y ) =2trace(Y^TLY) =2trace(YTLY)
其中, D − A = L D-A=L D−A=L, L L L 为拉普拉斯矩阵。
变换后的拉普拉斯特征映射优化的目标函数如下:
m i n t r a c e ( Y T L Y ) , s . t . Y T A Y = I min trace(Y^TLY), s.t.Y^TAY = I mintrace(YTLY),s.t.YTAY=I
其中限制条件 s . t . Y T L Y = I s.t.Y^TLY = I s.t.YTLY=I保证优化问题有解,下面用拉格朗日乘数法对目标函数求解:
f ( Y ) = t r ( Y T L Y ) + t r [ Λ ( Y T D Y − I ) ] f(Y) = tr(Y^TLY) + tr[\Lambda(Y^TDY-I)] f(Y)=tr(YTLY)+tr[Λ(YTDY−I)]
∂ f ( Y ) ∂ Y = L Y + L T Y + D T Y Λ T + D Y Λ \frac{\partial f(Y)}{\partial Y}=LY + L^TY + D^TY\Lambda^T + DY\Lambda ∂Y∂f(Y)=LY+LTY+DTYΛT+DYΛ
= 2 L Y + 2 D Y Λ =2LY + 2DY\Lambda =2LY+2DYΛ
令偏导数等于0,即 L Y = − D Y Λ LY = -DY\Lambda LY=−DYΛ
L y = λ D y Ly = \lambda Dy Ly=λDy是一个广义特征值问题。通过求得m个最小非零特征值所对应的特征向量,即可达到降维的目的。
3.步骤
1:构建图
使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。K是一个预先设定的值。
2:确定权重
确定点与点之间的权重大小,例如选用热核函数来确定。
3:特征映射
计算拉普拉斯矩阵L的特征向量与特征值: L y = λ D y Ly = \lambda Dy Ly=λDy
使用最小的m个非零特征值对应的特征向量作为降维后的结果输出。
降维算法——LE算法的推导相关推荐
- ML-降维:PCA、SVD、LDA、MDS、LLE、LE算法总结
1.PCA主成分分析 PCA是不考虑样本类别输出的无监督降维技术,实现的是高维数据映射到低维的降维. PCA原理这个介绍的不错:https://www.cnblogs.com/pinard/p/623 ...
- 机器学习-降维算法(MDS算法)
机器学习-降维算法(MDS算法) 一,介绍 在现实数据中,很多数据都是高纬度的,在高纬度情况下进行数据处理将会有极大的数据处理量.为了,减少计算量,常常需要缓解这种数据维度灾难,这有两种途径:降维和特 ...
- Adaboost 算法的原理与推导
Adaboost 算法的原理与推导 0 引言 一直想写Adaboost来着,但迟迟未能动笔.其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩.昨日11月1日下 ...
- Adaboost 算法的原理与推导(转载)
0 引言 一直想写Adaboost来着,但迟迟未能动笔.其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩.昨日11月1日下午,在我组织的机器学习班 第8次课上 ...
- em算法详细例子及推导_第九章-EM算法
从第九章开始,学习总结的东西有所不同了,第2-8章是分类问题,都属于监督学习,第9章EM算法是非监督学习.本文主要是总结EM算法的应用以及处理问题的过程和原理推导. EM算法 EM算法(期望极大算法 ...
- Adaboost 算法的原理与推导(JUly)
Adaboost 算法的原理与推导 0 引言 一直想写Adaboost来着,但迟迟未能动笔.其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩.昨日11月1日下 ...
- 机器学习(十)——期望值最大算法(EM算法)
10.期望值最大算法(EM算法) 1.Jensen不等式 设 fff 为一个函数,其定义域(domain)为整个实数域(set of real numbers).这里要回忆一下,如果函数 fff 的二 ...
- 二、【绪论】算法和算法评价
算法和算法评价 1 算法的基本概念 算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作.一般具有下列5个重要特性: 有穷性:一个算法必须在执 ...
- 漫画说算法--动态规划算法三(绝对通俗易懂,非常棒)
在前两集漫画中,我们通过一个算法问题的完整解题过程,讲述了动态规划的基本概念和思想.没看过前两集的朋友可以点击下面的链接: 漫画说算法–动态规划算法一(绝对通俗易懂,非常棒) 漫画说算法–动态规划算法 ...
最新文章
- 诺丁汉大学高级计算机科学,诺丁汉大学博士生奖学金介绍
- Powershell记录2
- MySQL-事务管理(基础)
- 【Linux】10_存储管理EXT4文件系统详解
- threadlocal使用_多方位点评ThreadLocal,细看各大开源软件实现
- 馒头,国庆节快乐啊!!~~~!
- 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?
- Android开发之gradle重命名aar包的写法
- leetcode50. Pow(x, n)(快速幂)
- 数学史上最简单却最复杂的公式在此
- Android学习笔记---26_网络通信之资讯客户端,使用pull解析器,解析,从网络中获得的自定义xml文件
- Redis的实现原理
- 【数据结构和算法笔记】用并查集求解等价关系
- 用户故事与敏捷方法—故事不是什么
- 电脑硬盘怎么测试软件,HD Tune pro硬盘检测工具怎么用
- 教程系列 - 用模板快速上线一个HR 服务中心
- Web前端工程师 VS 前端工程师?What?
- CAN 报文编码学习笔记二:汽车CAN协议测试——发送与接收
- 5G牌照都发完了,那些传说中的5G手机Ready了吗?
- 基于JAVA中文网络小说平台系统计算机毕业设计源码+系统+数据库+lw文档+部署
热门文章
- matlab精细模型的特点,认知模板说、模型说、特征说的优缺点
- Mac10.14.2删除自带ABC输入法(OK!)
- 跟着项目学sql(二) 三大范式
- Python语言是编译型语言还是解释型语言?(Python程序执行过程)
- 【涨知识】科学摆摊之手机贴膜 (防窥膜原理)
- socket通讯原理及例程(一看就懂)
- 【Tip】卸载AMD Ryzen Master
- 织梦网站数据库上传到服务器,织梦网站数据库上传到服务器
- 第一讲: HTML简介、转义字符、CSS样式、基本选择器
- 在 3ds Max 中创建逼真的玻璃材质