Coursera_Stanford_ML_ex8_异常检测与推荐系统 作业记录
来源:互联网 发布:直播刷屏软件 编辑:程序博客网 时间:2024/05/16 13:02
Programming Exercise 8: Anomaly Detection and Recommender Systems
这周总结一下Week9的作业,第一部分需要利用高斯分布进行异常检测,第二部分需要利用协同过滤算法搭建一个电影推荐系统。
首先看一下作业要求。
有三个文件需要我们完成,难度均不大。
一.ex8
简单介绍一下异常检测的思想,所谓异常检测,既是将与大部分正例在特征距离上相差较大的例子检测出来。可以应用在大量服务器工作中少量机器出现异常情况的发现,产品的质量检测等。
很自然的我们就会想如何判断一个例子的偏差的大小?这里就涉及一个阀值,需要通过搜索来找到使预测精度达到最大的阀值。因为异常数据较少,会出现数据偏斜的问题,所以这里需要用F值来替代预测精度。
estimateGaussian.m需要返回数据X均值和方差,无难度。
mu=mean(X);sigma2=sum(X.^2)/m-mu.^2;selectThreshold.m在用高斯分布算出距离后,选择合适的阀值。
predictions=(pval<epsilon);tp=size(intersect(find(predictions==1),find(yval==1)),1);fp=size(intersect(find(predictions==1),find(yval==0)),1);fn=size(intersect(find(predictions==0),find(yval==1)),1);prec=tp/(tp+fp);rec=tp/(tp+fn);F1=2*prec*rec/(prec+rec);
结果如下:
二.ex8_cofi
根据以往用户对电影评分数据根据新用户的喜好,为他推荐电影。首先分析一下数据,电影特征为所含不同类型镜头的数量,用户特征为其对 不同类型电影的评分。R为标记矩阵,R(i,j)=1表示第i部电影被第j名用户评分。
cofiCostFunc.m误差函数与梯度函数:
J=J+sum(sum((R.*(X*Theta'-Y).^2)))/2+lambda/2*sum(sum(Theta.^2))+... lambda/2*sum(sum(X.^2));for i=1:size(X,1) idx = find(R(i,:)==1); Thetatemp = Theta(idx,:); Ytemp = Y(i,idx); X_grad(i,:)=(X(i,:)*Thetatemp'-Ytemp)*Thetatemp+lambda*X(i,:);endfor j=1:size(Theta,1) idx = find(R(:,j)==1); Xtemp = X(idx,:); Ytemp = Y(idx,j); Theta_grad(j,:)=(Xtemp*Theta(j,:)'-Ytemp)'*Xtemp+lambda*Theta(j,:);end
总结一下,推荐系统这里电影特征和用户特征的梯度矩阵需要好好琢磨一下,然后别的基本没什么要说的了。这是最后一次编程作业,贵在坚 持,加油吧。
0 0
- Coursera_Stanford_ML_ex8_异常检测与推荐系统 作业记录
- Coursera 《Machine Learning》 编程作业8:异常检测与推荐系统
- 异常检测与推荐系统 机器学习基础(8)
- Machine Learning第九周笔记:异常检测与推荐系统
- Coursera机器学习(Andrew Ng)笔记:异常检测与推荐系统
- Anomaly Detection and Recommender Systems[异常检测&推荐系统]
- machine learning week 9 异常检测 推荐系统
- Andrew Ng机器学习笔记week9 异常检测、推荐系统
- Andrew Ng机器学习笔记ex8 异常检测和推荐系统
- 机器学习练习(八)—— 异常检测与推荐
- 做推荐系统 细节记录
- Andrew NG 机器学习 笔记-week9-异常检测和推荐系统(Anomaly Detection and Recommender Systems)
- 异常检测原理与实验
- NDK 异常检测与抛出
- [推荐系统]信息过载与推荐系统
- 马尔科夫 与 推荐系统
- 推荐系统与应用
- 人工智能与推荐系统
- JavaScript中的new 操作符(转)总结
- 泛函分析学习总结
- 基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序
- Lab2 Return-To-Libc
- pom文件解析
- Coursera_Stanford_ML_ex8_异常检测与推荐系统 作业记录
- 在.NET 中使用mysql时间问题,
- Java解析HTML之HTMLParser使用与详解
- RecyclerView添加Header的正确方式
- 快两年了,重拾起android.
- JDK DualPivotQuicksort 源码解析
- Spark学习1—记录笔记
- HDU 3966 树链剖分
- 网站设计