Week 9:Recommender Systems课后习题解答

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a1015553840/article/details/50908987

        大家好,我是Mac Jiang,今天和大家分享coursera-Stanford University-Machine Learning-Week 9:Recommender Systems的课后习题解答。注意:每个同学的问题的参数和选项都是不同了,请在参考的同时看清选项,避免带来错误。当然,我的分析不一定是正确的,如果博友发现错误,请留言联系,谢谢。希望我的解答能给您带来一些学习上的帮助!

1.第一题
这里写图片描述
(1)题意:假设开设了一个书店,并把书分为1-5星,你的协同过滤死案发已经得到用户j的参数theta(j),已经每本书的特征向量x(i)。你需要计算训练误差,误差的计算方法是预测和用户评价之差的平方,下面哪个是计算这个的正确方法?这里,m是你从用户得到的所有评价数,即所有r(i,j)=1的数量。(提示,下面有两个是正确的)
(2)分析:这个公式符号也不好说,就不分析了
(3)答案:3,4

2.第二题
这里写图片描述
(1)题意:下面那些情况适合用协同过滤算法(而不是线性回归,逻辑回归)?
             1.写一个软件时从很多网站上下载了新闻文章。你把文章标记成你个人喜欢的和不喜欢的,并且系统保存这些文章的特征(比如:词数,作者名)。通过这些信息,你想创建一个系统,寻找以上那些文章你个人将会喜欢。
             2.你在创建一个文章聚合器,对于每个用户,你知道他喜欢文章的一些自己和不喜欢的文章的一些子集,想用这些信息为用户推荐可能喜欢的文章。
             3.你在运营一个书店,并且知道许多用户对书的评价。对于每个用户,基于他们自己的评价和其他用户的评价,你想为他们推荐一些其他的他们可能喜欢的书。
             4.你在运营一个网上书店,并且有许多用户对书的评价。你想预测销售量,通过评价信息。
(2)分析:1.错误。个人觉得这是一个逻辑回归问题。首先,只有你一个人,及theta只有一个。那么对于新的一篇文章,你并没有给他归类,又没有其他们对这篇文章的评价来学习这是一篇怎么样的文章,协同过滤完全不可行。这更像是一个逻辑回归问题,对已有样本进行训练得到决策线,然后新给一个样本,预测他是不是你喜欢的。
              2.正确。这里有多个用户,多本书籍,假如出现某个用户未对某本书评价的情况,完全可以通过别的用户对他的评价进行预测。这里只是把电影评分1-5分归为他是0-1(喜欢或不喜欢)而已。
              3.正确。这和电影评价是一个问题。
              4.错误。预测不是协同过滤干的事情,是线性回归干的事情。
(3)答案:2,3

3.第三题
这里写图片描述
(1)题意:你在运营一个电影产业,想要建立一个基于协同过滤的电影推荐系统。有三个电影评论网站A,B,C,在这些网站上用户对电影进行评价。你要把这三个网站的数据合起来建立一个系统。在网站A上,用户评价范围为1-5星;B网站上,用户评价范围为1-10,保留一位小数;C网站上,评价范围为1-100。你有足够信息确认用户和电影来自哪个网站,下列哪个陈述时正确的?
           1.你可以把三个数据集合为一个,不过首先你要正则化么个数据集。首先,对每个数据集分别减去他们的平均值,然后处以各个的(最大值-最小值),他们分别为5-1,10-1,100-1
           2.你可以不对数据进行任何处理,并且推荐系统可以表现的很好
           3.不可能把三个数据集合为一个,必须建立三个推荐系统。
           4.你可以把三个数据集合为一个,只要在你合并之后进行均值归一化和特征缩放
(2)分析:首先,必须明确可以把三个数据集合为一个,3错误。而三个数据集的数量级是不一样的,必须经过处理后才可以,2错误。当然,对数据的处理必须在合并之前,合并之后进行均值归一和特征缩放毫无意义,4错误。
(3)答案:1

4.第四题
这里写图片描述
(1)题意:下列关于协同过滤的陈述那些是正确的?
             1.对于协同过滤,利用下列一种高级优化算法(L-BFGS/共轭梯度等)来同步更新x(i)和theta(j)
             2.假设你在写一个推荐系统来预测用户对图书的偏好。为了建立这样的系统,你需要用户对训练集里所有书本进行评价
             3.对于协同过滤,你应该用梯度下降法求解最优解。你不能用高级优化算法,如(L-BFGS/共轭梯度)
,应为你需要同步更新x(i)和theta(j)
             4.即使每个用户只评价你一小部分产品,r(i,j)=0占大多数,你也可以利用协同锅炉建立一个推荐系统。
(2)分析:1.正确,高级优化算法也可以同步更新x(i)和theta(j)
              2.错误,当然不用全部评价,可以用已有数据推出
              3.错误,反之
              4.正确。
(3)答案:1,4

5.第五题
这里写图片描述
(1)题意:两个矩阵,A为5x3,B为3x5,积为C=AB,一个5x5的矩阵。除此之外,你有矩阵R,每个元素为0或1.你想求C(i,j)相对R(i,j)=1的所有位置的元素和,忽略R(i,j)=0的对应项。实现代码如下。下列OCTAVE中的哪些操作也可以计算这个值?
(2)分析:1.正确。通过点乘,可以把R(i,j)=0对应项置为0,R(i,j)=1对应项不变,然后求和。
              2.正确。只是分开写了。
              3.错误,要点乘,不是相乘。
              4.同理,错误。

猜你喜欢

转载自blog.csdn.net/a1015553840/article/details/50908987
今日推荐