Unsupervised deep embedding for clustering analysis

偶然发现这篇发在ICML2016的论文,它主要的关注点在于unsupervised deep embedding。据我所了解的,Unsupervised 学习是deep learning的一个难点,毕竟deep network这种非常复杂的非线性映射,暂时的未知因素太多,可能在原来的domain有clustering的特征数据经过nonlinear映射之后,就变得不再clustering了。

这篇论文受t-SNE的启发,优化的目标是两个分布之间的KL距离。假设deep embedding之后的两个点 和 ,其中是第个类的centroid。于是,similarity 的measure为

也可以认为是 属于 的概率。

假设此时一个目标分布,则 。优化的过程和普通的BP算法一样,(1)通过BP算法优化deep network的参数,即计算。(2)通过计算梯度来调整cluster的centroid,但是否这类centroid的调整也需要乘上一个学习率呢?

此外,一个重点的问题是潜在目标分布的构造。Paper里给出了三个标准,我觉得这三个标准确实挺有意义的:(1)对预测效果可以strengthen(2)对于一些高概率被标注某个cluster的点,给予更多的权重(3)归一化每个点对于每个centroid用于计算loss函数时候的贡献,避免一些大的cluster扭曲了整个feature space。构造如下,

其中,。对以上三个标准说一说自己的理解,不一定准确。(1)对于第一点,对于某个明显更靠近类的point,它比其他point离得除类以外更远,这个点的也更高,而且也可能会更高(2)平方项的应用使得小的更加小了,即emphasis更小。同时,当较高,在 的所有点中, 也会有相对高的值。(3)对于某些大的cluster,可能总和更大,反而最终更小,而对于小的cluster,使得更大。最终把一个点push到另一个小cluster。

直觉上说,概率分布的初始化的正确性很大程度影响的算法最终的结果,首先因为这不是一个真实的分布,而deep network没有一个很好的初始化很难在另一个domain 保持cluster的结构。而section 5.1 的结果显示,对于high confidence的点,sample也变得更加canonical,如图越高confidence越明显是“5”的字样,而对于梯度的贡献也越来越大,即说明初始化概率分布也是接近正确的。

网络的初始化和SAE(栈autoencoder)一样,采用greedy training的方式训练每一层,然后再微调整个网络。而初始化cluster的选择,则通过在embedding上perform k means clustering 算法得到。

【CV论文阅读】Unsupervised deep embedding for clustering analysis的更多相关文章

  1. 论文解读DEC《Unsupervised Deep Embedding for Clustering Analysis》

    Junyuan Xie, Ross B. Girshick, Ali Farhadi2015, ICML1243 Citations, 45 ReferencesCode:DownloadPaper: ...

  2. PP: Unsupervised deep embedding for clustering analysis

    Problem: unsupervised clustering represent data in feature space; learn a non-linear mapping from da ...

  3. 【论文阅读】Deep Adversarial Subspace Clustering

    导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...

  4. 论文阅读 DynGEM: Deep Embedding Method for Dynamic Graphs

    2 DynGEM: Deep Embedding Method for Dynamic Graphs link:https://arxiv.org/abs/1805.11273v1 Abstract ...

  5. 论文阅读 | Clustrophile 2: Guided Visual Clustering Analysis

    论文地址 论文视频 左侧边栏可以导入数据,或者打开以及前保存的结果.右侧显示了所有的日志,可以轻松回到之前的状态,视图的主区域上半部分是数据,下半部分是聚类视图. INTRODUCTION 数据聚类对 ...

  6. 【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016

    DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗 ...

  7. 论文解读《Deep Attention-guided Graph Clustering with Dual Self-supervision》

    论文信息 论文标题:Deep Attention-guided Graph Clustering with Dual Self-supervision论文作者:Zhihao Peng, Hui Liu ...

  8. 【论文阅读】Deep Clustering for Unsupervised Learning of Visual Features

    文章:Deep Clustering for Unsupervised Learning of Visual Features 作者:Mathilde Caron, Piotr Bojanowski, ...

  9. 【CV论文阅读】生成式对抗网络GAN

    生成式对抗网络GAN 1.  基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...

随机推荐

  1. 对象输入输出流ObjectInputStream、ObjectOutputStream(对象序列化与反序列化)

    对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息. 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流:  Ob ...

  2. Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射

    导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作 下一篇:Farseer.net轻量级ORM开源 ...

  3. (二)Redis for 阿里云公网连接

    目录 (一)Redis for Windows正确打开方式 (二)Redis for 阿里云公网连接 (三)Redis for StackExchange.Redis 阿里云目前仅支持内网连接Redi ...

  4. Python界面编程之六----布局

    布局(转载于–学点编程吧)通过实践可知采用了布局之后能够让我们的程序在使用上更加美观,不会随着窗体的大小发生改变而改变,符合我们的使用习惯. 绝对位置程序员以像素为单位指定每个小部件的位置和大小. 当 ...

  5. PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (三) -- Header Exchange

    此模式下,消息的routing key 和队列的 routing key 会被完全忽略,而是在交换机推送消息和队列绑定交换机时, 分别为消息和队列设置 headers 属性, 通过匹配消息和队列的 h ...

  6. mysql中删除已有字段的唯一性约束?

    username varchar() NOT NULL unique 如何把unique约束删除? 解决方法:在你建好的表...右击 ——索引/索引类型——把username唯一键去掉

  7. mysql解决 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)的报错

    一般这个错误是由密码错误引起,解决的办法自然就是重置密码. 假设我们使用的是root账户. 1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下: #vim /etc/my.cnf(注:wi ...

  8. lucene-5.3.1配置(win7x64)

    lucene下载地址:http://www.us.apache.org/dist/lucene/java/5.3.1/lucene-5.3.1.zip 下载之后解压 控制台应用程序下配置: 找到luc ...

  9. ajax中文乱码解决(java)

    方法1: 页面端发出的数据做一次encodeURI,服务器端使用new String(old.getBytes("iso8859-1"), "utf-8") 方 ...

  10. Ubuntu系统搭建django+nginx+uwsgi

    1. 在开发机上的准备工作 2. 在服务器上的准备工作 3.安装uwsgi 4.编写uwsgi配置文件,使用配置文件启动uwsgi 5. 安装nginx 6. 收集静态文件 7. 编写nginx配置文 ...