美文网首页程序员
欧几里德算法和皮尔逊算法(向量理解)

欧几里德算法和皮尔逊算法(向量理解)

作者: comboo | 来源:发表于2016-05-17 09:32 被阅读251次

    昨天晚上撸了一整晚的验证码,今天有点累。最近工作上一直都出现机器学习的影子,想把这方面看一看。

    仅仅就是看看,毕竟不是程序员,能够懂原理,能够用别人开发好的轮子就行了 ,我发誓。 

    欧几里德算法和皮尔逊算法作为集体智慧第一章入门算法,给了很少的篇幅来讲解,写这篇到不是因为他有多难,仅仅是因为,书中的角度让我很不爽

    欧几里德

    欧几里德的使用场景是用户对产品进行评分,通过对这些数据的分析,获得品味相同的用户。

    用向量的角度来看

    用户对产品评分看作空间的点a(a1,a2,a3,.....)     其中a是产品,a1,a2,a3,等是评分

    产品评分看作空间的点b(b1,b2,b3,.....)            其中b是产品,b1,b2,b3,等是评分

    当两个用户的品味越接近,对产品的评分也应该越接近,则空间两点之间的距离应该越近,所以,这个问题就转换为空间两点之间的距离问题。

    但是,人们很快发现一个问题,评分这件事,们个人的标准不一样,比如说,松岛枫是两个人最喜欢的女优,但是用户A评分是一个比较闷骚的人,不愿意表达出自己的真实情感,分数总是压得很低。用户B是一个享受人生的人,真是的面对自己,打分相对高,面对这种问题,欧几里德完全失去作用。

    皮尔逊算法

    皮尔逊算法就是解决上面的问题,不是打分标准不一样吗,没关系,只要打分趋势一样就行了。

    假设用户A对物品a,b,c,d...打分,建立向量A(a1,b1,c1,d1...)

    假设用户B对物品a,b,c,d...打分,建立向量B(a2,b2,c2,d2...)

    只需要算出a和b之间的夹角,如果是0,说明趋势相同

    下面是高中的数学

    空间两点之间的距离

    向量之间的距离

    但是我忘了啊 ,用的时候在百度吧

    相关文章

      网友评论

        本文标题:欧几里德算法和皮尔逊算法(向量理解)

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