【一步一步的积累】Neighbourhood Components Analysis
来源:互联网 发布:破壁机 原汁机 知乎 编辑:程序博客网 时间:2024/05/22 06:42
(NIPS 2004) Neighbourhood Components Analysis (前半部分)
这段时间在看手势估计方面的文章的时候,发现很多人在使用NCA这个东西,一查才知道这是Hinton他们弄的,难怪呢。。。。文章比较老,但是思路还是很有参考意义。
首先作者以KNN来引入。KNN的功效大家都知道,这样野蛮的算法在一些应用里面却有着神奇的功效。但是要用KNN,一定要做的是:定义一种距离,然后计算距离,并且是和每一个样本集合里面的样本都算一遍距离。那么问题就来了:什么样的距离是好距离?如今动辄百千万的数据样本撸一遍还谈何实时?
所以作者提出了两个美好愿望:
- 自动学习出一个计算距离方式,就想深度网络来自动提取feature那样的美好。(想想还真不愧是Hinton的学生)
- 把计算距离的计算变简单:降低维度。这样的计算速度就可以达到哗哗的了。
一个好的算法就是简单,清晰,实用。首先假设变换A,能把样本x变换到低维空间y=Ax, 接下来设定一个目标函数:就是如果寻找到K个NN,希望能找到的正确的label的期望越高越好,于是有了从距离到possibility的转换:
关于上述公式的定义请参照论文。定义了这样的概率,既可以设定目标函数了:
这个目标函数可以理解为最大化被正确分类的点数的期望(expected number of points correctly classified)。这也等同于最小化了类间的L1 norm。
A是参数,f是目标函数,接下来就是如何去优化的问题了。。
本文的思想很有启发性。
作者也提供了详细讲解的视频:http://videolectures.net/mlss06tw_roweis_nca/
代码地址:https://github.com/vomjom/nca
0 0
- 【一步一步的积累】Neighbourhood Components Analysis
- NCA: Neighbourhood Components Analysis
- (Neighbourhood Components Analysis) NCA 近邻成分分析的学习
- 【一步一步的积累】SuperPixel
- 【一步一步的积累】DeepContour
- 【一步一步的积累】OverFeat
- 【一步一步的积累】Sketch Tokens
- 【一步一步的积累】RCNN系列
- Principal Components Analysis
- PCA(Principal Components Analysis)
- Principal Components Analysis
- 主成分分析的(Principal Components Analysis,PCA)多角度解析
- 【一步一步的积累】Synthetic Minority Over-sampling TEchnique
- 主成分分析(Principal components analysis)
- 主成分分析—Principal components analysis
- 主成分分析(Principal components analysis)
- 独立成分分析(Independent Components Analysis)
- Principal components analysis(PCA):主元分析
- javascript(一)
- LintCode 字符串转化成正数(atoi)
- 028.For 循环
- Android多媒体学习七:访问网络上的Audio对应的M3U文件,实现网络音频流的播放
- lua语言实现面向对象编程
- 【一步一步的积累】Neighbourhood Components Analysis
- 【OpenGL】Shader概述
- 029.For Error 死循环
- 黑马52期最新android视频完整高清不加密
- Extjs首日工作总结
- 左连接右连接 left join right join
- 黑马程序员_java异常
- 030.For 循环代替 While 循环
- android arm