【机器学习】Matlab_推荐系统协同过滤算法
写在前面:本文根据自己数据挖掘的课程作业整理,结合吴恩达机器学习的课程。
吴恩达课程课件中关于协同过滤算法的总结:
根据上述算法总结,使用Matlab,可以实现上述算法。
测试用到的数据是我的作业中的数据:
该算法实现起来不难,我使用的是最基本的Gradient Descent(当然可以使用其他更加高级的方法),那么代码主要就在于Gradient Descent的实现。
另外,初始化参数一定要记得随机初始化。
完整的Matlab代码如下,各个步骤注释均有说明:
clear;
%% Input useful parameters
% 电影特征维数
m= 4;
% 用户数
nu= 8;
% 电影数
nm= 7;
Y= [4,4,-1,-1,1,1,5,-1;5,5,-