美文网首页
从K-nearest到Linear classifier

从K-nearest到Linear classifier

作者: 科学Jia | 来源:发表于2017-08-17 23:46 被阅读56次

昨天开始听斯坦福2017CS231n深度视觉识别课程。

年轻帅气的小教授,讲了K-nearest neighbors的分类方法,包含L1,L2两种算法。K-nearest neighors是通过计算比较数据点的距离,来判断两个数据的是不是应该归为一类。例如,现在手上有两张图片,它们的像素点都被原封不动的记录下来了,然后,通过L1或者L2的算法(都是K-nearest neighors) 计算这两个图片所有像素点的距离差,最后根据算出的差值绝对值的总和,来判断这两个图片的相似度,即是否为一类。

从K-nearest到Linear classifier

至于,是选择L1还是L2的计算方式,根据你是否明白每个数据的含义来判断。L1适用于你知道这些训练数据的特殊含义,L2适用于你并不知道这些数据有什么具体含义的情况。

KNN算法中,主要依据最邻近的一个或者K个样本的距离来决定待分类的样本属于哪个类别。而K值如何取值才能得到最优的分类,需要花很多心思调整验证来不断寻找。KNN中的K也叫hyper parameters, 一般通过把数据分为训练样本,验证样本和待分类样本,训练样本和验证样本是作为验证目前算法分类的可信度而存在,被优先推荐。

从K-nearest到Linear classifier

小教授说,KNN可以用于任何你要进行分类的地方,不仅仅是识别图片和文字。

到这里,我喜极而泣地以为自己get新算法了。

结果…

结果…

快到课程结束的最后15分钟(一堂课60分钟)

帅气的小教授说,我们从来没采用KNN算法在图片识别上,因为它效率太低了,因为它在多维度(1d,2d,3D)识别上,需要足够多的数据点来进行计算,例如在一维的时候,只需要4个样本点来计算,计算二维就需要4^2个样本数据,到了三维就需要4^3个样本数据,指数级别增长的算法是非常不好的。

于是,他以最快速度引入了

Linear classifier--线性分类

f(x, W) = Wx + b

x是输入的数据,W是权重,b是一个类似offset的值,最后可以算出一个score。

从K-nearest到Linear classifier

呃,这么深的套路,居然没人吐槽。

现在,我在考虑要不要直接拖到最后一集。

视频链接:http://www.bilibili.com/av13260183

相关文章

网友评论

      本文标题:从K-nearest到Linear classifier

      本文链接:https://www.haomeiwen.com/subject/bvkorxtx.html