以下是我在澳洲留学期间设计的一个电影推荐系统的设计思路,因为我觉得比较有趣,所以放出来也算是一个怀念
本文理论主要参考 Networked Life: 20 Questions and Answers 以及 UNSW COMP9318课程
http://www.handbook.unsw.edu.au/undergraduate/courses/2013/COMP9318.html
http://download.youkuaiyun.com/detail/nibudong124/8277417
——————————————————————————————————————————————————————
Method of measuring the quality recommendation system
算法的分类属于collaborative filtering
<usingcollaborative filtering to weave an information tapestry> –David Goldbery1992
测试算法效果的方法:Root Mean Squared Error (RMSE)
Basic model
Matrix R Movies * Users 通常电影推荐系统问题使用这样的抽象方法
Sparse matrix 其特征是一个稀疏矩阵
组成算法1:
Baseline predictor through least squares
is the average value of allratings. 是所有rating的平均值
the similarities amongusers and movies are not just a statistical fact
i.e. bi 是电影i的特征fact概念类似电影的受欢迎度
bu 是用户u的特征fact概念类似用户的严格程度
类似的意思是无法用语言表述,是一个抽象的概念
我的目标是:
解决方法
如果只有bu bi这两个线性的fact的话,最常见解决方案是用linear least squares如课本Baseline predictor through least squares副标题描述的那样解决:
这里解决方案意思是:寻找的最小值,就是
使函数收敛,至于函数为什么有最小值数学证明也在课本。
A is C´(N+M)
Solving linear least squares 下面的式子只是上面式子的变形,课本上有详细变形过程
but it is not linear now但是通过这个方法解决问题到这一步已经不是像前面两个fact那样线性的了