Coursera-吴恩达-机器学习-第九周-编程作业-Anomaly Detection and Recommender Systems

这篇博客介绍了Coursera上吴恩达的机器学习课程第九周编程作业,涉及异常检测和推荐系统。在异常检测部分,通过Matlab实现了数据集的加载、统计估计、异常点检测以及多维异常点识别。在推荐系统部分,涵盖了电影评分数据集的加载、协同过滤的成本函数和梯度、正则化以及新用户评分的推荐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次文章内容: Coursera吴恩达机器学习课程,第九周编程作业。编程语言是Matlab。

本文只是从代码结构上做的小笔记。

 

Anomaly Detection 

part 0 Initialization

Part 1: Load Example Dataset 

加载数据集,换出图像可视化。

Part 2: Estimate the dataset statistics 

最大似然发估计,mu和sigma。使用训练集。

计算multivariate的density。使用训练集。

 Part 3: Find Outliers 

使用验证集。for loop 循环计算最合适的epsilon和最佳F1度量。

得到epsilon之后,即可判断outlier。画出outlier图像。

 Part 4: Multidimensional Outliers

将程序应用于一个feature更多的情况。

 

code:

estimateGaussian中添加:

mu = 1/m * sum(X);
rep=repmat(mu, m, 1);
sigma2 = 1/m * sum ( (X - rep).^2 );

selectThreshold中添加:

 predictions = (pval < epsilon);
    
    tp = sum((predictions == 1) & (yval == 1));
    fp = sum((predictions == 1) & (yval == 0));
    fn = sum((predictions == 0) & (yval == 1));
    precision = tp/(tp + fp);
    recall = tp/(tp + fn);
    F1 = (2*precision*recall)/(precision+recall);

 

Recommender Systems

part 0 Initialization

Part 1: Loading movie ratings dataset

画出数据集。

Part 2: Collaborative Filtering Cost Function

加载数据,movie的parameter。

计算CostFunction。

Part 3: Collaborative Filtering Gradient

使用梯度下降法,求解最优化问题。

Part 4: Collaborative Filtering Cost Regularization

cost function,添加正则项。

Part 5: Collaborative Filtering Gradient Regularization

梯度下降法,添加正则项。

Part 6: Entering ratings for a new user 

修改最新movie的评分,

Part 7: Learning Movie Ratings

输入新的数据集,进行学习。 training the model。

Part 8: Recommendation for you

train model 之后,可以 make recommendations by computing the predictions matrix.进行预测了。

 

code:

在函数cofiCostFunc中添加:

iner = (X  * Theta').*R  - Y.*R;
J =0.5 .*     sum(   sum(    iner.*iner    ))  +...
    0.5*lambda*sum(sum(Theta.*Theta))  + 0.5*lambda*sum(sum(X.*X)) ;

X_grad = (((X*Theta').*R*Theta  -    Y.*R*Theta)+lambda.*X);
Theta_grad = (       (X'*   ((X*Theta').*R)   -X'*(Y.*R)    ) )'+lambda.*Theta;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值