我们一起玩AI(1)—— k近邻算法与电影分类
5秒导读:本文将介绍最简单的机器学习算法——K近邻算法,以及如何应用k近邻算法完成分类任务。并介绍新开大坑《我们一起玩AI》
某位名人曾经说过:自己挖的大坑总要填上。
在之发布的文章《大数据AI改变生活——Logistic回归告诉你追到女神的概率(上)》中曾说过要介绍Logistic回归算法的原理,不过这并不是一件容易的事,其中涉及了太多数学知识,所以特别推出一个新系列《我们一起玩AI》,本系列将从基础的数学开始讲起。
别担心——既然是玩,我们就不会把事情弄的复杂,所有数学内容的讲述都会牺牲一定严谨性,以便易理解。
传说中换一个灯泡需要3个数学家,一个证明灯泡可换,一个证明可换的唯一性,最后一个负责推导一个算法来扭灯泡。
不过我们是鄙视链最底端的工程师!我们不搞证明,我们就是干!Just For Fun!
言归正传,开始今天的主题—— k近邻算法
古人云:“近朱者赤近墨者黑”,k近邻算法曰:离哪一群比较近就算作哪一类!
假设下图中左下角的点为B类,右上角的点为A类,那么点E属于哪一类?当然!B类,为啥?距离近啊!没错这就是我们的k近邻算法!
让我们从电影说起吧,比如动作电影普遍具有50次以上枪战镜头,爱情电影普遍具有50次以上kiss镜头,电影A有76次枪战2次kiss镜头,理所当然电影A是动作片,而电影V有66次枪战,62次Kiss电影V是?ASRay曰:
k近邻将数据绘制在笛卡尔中,以上述的电影分类为例,横坐标可以代表枪战镜头出现的次数,纵坐标则为kiss镜头出现的次数。
我们把比较集中的一簇表示一个分类(该过程可由K均值聚类完成)。
当需要判断一个未知点X的分类时,1计算点X到所有点的距离并排序。2 找出其中距离X最近的K个点。3 判断,如果前K个点中A类最多,那么X也为A类。
当然现实世界中的数据,绝对不止2个维度那么简单,比如一个人每天写多少字,抽多少烟,玩多少分钟游戏,走多少步路,吃几碗饭.........不过没关系一一写出来就行,比如x=(X1,X2,X3....Xn),Y=(Y1,Y2,Y3....Yn),如果我们再定义X与Y的内积
那么这个N维空间就称为欧几里得空间。
内积看着很眼熟吧?假设X为你的自身条件,Y为每个条件在女神心中的重要程度,那么X与Y的内积直接决定了你追到女神的概率。
为了女神,我们应该学会距离如何算,不过算距离的故事需要从1条人命说起,毕达哥拉斯发现了勾股定理(其实勾股定理更通用的名字是毕达哥拉斯定理),不过当他的学生问他一个长为1的正方形对角线多长时,毕达哥拉斯的表情是这样的
然后他毫不犹豫的把该学生扔进了海里!(传说如此,未经严谨考证)此时众人的表情是这样的
注:毕达哥拉斯相信所有数都可以表示为两个整数之比,不过根号二是个无理数,此为第一次数学危机。
说完了人命的故事回到正题,勾股定理定理告诉我们:勾三股四弦五,那么平面上两点的距离等于:
而把平面推广一下,欧几里得空间中距离等于,姑且就把他看作勾股定理一次次的套吧!
先算个距离,再根据近朱者赤近墨者黑,判断分类,最后取一个不明觉厉的名字——K近邻算法(k-Nearest Neighbor),嗯,这就是今天的全部内容。
当然关于欧几里得空间可以说的还有很多,比如什么:
施瓦茨不等式,cantor闭区域套定理,cauchy收敛原理,Bolzano-Weierstrass 定理....但是...管他的!谁在乎?
关注我们,获取更多有关 AI与大数据的信息。ASRay明日丽科技——科技助力企业发展,携手共创更美明天!