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 ...
随机推荐
- [PHP] Oauth授权和本地加密
1.Oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方 关键字:appKey appSecre ...
- java线程总结1--线程的一些概念基础以及线程状态
在编程中,很多时候,我们需要计算机同时处理多件事情,例如说,就拿我相对最熟悉的web服务来说,web程序必须支持多用户访问,要不然如果你的用户只能支持一个用户在线访问,其他用户只能以排队的形式等待,估 ...
- Collections自定义List排序规则
Collections自定义List排序规则 //这里的顺序,是我自己定义的一个List<String> String[] regulation = {"jams",& ...
- 注册中心zookeeper-3.4.6集群以及高可用
zookeeper是什么 百度定义: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为 ...
- MySql5.5以上版本设置主从结构的例子
为了实现读写分离,一般都需要先设置好mysql的主从结构,网上现有的mysql配置大都基于低版本,在5.5以上版本无法配置成功,所以参考了官方文档,写了这篇笔记. *主要参考Mysql 5.6的官方文 ...
- 介绍一款小众的IDE
作为前端工程师的你们平时主要使用什么IDE,atom.webstorm.sublime还是vscode? 今天介绍一款比较小众的IDE,Adobe的开源项目Brackets,提供Windows和OS ...
- JavaScript对HTML字符转义与反转义(转码和解码)
HTML的Encode(转码)和解码(Decode)在平时的开发中也是经常要处理的,在这里总结了使用javascript处理HTML的Encode(转码)和解码(Decode)的常用方式 一.用浏览器 ...
- Python-MRO和C3算法
一. python多继承 在前面的学习过程中,我们已经知道了python中类与类之间可以有继承关系,当出现x是一种y的时候就可以使用继承关系.即'is-a'关系,在继承关系中子类自动拥有父类中除了私有 ...
- CSS3弹性盒布局
使用自适应的窗口弹性盒布局 可以使div总宽度等于浏览器宽度,而且可以随着浏览器的改变而改变. <!DOCTYPE html> <html lang="zh-CN" ...
- Spring中无法访问resources目录下页面或静态资源
1.新建项目,在 resources 目录下创建 views 目录,在 views 目录下创建 index.html 页面,项目跑起来,浏览器访问页面,提示找不到页面之类的错误提示. 2.再尝试访问图 ...