DLA降维简述

DLA起源之解

考虑一个样本集合X=[x1,x2...xN],每个样本属于C个类中的一个。我们可以使用类似于PCA,LDA的线性降维方法将x由m维降至d维(m>d)。但是线性降维方法存在一些问题,例如LDA中的求逆运算,经常可能因为矩阵的奇异性是降维结果恶化。而这里介绍的DLA方法可以避免这个问题。对了忘了给DLA一个‘名正言顺‘的名字,全名就是‘Discriminative Locality Alignment‘。名字不是我取的,就不要取笑博主说取了这么难懂的名字了。

DLA三部曲

DLA的降维矩阵计算分为3个步骤:

  • 为数据集中的每个样本 建立一个patch,这个patch主要是本样本及其neighbors构成,既有本类还有其它类的样本。可以这样认为,每个patch都包含了局部判别信息,称这个步骤为‘part optimization‘。
  • margin degree可以看成是该样本在正确分类的贡献的多少的衡量尺度,贡献越大,重要性越高,称这个步骤为‘sample weighting‘。
  • 最后一步称为‘whole alignment‘,是将所有的patch整合起来,求其最优化结果,得到降维矩阵。

Part Optimization

对于某个样本xi,我们选择k1个同类的最近邻样本[xi1,xi2,...xik1],选择k2个非同类的最近邻样本[xi1,xi2,...xik2],这样我们就构建了样本xi的patch:Xi=[xi,xi1,xi2,...xik1,xi1,xi2,...xik2],对这个patch的降维结果,我们可以记为Yi=[yi,yi1,yi2,...yik1,yi1,yi2,...yik2]。讲到这里,突然想起了降维的目的,简化运算复杂度是其一,还有就是可以将不同的类分离这也是一个目的!!!所以这里我们也是希望,降维后Y中同类样本更近些,而与xi不同类样本离之远些。写成公式就是

argminyi∑j=1k1||yi?yij||2

argmaxyi∑p=1k2||yi?yip||2

将上面的两个公式整合在一起就得到了下面的公式

argminyi(∑j=1k1||yi?yij||2?β∑p=1k2||yi?yip||2)

其中的β是一个尺度因子,取值范围[0,1]
将同类样本的系数1和异类样本的系数β构成一个系数向量 ω=[1,...1,?β,..?β],于是上面那个公式可以用矩阵运算表示:


其中ek1+k2=[1,...1]T的k1+k2维列向量,I是一个单位矩阵
所以最后可以计算出Li矩阵如下:

Margin Degree

为了衡量一个样本的重要性,我们使用了margin degree这一概念。通常在机器学习中,一个样本的重要性并不是它能否更为正确的区分,相反是它的难分程度,越难区分则越重要。
在此处,我们通过在样本xi的周围画一个半径ξ大小的圈,圈中的非同类样本数为ni,则margin degree可以定义为

mi=exp(?1ni+δ)t

加入mi后,前面的公式转为:

Whole Alignment

定义一个值为0-1的N?(k1+k2+1)的矩阵Si,它用于从样本全集Y中找出Yi,即Yi=YSi,其中,(Si)pq=1ifp=Fiq
这样上面的式子又可以写成:


最终,整个数据集的优化变为了:

而对L矩阵的求解,可以用如下方法,(L初始化为N*N的0矩阵):

最终我们的优化问题变为:求降维矩阵U,使下式最小:

解决方法是求XLXTu=λu的前d个最小特征根对应的特征向量

最后推荐在使用DLA降维前,先使用PCA去除一些噪声。

来自为知笔记(Wiz)

时间: 2024-08-29 13:44:21

DLA降维简述的相关文章

白话“主成分分析” 1 :主成分分析用于降维的思想

目录 白话"主成分分析" 1 :主成分分析用于降维的思想 1. 什么是主成分分析 2. PCA 应用于降维的思想 3. 旋转以后的坐标轴应该具有什么性质 3.1 机器学习中的数据使用二维矩阵表示,矩阵中的元素就是坐标 3.2 谈论坐标不能离开基底 3.3 使用"线性代数"的语言描述 PCA 找坐标系的过程 3.3.1 新坐标的各个维度方差依次减少 3.3.2 新坐标的各个维度不能线性相关 3.3.3 协方差矩阵 4.PCA 应用于降维的步骤 白话"主成分分

KTV歌曲推荐-PCA降维+逻辑回归-性别预测及过拟合处理

上一篇使用逻辑回归预测了用户性别,由于矩阵比较稀疏所以会影响训练速度.所以考虑降维,降维方案有很多,本次只考虑PCA和SVD. PCA和SVD原理 有兴趣的可以自己去研究一下 https://www.sangyulpt.com   /@jonathan_hui/machine-learning-singular-value-decomposition-svd-principal-component-analysis-pca-1d45e885e491 我简述一下: PCA是将高维数据映射到低维坐标

Hibernate简述及入门实例

一.Hibernate简述 总的概括,Hibernate是一个ORM的轻量级持久层框架,解决了对象和关系数据库中表的不匹配问题(阻抗不匹配)以及拥有开发代码不用去继承hibernate类或接口的优势(无侵入性).hibernate框架实现使得开发人员可以避免反复地编写javajdbc部分代码,应用面向对象的思维操作关系型数据库. 二.使用myeclipse创建hibernate实例两种方法(以hibernate3.5.2及mysql为例) a)手动编写hibernate.cfg.xml及*.hb

Struts2基本使用(二)--配置文件简述

配置文件简述 引入Struts2框架之后项目中多了一个struts.xml,以及web.xml也多了一些代码 web.xml只要的功能就是拦截用户的请求其多出的代码如下: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class&

[降维] PCA 主成分分析

其实早该整理一下PCA了,怎奈一直没有时间,可能是自己对时间没有把握好吧,下面进入正题. 降维的概念 所谓降维,就是降低数据的维数.在机器学习中尤其常见,之前做过对一幅图片提取小波特征,对于一幅大小为800*600的图片,如果每个点提取五个尺度.八个方向的特征,那么每一个像素点提取40个特征,那么一副图片的话就是40*800*600=19200000个特征.也就是我们用一个19200000的向量描述一幅图片.如果有m幅图片,那么特征为m*19200000的大小.显然这个维数太大了,所以需要降维.

简述23种软件设计模式

简述23种软件设计模式 一.设计模式分类 总体来说设计模式分为三大类: 五种创建型模式:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 七种结构型模式:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 十一种行为型模式:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 二.设计模式概述 创建型模式 1.工厂方法模式 工厂方法模式的创建是因为简单工厂模式有一个问题,在简单工厂模式

高维特征降维方法-随机映射

%生成随机矩阵并标准正交化 a= randn(3)orth(a) %随机投影进行降维 c=magic(3)d=c*b %验证距离 sim=squareform(pdist(d,'euclidean'))sim=squareform(pdist(c,'euclidean'))sim=squareform(pdist(b,'euclidean')) 参考文章: http://xueshu.baidu.com/s?wd=paperuri%3A%28f13f07876aa5d65d72fe4722c62

Spark 学习: spark 原理简述与 shuffle 过程介绍

Spark学习: 简述总结 Spark 是使用 scala 实现的基于内存计算的大数据开源集群计算环境.提供了 java,scala, python,R 等语言的调用接口. Spark学习 简述总结 引言 1 Hadoop 和 Spark 的关系 Spark 系统架构 1 spark 运行原理 RDD 初识 shuffle 和 stage 性能优化 1 缓存机制和 cache 的意义 2 shuffle 的优化 3 资源参数调优 4 小结 本地搭建 Spark 开发环境 1 Spark-Scal

JavaScript事件简述

事件简述 技术一般水平有限,有什么错的地方,望大家指正. 事件是我们平时经常使用,这次就来了解一下事件.首先我们要明确几个概念,JavaScript是单线程,浏览器是多线程的,并不是所有的事件处理函数都是异步的. 前两个我们都知道,这里我们主要介绍第三个.事件处理函数可以在将来执行,只要满足触发条件就会执行事件处理函数.我们经常看到的一个场景,在循环中为一组元素绑定事件,弹出它在这组元素中的索引: <button>button1</button><button>butt