今天阅读了一篇关于半监督降维的论文,做个总结。这篇论文的全名叫《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的更多相关文章

  1. 壁虎书8 Dimensionality Reduction

    many Machine Learning problems involve thousands or even millions of features for each training inst ...

  2. 斯坦福机器学习视频笔记 Week8 无监督学习:聚类与数据降维 Clusting & Dimensionality Reduction

    监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analy ...

  3. Stanford机器学习笔记-10. 降维(Dimensionality Reduction)

    10. Dimensionality Reduction Content  10. Dimensionality Reduction 10.1 Motivation 10.1.1 Motivation ...

  4. 可视化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 ...

  5. 多因子降维法(MDR,multifactor dimensionality reduction)

    多因子降维法(MDR,Multifactor Dimensionality Reduction ) MDR是近年统计学中发展起来的一种新的分析方法.其中,“因子” 即交互作用研究中的变量,“维” 是指 ...

  6. [Scikit-learn] 4.4 Dimensionality reduction - PCA

    2.5. Decomposing signals in components (matrix factorization problems) 2.5.1. Principal component an ...

  7. 海量数据挖掘MMDS week4: 推荐系统之数据降维Dimensionality Reduction

    http://blog.csdn.net/pipisorry/article/details/49231919 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  8. 第八章——降维(Dimensionality Reduction)

    机器学习问题可能包含成百上千的特征.特征数量过多,不仅使得训练很耗时,而且难以找到解决方案.这一问题被称为维数灾难(curse of dimensionality).为简化问题,加速训练,就需要降维了 ...

  9. [UFLDL] Dimensionality Reduction

    博客内容取材于:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.html Deep learning:三十五(用NN实现数据 ...

  10. 单细胞数据高级分析之初步降维和聚类 | Dimensionality reduction | Clustering

    个人的一些碎碎念: 聚类,直觉就能想到kmeans聚类,另外还有一个hierarchical clustering,但是单细胞里面都用得不多,为什么?印象中只有一个scoring model是用kme ...

随机推荐

  1. 第4天:function对象(案例:获取当前日期属于当年第几天、arguments对象、函数类型、参数、返回值、自身调用)

    获取当前日期输入当年第几天 //输入,年月日,获取这个日期是这一年的第几天 //年-月--日:20171月31日 function getDay(year,month,day){ //定义变量存储对应 ...

  2. [android] 通过比对进行容器联动

    当中间容器变化之后,标题栏也要跟着变化 设计个比对依据: 抽象类BaseView中定义抽象方法,每个继承的View都必须实现,为自己的界面定义一个唯一的int常量,作为比对依据 降低容器之间的耦合度: ...

  3. spring的事务传播行为

    1.PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置. 比如说,ServiceB.methodB的事务级别定义为PRO ...

  4. EasyUI datebox 日期范围 日期关联

    jQuery EasyUI 1.4.5 html: <label>提交日期:</label> <input id="startDate" name=& ...

  5. ecs CentOS 7 安装 mariadb

    检查之前是否已经安装 rpm -qa | grep mariadb 如果已安装,卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 开 ...

  6. PAT 1048. Find Coins

    two sum题目,算是贪婪吧 #include <cstdio> #include <cstdlib> #include <vector> #include &l ...

  7. Echarts按需引入后没有显示图例问题

    因为Echarts官网的例子都是引入整个Echarts.js.如果使用按需引入对应模块就要记得引入legend模块,才能显示出图例. 例如这样: require("echarts/lib/c ...

  8. Java中的深拷贝和浅拷贝(转载)

    深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java.虽然java自动管理对象的回收,但对于深拷贝(深复 ...

  9. ArcGIS中国工具(ArcGISCTools)2.0正式发布

    ArcGIS中国工具,简称CTools,集成在ArcMap10.0, ArcMap10.1, ArcMap10.2,安装就可以直接使用.主要有以下功能 1.接合图表生成2.图框工具3.制图工具4.图形 ...

  10. C++中protected的访问权限

    关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然. 我再次读<C++ Primer>的时候,其中关于prote ...