吴恩达机器学习第三章测试及编程练习

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

测验1:Logistic Regression

第一题

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

第二题

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

第三题

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

第四题

在这里插入图片描述
答案
AB
分析:
A:因为H_theta(x)总是0到1,故CostFunction按照定义一定是大于等于0的,正确。
B:罗辑回归可以使用“区分一类和其他剩下类”的方法,正确。
C:罗辑回归是收敛的,故梯度下降法总会找到全局最小值,错误。
D:如果我们有两类,则需要两个分类器;有三类,则需三个分类器,错误。

第五题

在这里插入图片描述
在这里插入图片描述
答案
C
分析:
易求出h_theta(x) = g(6 - x2)
当6-x2>=0时,y=1,故x2<=6时,y=1


测验2:Regularization

第一题

在这里插入图片描述
答案
D
分析:
对于A:添加过多的特征,一定会使假设函数在训练集上表现的很好,但不一定在新数据上表现很好,错误。
对于B:引进正则化不一定会在训练集上表现很好,通常会表现的不好,错误。
对于C:引进正则化不一定会在新数据上总是表现很好,错误。
对于D:添加过多特征,会过度拟合训练集数据,正确。

第二题

在这里插入图片描述
答案
A
分析:
当lamda=0时,即未正则化,此时theta保持应有的值。
但lamda不为0时,正则化后,为了保持代价函数处于更小的值,此时theta会比原来更小。

第三题

在这里插入图片描述
答案
C
分析:选取过大的lamda,得到一条平行于X轴的直线,这条直线显然是欠拟合的。

第四题

In which one of the following figures do you think the hypothesis has overfit the training set?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
答案
A

第五题

In which one of the following figures do you think the hypothesis has underfit the training set?
在这里插入图片描述
在这里插入图片描述
答案
A


编程练习

作业一:Sigmoid Function

sigmoid.m

% z也可以是矩阵,此处除法应使用 点除
g = 1 ./ ( 1 + exp(-z) );

作业二&三:Logistic Regression Cost & Logistic Regression Gradient

costFunction.m

注意矩阵的纬度

J = 1/m * sum(-y' * log(sigmoid(X * theta)) - (1 - y)' * log(1 - sigmoid(X * theta)));
grad = 1 / m * X' * (sigmoid(X * theta) - y);

作业四:Predict

predict.m

% 计算结果为m*1的向量
res = sigmoid(X * theta);

p(res>=0.5) = 1;
p(res<0.5) = 0;

作业五:Regularized Logistic Regression Cost

costFunctionReg.m

% theta(1)不需要正则化
J = 1 / m * (-y' * log(sigmoid(X * theta)) - (1 - y)' * log(1 - sigmoid(X * theta))) + lambda / (2 * m) * (theta' * theta - theta(1)^2);

grad = 1 ./ m * X' * (sigmoid(X * theta) - y) + lambda /m * theta;
grad(1) = 1 / m * X'(1,:) * (sigmoid(X * theta) - y);
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值