Semi-Supervised Dimensionality Reduction
今天阅读了一篇关于半监督降维的论文,做个总结。这篇论文的全名叫《Semi-Supervised Dimensionality Reduction》(2006),是南大周志华老师的大作。
本文提出了一种新的半监督降维算法,并与其他几种半监督降维算法进行了比较。
传 统的机器学习方法通过大量带标注训练样本学习得到模型参数,并根据模型对新样本进行预测。一方面,手工标注样本的标号既费时又费力,而我们当今身处信息爆 炸的时代,这更为人工标注数据增加了难度;另一方面,获取大量未标注数据相对容易得多。如果只依赖于少量标注数据进行学习,那么势必会造成过拟合 (overfitting,即在训练数据集上预测能力很好,但在测试集上预测效果很差的现象),特别是在属性维远远高于样本维的时候。解决过拟合的一个方 法就是增加训练样本,但是限于人力物力无法大量获得标注样本,然而有学者研究发现,无标注数据中蕴含大量有用的信息,利用这些信息可以大幅度改善学习机的 性能。因此,人们自然想到了结合少量标注数据(先验知识)和大量未标注数据来学习提高学习机泛化能力(generalization ablity)的方法,这种方法就是半监督学习(Semi-Supervised Learning,SSL)。
机器学习的三个大方向是:分类、回归、聚类,照此划分方式,我们可以将半监督学习分为:
半监督分类
半监督回归
半监督聚类
目前,半监督回归和半监督聚类这两个方向还比较新,可以出很多的论文
常见的先验知识主要有两种。第一种是标号信息,这类先验信息用在分类方面比较多,如Cai deng的SDA,Zhou deng yong的Label Propagation等;
第 二种是成对约束(pairwise constraint),这类信息主要用于聚类,约束有两种,一个是正约束(must-link),正约束指定两个sample必须属于同一类;另一个是 负约束(cannot-link),与正约束相反。这两种信息都可以结合进半监督降维中。不过约束形式的先验知识更普遍,应用更广。主要原因有2个:1是 成对约束比标号信息更容易获得,人工标注需要相关领域的专家知识,而分辨两个样本是否属于同一类则轻松的多,甚至普通人就能做到;2是从标号信息可以推出 约束信息,反之则不然,因此可以说约束比标号更普遍、通用
下面进入正文,介绍一下这篇论文的基本思想
该算法的目标函数是:
\begin{align}
J(w) = &\frac{1}{2n^2}\sum_{i,j}({w}^T{x}_i-{w}^T{x}_j)^2\\
&+\frac{\alpha}{2n_C} \sum_{({x}_i,{x}_j)\in C}({w}^T{x}_i - {w}^T{x}_j)^2\\
&-\frac{\beta}{2n_M}\sum_{({x}_i,{x}_j)\in M}({w}^T{x}_i - {w}^T{x}_j)^2
\end{align}
其
中,$w$是投影向量,$n_C$是cannot-link的数量,$n_M$是must-link的数量,$x_i$表示第i个样本,是个列向量。其实
这个目标函数的含义很直观,第一项$\frac{1}{2n^2}\sum_{i,j}({w}^T{x}_i-{w}^T{x}_j)^2$是所有点之
间距离的平均值,比如有n个点,那么就有$\frac{n(n-1)}{2}$个这样的点对。第二项是cannot-link集合的点之间的平均距离。第
三项同理,是must-link集合点之间的平均距离。注意的是,通常cannot-link点对之间的距离比其他项要大得多,因此我们需要调节这三项之
间的比例,使得目标函数不会失衡,这体现在后两项的参数数$\alpha$,$\beta$上,一般$\beta$大于1,$\alpha$要小一点。对
于这个函数,我们希望投影后的空间中,cannot-link的点对距离尽可能地大,must-link的点对距离尽可能地小,因此这个函数越大越好。
定义了目标函数我们就可以开始求解它了,我们可以将目标函数进一步写成如下更简练的形式:
\( J(w) = \frac{1}{2} \sum_{i,j}({w}^T{x}_i - {w}^T{x}_j)^2S_{ij}\)
这样,我们就可以用一个图来对这个函数进行建模了。其中$S_{ij}$是图的相似度,其定义如下:
\(S_{ij} = \begin{cases}
\frac{1}{n^2}+\frac{\alpha}{n_C}\qquad&\mbox{if$(x_i,x_j)\in C$}\\
\frac{1}{n^2}-\frac{\beta}{n_M}\qquad&\mbox{if$(x_i,x_j)\in M$}\\
\frac{1}{n^2}\qquad&\mbox{otherwise}
\end{cases}\)
接下来的计算需要用到一些谱图理论的知识,如果不懂可以参考原论文,我们可以将上面的目标函数化简为:
\( J(w) = {w}^T{X}{L}{X}^T{w} \)
其中$L=D-S$是图的Laplacian矩阵,$D$是对角矩阵,其中$D_{ii} = \sum_j W_{ij}$
我们可以加入约束保证得到一个单位向量$w^Tw=1$
我们的目标是最大化这个函数,最大化这个函数等价于寻找矩阵$XLX^T$的最大特征值。
因
此,只要对矩阵$XLX^T$进行特征值分解,求得的前$d$个最大特征值对应的特征向量$w_i$组成投影矩阵,对原始数据进行投影,之后在降维后的子
空间进行分类或者聚类就可以了。由于结合了约束信息,所以聚类的结果比无监督的结果会好很多。随着约束数量的提高,结果会越来越好。
评价:
SSDR结合了成对约束信息,并在低维空间中保持了这些信息,同时为所有未标注点分配了相同的权重,从而也使得全局结构也在低维流形空间中得到了保留。但缺点是只考虑了低维流形的全局结构而忽略了其局部结构,而实际上这两者缺一不可。因此改进可以从这方面着手。
Semi-Supervised Dimensionality Reduction的更多相关文章
- 壁虎书8 Dimensionality Reduction
many Machine Learning problems involve thousands or even millions of features for each training inst ...
- 斯坦福机器学习视频笔记 Week8 无监督学习:聚类与数据降维 Clusting & Dimensionality Reduction
监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analy ...
- Stanford机器学习笔记-10. 降维(Dimensionality Reduction)
10. Dimensionality Reduction Content 10. Dimensionality Reduction 10.1 Motivation 10.1.1 Motivation ...
- 可视化MNIST之降维探索Visualizing MNIST: An Exploration of Dimensionality Reduction
At some fundamental level, no one understands machine learning. It isn’t a matter of things being to ...
- 多因子降维法(MDR,multifactor dimensionality reduction)
多因子降维法(MDR,Multifactor Dimensionality Reduction ) MDR是近年统计学中发展起来的一种新的分析方法.其中,“因子” 即交互作用研究中的变量,“维” 是指 ...
- [Scikit-learn] 4.4 Dimensionality reduction - PCA
2.5. Decomposing signals in components (matrix factorization problems) 2.5.1. Principal component an ...
- 海量数据挖掘MMDS week4: 推荐系统之数据降维Dimensionality Reduction
http://blog.csdn.net/pipisorry/article/details/49231919 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
- 第八章——降维(Dimensionality Reduction)
机器学习问题可能包含成百上千的特征.特征数量过多,不仅使得训练很耗时,而且难以找到解决方案.这一问题被称为维数灾难(curse of dimensionality).为简化问题,加速训练,就需要降维了 ...
- [UFLDL] Dimensionality Reduction
博客内容取材于:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.html Deep learning:三十五(用NN实现数据 ...
- 单细胞数据高级分析之初步降维和聚类 | Dimensionality reduction | Clustering
个人的一些碎碎念: 聚类,直觉就能想到kmeans聚类,另外还有一个hierarchical clustering,但是单细胞里面都用得不多,为什么?印象中只有一个scoring model是用kme ...
随机推荐
- 第4天:function对象(案例:获取当前日期属于当年第几天、arguments对象、函数类型、参数、返回值、自身调用)
获取当前日期输入当年第几天 //输入,年月日,获取这个日期是这一年的第几天 //年-月--日:20171月31日 function getDay(year,month,day){ //定义变量存储对应 ...
- [android] 通过比对进行容器联动
当中间容器变化之后,标题栏也要跟着变化 设计个比对依据: 抽象类BaseView中定义抽象方法,每个继承的View都必须实现,为自己的界面定义一个唯一的int常量,作为比对依据 降低容器之间的耦合度: ...
- spring的事务传播行为
1.PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置. 比如说,ServiceB.methodB的事务级别定义为PRO ...
- EasyUI datebox 日期范围 日期关联
jQuery EasyUI 1.4.5 html: <label>提交日期:</label> <input id="startDate" name=& ...
- ecs CentOS 7 安装 mariadb
检查之前是否已经安装 rpm -qa | grep mariadb 如果已安装,卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 开 ...
- PAT 1048. Find Coins
two sum题目,算是贪婪吧 #include <cstdio> #include <cstdlib> #include <vector> #include &l ...
- Echarts按需引入后没有显示图例问题
因为Echarts官网的例子都是引入整个Echarts.js.如果使用按需引入对应模块就要记得引入legend模块,才能显示出图例. 例如这样: require("echarts/lib/c ...
- Java中的深拷贝和浅拷贝(转载)
深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java.虽然java自动管理对象的回收,但对于深拷贝(深复 ...
- ArcGIS中国工具(ArcGISCTools)2.0正式发布
ArcGIS中国工具,简称CTools,集成在ArcMap10.0, ArcMap10.1, ArcMap10.2,安装就可以直接使用.主要有以下功能 1.接合图表生成2.图框工具3.制图工具4.图形 ...
- C++中protected的访问权限
关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然. 我再次读<C++ Primer>的时候,其中关于prote ...