吴恩达机器学习第九周测试及编程练习

代码:https://github.com/LiuZhe6/AndrewNGMachineLearning

测验一:Anomaly Detection

第一题

在这里插入图片描述
答案
AD
分析:
异常检测通常是在大部分数据是正常的情况下,发现少量不同寻常的数据。

第二题

在这里插入图片描述
答案
B
分析:当算法检测的结果丢掉了异常数据的时候,此时增加sigma可以减少丢失。

第三题

在这里插入图片描述
答案
A

第四题

在这里插入图片描述
答案
AD
分析:
A:当使用有标签的数据时,可以通过最终检测结果来与标签进行比对,从而确定出更好的sigma值。
B:监督学习通常使用大量的正向、负向数据,而异常检测通常使用极少量的正向数据。
C:与A相反
D:寻找那些极大或极小的值作为特征,正确。

第五题

在这里插入图片描述
答案
A
分析:从图中可以看出,中心点大致在-3,而如果画出高斯分布的话,宽度大致为2,即sigma的平方为4.

测验二:Recommender Systems

第一题

在这里插入图片描述
答案
BC

第二题

在这里插入图片描述
答案
AD
分析:
AD均为推荐系统,适合采用协同过滤算法。
C:一个人的喜好,用罗辑回归就好。

第三题

在这里插入图片描述
答案
D
分析:需要将三个不同数据库的数据进行归一化,然后才能作为样本数据。

第四题

在这里插入图片描述
答案
AB
分析:
C:协同过滤算法不需要手动选择特征,错误。
D:协同过滤算法初始化参数不可以为0,错误。

第五题

在这里插入图片描述
答案
AB

编程练习:Anomaly Detection and Recommender Systems

作业一:Estimate Gaussian Parameters

estimateGaussian.m

% 计算mu,向量化代码
% 对X矩阵每一列求和后,执行平均
mu = 1 / m * (sum(X))';



% 计算sigma2 向量化代码
% 将X转置后减去 - mu,然后平方后,求每一行的和,再执行平均
sigma2 = 1 / m * sum((X' - mu).^2 , 2);

作业二:Select Threshold

selectThreshold.m

	% 自己的预测结果
    mcv = size(pval ,1);
    cvPredictions = zeros(mcv,1);
    cvPredictions = (pval < epsilon);
    
    % 计算TP,FP,FN,使用按位与操作
    tp = sum((cvPredictions == 1) & (yval == 1));
    fp = sum((cvPredictions == 1) & (yval == 0));
    fn = sum((cvPredictions == 0) & (yval == 1));

    % 计算查准率和查全率
    prec = tp / (tp + fp);
    rec = tp / (tp + fn);


    F1 = 2 * prec * rec / (prec + rec);

作业三:Collaborative Filtering Cost

cofiCostFunction.m

% 计算代价函数时,只计算有评分的部分,故通过点乘R来得到有数据部分的值
J = 1 / 2 * sum(sum(( (X * Theta').*R - Y.*R).^2));

作业四:Collaborative Filtering Gradient

cofiCostFunction.m

% 向量化代码计算梯度
X_grad = ((X * Theta').* R - Y.*R) * Theta;
Theta_grad = ((X * Theta').*R - Y.*R)' * X;

作业五:Regularized Cost

cofiCostFunction.m
接着上面的代码写

% 正则化J
J += lambda / 2 * sum(sum(Theta.^2))  + lambda / 2 * sum(sum(X.^2));

作业六:Regularized Gradient

cofiCostFunction.m
接着上面的代码写

% 正则化梯度
X_grad += lambda * X;
Theta_grad += lambda * Theta;
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值