Press "Enter" to skip to content

机器学习中有哪些形式简单却很巧妙的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

 

 

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

 

Adversarial bandit里面的 importance-weighted estimator。

 

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

 

 

Optimization

 

 

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

 

 

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

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注