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. 最近面试oracle 数据库的知识点

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  2. BotFramework学习-01

    微软在Build2016大会上表示,未来将是一个充满聊天机器人的世界,为此他们推出了微软Bot Framework,能够允许任何人制作自己的聊天机器人,微软则提供“cognitive microser ...

  3. servlet 生命周期 与 初始化

    一. 生命周期 Servlet 通过调用 init () 方法进行初始化. Servlet 调用 service() 方法来处理客户端的请求. Servlet 通过调用 destroy() 方法终止( ...

  4. 习水医院12C RAC 数据库安装文档

        环境介绍 OS: Oracle Enterprise Linux 6.4 (For RAC Nodes) DB: GI and Database 12.1.0.2 所需介质 p17694377 ...

  5. WOJ600——水题

    第一次做本校OJ的题,被坑的好惨啊! 题目:600.Minimum  Distance 题目大意:给定平面上3个点A.B.C,求平面上的任一顶点P,使得|PA|+2|PB|+3|PC|. 由于刚好在这 ...

  6. Flask框架 之数据库扩展Flask-SQLAlchemy

    一.安装扩展 pip install flask-sqlalchemy pip install flask-mysqldb 二.SQLAlchemy 常用的SQLAlchemy字段类型 类型名 pyt ...

  7. RabbitMQ之六种队列模式

    先学习一下RabbitMQ中的六种队列,只学习前五种,具体的官方文档地址是:http://next.rabbitmq.com/getstarted.html 导入maven依赖: <depend ...

  8. linux学习系列博客地址汇总

    2018-09-28 16:03:43 CentOS7 yum命令:这是一个用来管理rpm包进行自动化安装的C/S模式的一个程序. CentOS7(无图形界面)支持中文显示的办法:系统安装好之后,有可 ...

  9. sphinx配置

    配置文件 ## 数据源src1 source src1 { ## 说明数据源的类型.数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,p ...

  10. php 日常问题

    1.isset.empty.is_null的区别 isset 判断变量是否定义或者是否为空 变量存在返回ture,否则返回false 变量定义不赋值返回false unset一个变量,返回false ...