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 ...
随机推荐
- WebAPI搭建(二) 让WebAPI 返回JSON格式的数据
在RestFul风格盛行的年代,对接接口大多数人会选择使用JSON,XML和JSON的对比传送(http://blog.csdn.net/liaomin416100569/article/detail ...
- Azure Java Libraries 入门
本指南演示了以下 Azure Java Libraries 的用法,包括设置认证.创建并使用 Azure 存储.创建并使用 Azure SQL 数据库.部署虚拟机.从 GitHub 部署 Azure ...
- Java 重写(Override)与重载(Overload)区别
2019-04-1217:31:19 (1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading). (2)方法重写是在子 ...
- Mybatis执行sql(insert、update、delete)返回值问题
数据库:Mysql 在使用mybatis的过程中对执行sql的返回值产生疑问,顺手记录一下. 结论: insert: 插入n条记录,返回影响行数n.(n>=1,n为0时实际为插入失败) up ...
- HTML颜色代码
记录十种个人比较喜欢的颜色: #19CAAD #8CC7B5 #A0EEE1 #BEE7E9 #BEEDC7 #D6D5B7 #D1BA74 #E6CEAC #ECAD9E #F46 ...
- html中块级元素和行内元素
块级元素和行内元素的三个区别 1.行内元素与块级元素直观上的区别: 行内元素会在一条直线上排列,都是同一行,水平方向排列 块级元素独占一行,垂直方向排列.块级元素从新行开始结束接着一个断行 2.块级元 ...
- Android fastjson
Fastjson介绍 Fastjson是一个Java语言编写的JSON处理器. 1.遵循http://json.org标准,为其官方网站收录的参考实现之一. 2.功能qiang打,支持JDK的各种类型 ...
- KNN 与 K - Means 算法比较
KNN K-Means 1.分类算法 聚类算法 2.监督学习 非监督学习 3.数据类型:喂给它的数据集是带label的数据,已经是完全正确的数据 喂给它的数据集是无label的数据,是杂乱无章的,经过 ...
- js if语句只写一个参数是什么意思?
如 var a=0:if(!a){...}; avascript中以下值会被转换为false false undefined null 0 -0 NaN ""
- 修改Tomcat8w.exe可执行路径:Path to executable
学习java web时,先下载了Tomcat8.5,在Eclipse中配置了Tomcat的相关环境后,出现了个别版本不兼容问题,就打算换成8.0版本.但是删除整个8.5的文件夹后,运行8.0bin中的 ...