通俗理解“推荐算法”(一)

对博文https://blog.csdn.net/u012995888/article/details/79077681(机器学习入门--协同过滤算法[推荐算法])中,电影推荐示例的通俗理解。

业务描述:
1、有"小明","小花","小美","小张","小李"这5个用户。
2、有"电影1","电影2","电影3","电影4","电影5","电影6","电影7"这7部电影。
3、每个用户可以对看过的电影打整数分值,最低分1分,最高分5分,0分表示没有看过该电影。收集的打分数据如下:
{3,1,4,4,1,0,0},表示小明对电影1至电影5的打分,小明没有看过电影6和电影7,下同。
{0,5,1,0,0,4,0}
{1,0,5,4,3,5,2}
{3,1,4,3,5,0,0}
{5,2,0,1,0,5,5}
4、只为用户推荐他/她未看过的电影。

需求:
1、想要给小明推荐一部电影,该如何设计推荐算法?

不说那些吓人的算法理论!!!

中国有句古语“人以类聚,物以群分”。小明的朋友非常喜欢的电影,小明应该也喜欢。小明的朋友有哪些,或者说他平时和谁“走的最近呢”?联想到大学里学的空间两个点的距离计算公式,点a的三维空间坐标为(x1, y1, z1),点b的坐标为(x2, y2, z2),ab的距离等于

同理,ac、ad、ae。。。等的距离都可以计算出来。距离越近表示和a点越“志同道合”、“趣味相投”。

回到本例,可以将小明对7部电影的打分看作他在“电影艺术空间”里的坐标。分别计算小明与小花、小美等的距离,分别为:
小明与小花的“距离”:8.18535277187245
小明与小美的“距离”:6.244997998398398
小明与小张的“距离”:4.123105625617661
小明与小李的“距离”:9.0
显然,小明依次与小张、小美“走的最近”,是好朋友(注:暂时只取两位好友)。小张、小美对每部电影的喜好,或者量化为打分,将影响到系统为小明的推荐结果。那就综合一下小张、小美的电影打分,按如下公式计算每部电影的推荐度:

不难理解,推荐度越高,且小明没有看过的电影,应该被推荐给小明,应该是电影6。

甚至,可以把根据“电影推荐度”推荐的标准量化如下:
1、被推荐人未看过;
2、电影推荐度需大于平均推荐度或推荐度中值;

同样的办法,可以计算出为小花推荐的电影:电影1、电影4、电影7。

考虑一些特殊情况。
1、如果小张从未对电影进行过打分,即第一次使用该推荐系统,则别人打分值较高的电影应该被推荐。经过计算测试就是这种效果,比较符合一般人的常识。
2、如果某电影刚刚上映不久,虽然口碑非常好,如《战狼2》,但打分的人数较少,上述算法就有缺陷。
3、如果某电影已上映好几年了,但由于某些原因,打分的人数寥寥无几,上述算法也会有缺陷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值