真不能再挖坑了,前面挖聊很多坑都没来得及填,从今往后,能写多少就是多少。Sequential projection learning for hashing这篇文章去年就阅读了,当时阅读完没来得及做笔记,这一段时间又重新拿来品读了一年天,并对其中的公式进行了推导,这篇文章作者主页上有slide,讲得挺好的。下面是自己的一些推导,由于公式编辑起来不急手写得快,所以就用笔记代替了。

这里标号为1推导的是paper目标函数项中的第一项,目标函数第二项是通过最大化信息熵而来的,关于到最后为神马转化为了求信息熵最大化,仍本小子一一道来。

有了第一项,还远远不够,因为第一项只保持能够在带标记的样本上获得很高的准确率,当不能保证在未标记的样本上也能获得较高的准确率,也就是过拟合问题,即在训练样本上performance很well,但是在测试样本上很bad。所以为了避免出现这个问题,作者对spectral hashing中要求的编码位求和相加得为0进行了分析与证明,最后得出要要求编码位求和相加为0就是要求信息熵最大。paper中的一个图很好的说明了上面这个情况:

为便于理解,假设上面就是简单的二维平面,在左图中,虽然对于带标记的样本,其编码位(这里只有一位)相加求和为0,但对于未标记的样本,其编码位相加求和显然不会等于0,而且,可以看到,落入分类面右边的可能性要远比左边的要大;而对于右图,其划分相比比较均匀,不仅满足了标记样本的要求,而且也满足了非标记样本的要求(编码位求和相加为0),而且,大概的示意出了落入两边的概率为50%。由此,对于右图,其包含的信息熵相比与左图,要更大。用一句话概括上面第二项为神马要进行这样的约束,其实就是要求编码位求和相加为0,并经过转换,化为信息熵最大的约束。

再回到上面手写笔记那幅图,标号2对应位置有关于S更新过程的推导,推导过程还算简单,对其求微分便可。本小子不太理解的地方还是这个S更新过程的物理意义

Reference:

1:Sequential Projection Learning for Hashing with Compact Codes

from: http://yongyuan.name/blog/sequential-projection-learning-for-hashing.html

Sequential projection learning for hashing阅读笔记的更多相关文章

  1. Who Am I? Personality Detection based on Deep Learning for Texts 阅读笔记

    文章目录 源代码github地址 摘要 2CLSTM 过程 1. 词嵌入 2. 2LSTM处理 3. CNN学习LSGCNN学习LSG 4. Softmax分类 源代码github地址 https:/ ...

  2. 个性探测综述阅读笔记——Recent trends in deep learning based personality detection

    目录 abstract 1. introduction 1.1 个性衡量方法 1.2 应用前景 1.3 伦理道德 2. Related works 3. Baseline methods 3.1 文本 ...

  3. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要系列文章索引

    从发表第一篇文章到最后一篇文章,时间间隔有整整一个月,虽只有5篇文章,但每一篇文章都是我吸收<LEARNING HARD C#学习笔记>这本书的内容要点及网上各位大牛们的经验,没有半点废话 ...

  4. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要三

    最近工作较忙,手上有几个项目等着我独立开发设计,所以平时工作日的时候没有太多时间,下班累了就不想动,也就周末有点时间,今天我花了一个下午的时间来继续总结与整理书中要点,在整理的过程中,发现了书中的一些 ...

  5. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二

    今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...

  6. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要一

    本人有幸在Learning Hard举行的整点抢书活动<Learninghard C#学习笔记>回馈网友,免费送书5本中免费获得了一本<LEARNING HARD C#学习笔记> ...

  7. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  8. Deep Learning of Graph Matching 阅读笔记

    Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...

  9. 【转载】 《Human-level concept learning through probabilistic program induction》阅读笔记

    原文地址: https://blog.csdn.net/ln1996/article/details/78459060 --------------------- 作者:lnn_csdn 来源:CSD ...

随机推荐

  1. 在android studio中集成javah, ndk-build进行JNI开发

    最近在搞一个android上控制LED灯闪烁的功能,用到了串口编程,搜索了一下,发现Google发布了一个demo,android-serialport-api.有现成的代码和APK,要想自己改JNI ...

  2. 《Android源码设计模式》--抽象工厂模式

    No1: 4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer.NuPlayerDriver.MidiFile和TestPlayer ...

  3. ArrayList源码中EMPTY_ELEMENTDATA和DEFAULTCAPACITY_EMPTY_ELEMENTDATA的区别

    2018年7月22日09:54:17 JDK 1.8.0_162 ArrayList源码中EMPTY_ELEMENTDATA和DEFAULTCAPACITY_EMPTY_ELEMENTDATA的区别 ...

  4. [COGS2639]偏序++

    [COGS2639]偏序++ 题目大意: \(n(n\le40000)\)个\(k(k\le7)\)元组,求\(k\)维偏序. 思路: 分块后用bitset维护. 时间复杂度\(\mathcal O( ...

  5. word-ladder总结

    title: word ladder总结 categories: LeetCode tags: 算法 LeetCode comments: true date: 2016-10-16 09:42:30 ...

  6. Linux服务器性能检测命令集锦

    uptime $ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.02 这个命令可以快速查看机器的负载情况.在Linu ...

  7. Java_基础知识回顾

    1.ByteArrayInputStream. ByteArrayOutputStream String str = "ZHANGSAN"; //System.out.printl ...

  8. 小程序swiper 快速滑动闪屏

    bindchange: function(e){ if(e.detail.source == "touch") { this.setData({ current: current ...

  9. 【spark系列3】spark开发简单指南

    分布式数据集创建之textFile         文本文件的RDDs能够通过SparkContext的textFile方法创建,该方法接受文件的URI地址(或者机器上的文件本地路径,或者一个hdfs ...

  10. IntelliJ IDEA 学习(五)类注释和自定义方法注释

    intellj idea的强大之处就不多说了,相信每个用过它的人都会体会到,但是我们经常会感觉他很复杂,尤其刚从eclipse转过来的童鞋,相信刚开始的那段经历都是不堪回首的         如何实现 ...