机器学习中有哪些形式简单却很巧妙的idea?

加入极市 专业CV交流群,与 6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与 李开复老师 等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。 关注  极市平台  公众号  , 回复  加群, 立刻申请入群~

问题: 机器学习中有哪些形式简单却很巧妙的idea?

AI论文中,有哪些像GAN这种形式简单却功能强大的idea。

https://www.zhihu.com/question/347847220

知乎高质量回答

一、作者: 桔了个仔

https://www.zhihu.com/question/347847220/answer/836019446

本文来自知乎问答, 回答已获作者授权,禁止二次转载

异常检查算法Isolation Forest(孤立森林)

原理超简单,但检测效果可以说是state of the art。对一个空间进行二分,早划分「孤立」出来的就是很可能异常的。 「孤立」指的是这一边只有这一个数据点。 因为是二分,我们可以构建一颗二叉树。 例如下图的一棵树,第一次二分,左边有数据的a,b,c,右边只有d,那么d大概率就是异常点。 为啥? 想想你画一条线,把一把米分成了两边,左边只有一粒,那左边那粒很可能是离其他米粒很远。

为了更直观,有更多一步了解,请看下图,直觉上我们就知道xi是普通点, x0是异常点。 那么用Isolation tree怎么解释呢?

如果要把xi孤立出来,需要很11次划线,而x0需要的次数要少很多。所以x0比xi更可能是异常点。

一棵树不够可信? 没事,记得随机森林random forest不? 没错,这里也引进一堆树。 如果多数的树都在前几次分割时分出同一个点,那么这个点是异常点的概率就非常高了。

可以看到,树的数量(横轴)超过10时,平均分割次数(纵轴)就收敛了。 从这个图我们可以看出,某个点x0被「孤立」前,平均分割次数低于5,那么x0就是异常点。

原理是不是超级简单呢。 如果想了解更多数学上的原理,可以参考下面的参考文献:

https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf

二、作者: 苘郁蓁

https://www.zhihu.com/question/347847220/answer/881216785

本文来自知乎问答, 仅供学习参考使用,著作权归作者所有

2013年Mikolov的神作word2vec,目前两篇paper的引用量已经达到15669和12670了!

这个工作属于nlp预训练和graph embedding的里程碑,而且思想还贼好理解。

word2vec的思想可以简单的归结为一句话:

利用海量的文本序列,根据上下文单词预测目标单词共现的概率,让一个构造的网络向概率最大化优化,得到的参数矩阵就是单词的向量。

具体来说,对于Skip-Gram模型,就是给定句子中一个特定的词(input word),随机选它附近的一个词,网络的目标是预测选到这个附近词的概率。 而对于CBOW模型则相反。

而对于一个单词,先作one-hot,乘以参数矩阵,就得到了单词的向量表示,一图胜千言:

图1 one-hot乘以参数矩阵得到单词向量

更加细致的negative sampling和hierarchical softmax都是针对训练问题的优化,但这一思想的本质就是很简单优雅。

举个简单的例子: 词表大小为9的一段文本序列one-hot,乘以一个参数矩阵(蓝色部分),做均值pooling,乘以一个参数矩阵然后经过softmax层得到对应目标单词的概率向量(最后的红色部分),向量维度为词表大小,再根据ground truth反向传播优化参数矩阵,最后得到的就是类似图1的参数矩阵,列为词表大小9,行为词向量的维度4(注意: 参数矩阵方向跟图1反过来了)。

图2 一个网络训练的例子

word2vec在nlp领域的应用就不用说了,目前已经成为 所有nlp模型的标配步骤

更令我吃惊的是它在其他领域的遍地开花。 这里整理一下最近几年在其他领域的embedding工作合集,全部是顶会! 全部都有落地! 就是这么简单粗暴而优雅!

三、作者:陈林

https://www.zhihu.com/question/347847220/answer/840373803

本文来自知乎问答, 仅供学习参考使用,著作权归作者所有

感觉有很多不太复杂但是有意思的idea,立刻能想起来的列举如下。

Online learning 

  1. Flaxman et al. 的gradient descent without a gradient里的one-point estimator,可以在没有梯度的情况下做在线梯度下降(bandit convex optimization最早的文章之一)。

  2. Adversarial bandit里面的 importance-weighted estimator。

  3. Bubeck et al.的Bandit Convex Optimization: \sqrt{T} Regret in One Dimension里引入prior进行线性化,然后用minimax theorem对inf和sup进行换序,可以非构造性地计算minimax regret的界。

Optimization

  1. Lezcano-Casado and Mart´ınez-Rubio的ICML’19的文章Cheap Orthogonal Constraints in Neural Networks: A Simple Parametrization of the Orthogonal and Unitary Group: 比如一个优化问题的变量是一个矩阵,约束是要求它是 SO(n)的,这篇文章用exponential map把它变成一个在skew symmetric 矩阵上的可以说是无约束的优化问题。

Submodular optimization

  1. Vondrak的Symmetry and approximability of submodular maximization problems里的symmetry gap: submodular优化的难度和问题的对称性有关。

四、作者:及时物语

https://www.zhihu.com/question/347847220/answer/844085093

本文来自知乎问答,仅供学习参考使用,著作权归作者所有

近邻成分分析NCA

https://mp.weixin.qq.com/s/LGazJxEFWVxUF2KudY5PTA

近邻成分分析(Neighborhood Component Analysis,NCA)是一种非参数的特征选择方法,属于监督学习,其目标是使回归和分类算法的预测精度最大化,但在这个过程的同时,达到降维的目的。 即,NCA的降维是和回归和分类的过程交织在一起的。

一、NCA既可以用于分类,又可以用于回归。 这里主要讲一下分类算法中的NCA。

我们先从一个简单的随机多类分类器着手,过程及其简单,如下:

1.在数据集中随机选取一个点,我们叫它Ref(x),将它作为点x(点x就是我们需要预测的未知类别的点)的“参考点”。

2.用Ref(x)的类别标签来标注x。

咋样,是不是很简单,也很蠢的方法? 因为分类好像完全是随机的。 现在我们透过表面看实质,我们发现这个方案有点类似于1-NN分类器(K=1时候的KNN),在1-NN中,“参考点”会选择离x最近的点。 而在NCA中,“参考点”是随机选择的,训练集中所有的点都有一定概率被选为参考点。 当然,不是完全的随机,当训练集的点xj离x越近时,被选中的几率就会越大,其距离函数dw为

其中wr是“特征权重”,根据上面的思路,我们假设

即P正比于k(dw),其中k是某种相似度函数,只需要满足dw越小,k就越大就行,比如

就是一个很好的选择。 为了让所有的P之和正好等于1,让

OK,一个分类器就设计好了,简直比KNN还科学,等等,喂,特征选择在哪里?

确实,以上的分类器已经可以用了,但想达到特征选择的目的,还需要对模型进行训练,这里采用“留一”的策略,并将结合正则化方法。

我们用去掉了xi的集s-i来预测xi的类别,那么,xj(xj不等于xi)被选为参考点的概率应该为:

对于xi,把所有的s-i的点都算一遍,那么这个“留一”法的平均正确率pi为

其中当yi=yj时,yij=1,否则等于0。

那么对于整个分类的平均留一正确率:

以看出,fw式子右边依赖于权重向量w。 那么关键来了。 NCA的目标即调整w,使fw最大化。 这里我们使用正则化的目标函数:

其中λ为正则化参数,会使得许多w中的权重变为0.

这里简直和L2正则化的岭回归像极了,也可以看出L2正则化对于w权重衰减为0的作用(对于w衰减的效果和岭回归异曲同工)。 后面就仅仅是优化的步骤了,具体步骤这里暂时不写,只列出公式如下。  

二、对于NCA回归,则和NCA分类基本原理相同,用li来度量y之间的距离,公式稍有变化:

最后的目标函数如下,以l代替分类中的p:

三、两个小小的注意事项

1.数据标准化的影响

在NCA中,所有的权重只有一个参数λ,因此要求权重的大小可以互相比较,而当xi的特征尺度相差过大时候,“权重比较”失去意义,因此,和以往一样,当特征尺度产局过大时,需要进行标准化。

2.如何选择正则化参数λ

通常,我们选择不同数量级的λ,在同一个训练集上计算NCA的性能。 (直白地说,就是并没有什么好的方法)

NCA是一种较新的技术,由Jacob Goldberger,Sam Roweis,Ruslan Salakhudinov和Geoff Hinton等人于2004年在多伦多大学计算机系创建,近年来才渐渐开始被应用。 相比其它传统的特征选择方法,其能同时应用在分类和回归两种问题中,并能在更复杂的系统(如80%干扰特征及诸多离群值数据)中,准确识别出真正有价值的特征。

五、作者:Evan

https://www.zhihu.com/question/347847220/answer/871450361

本文来自知乎问答,仅供学习参考使用,著作权归作者所有

计算机视觉

-End-

CV细分方向交流群

添加极市小助手微信 (ID : cv-mart) ,备注: 研究方向-姓名-学校/公司-城市 (如:目标检测-小极-北大-深圳),即可申请加入 目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割、姿态估计、超分辨率、嵌入式视觉、OCR 等极市技术交流群 (已经添加小助手的好友直接私信) ,更有每月 大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流 一起来让思想之光照的更远吧~

△长按添加极市小助手

△长按关注极市平台

觉得有用麻烦给个在看啦~