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

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

作者: 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,说明趋势相同

下面是高中的数学

空间两点之间的距离

向量之间的距离

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

相关文章

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

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

  • 最大公约数

    . 欧几里德算法和扩展欧几里德算法 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。...

  • 欧几里德与扩展欧几里德算法

    欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,...

  • 欧几里德算法

    The Euclidean Algorithm欧几里德算法(又称辗转相除法)是一种用于快速寻找两个整数的最大公约数...

  • 欧几里德算法

    需求: 计算最大公因数。两个整数德最大公因数(Gcd)是同时整除二者的最大整数。 算法通过连续计算余数直到余数是0...

  • 算法(一)

    以下算法参考 <<算法>> 第4版[美] Robert Sedgewick 1. 欧几里德算法 2. 找出数组中组...

  • 路由算法

    路由控制有各种各样的算法,其中最具代表性的有两种,是距离向量算法和链路状态算法。 1.距离向量算法 距离向量算...

  • 算法学习(1)----扩展欧几里得算法

    欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: gcd...

  • 辗转相除法,最大公约数,最小公倍数

    辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公约数的算法。 算法描...

  • 快速排序

    快速排序 原理:欧几里德算法快排的概念:分而治之 代码:

网友评论

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

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