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

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

文章目录

    • 测验1:Logistic Regression
      • 第一题
      • 第二题
      • 第三题
      • 第四题
      • 第五题
    • 测验2:Regularization
      • 第一题
      • 第二题
      • 第三题
      • 第四题
      • 第五题
    • 编程练习
      • 作业一:Sigmoid Function
      • 作业二&三:Logistic Regression Cost & Logistic Regression Gradient
      • 作业四:Predict
      • 作业五:Regularized Logistic Regression Cost

测验1:Logistic Regression

第一题

吴恩达机器学习第三章测试及编程练习_第1张图片
答案
AD

第二题

吴恩达机器学习第三章测试及编程练习_第2张图片
吴恩达机器学习第三章测试及编程练习_第3张图片
答案
AB

第三题

吴恩达机器学习第三章测试及编程练习_第4张图片
答案
CD

第四题

吴恩达机器学习第三章测试及编程练习_第5张图片
答案
AB
分析:
A:因为H_theta(x)总是0到1,故CostFunction按照定义一定是大于等于0的,正确。
B:罗辑回归可以使用“区分一类和其他剩下类”的方法,正确。
C:罗辑回归是收敛的,故梯度下降法总会找到全局最小值,错误。
D:如果我们有两类,则需要两个分类器;有三类,则需三个分类器,错误。

第五题

吴恩达机器学习第三章测试及编程练习_第6张图片
吴恩达机器学习第三章测试及编程练习_第7张图片
答案
C
分析:
易求出h_theta(x) = g(6 - x2)
当6-x2>=0时,y=1,故x2<=6时,y=1


测验2:Regularization

第一题

吴恩达机器学习第三章测试及编程练习_第8张图片
答案
D
分析:
对于A:添加过多的特征,一定会使假设函数在训练集上表现的很好,但不一定在新数据上表现很好,错误。
对于B:引进正则化不一定会在训练集上表现很好,通常会表现的不好,错误。
对于C:引进正则化不一定会在新数据上总是表现很好,错误。
对于D:添加过多特征,会过度拟合训练集数据,正确。

第二题

吴恩达机器学习第三章测试及编程练习_第9张图片
答案
A
分析:
当lamda=0时,即未正则化,此时theta保持应有的值。
但lamda不为0时,正则化后,为了保持代价函数处于更小的值,此时theta会比原来更小。

第三题

吴恩达机器学习第三章测试及编程练习_第10张图片
答案
C
分析:选取过大的lamda,得到一条平行于X轴的直线,这条直线显然是欠拟合的。

第四题

In which one of the following figures do you think the hypothesis has overfit the training set?
吴恩达机器学习第三章测试及编程练习_第11张图片
吴恩达机器学习第三章测试及编程练习_第12张图片
吴恩达机器学习第三章测试及编程练习_第13张图片
答案
A

第五题

In which one of the following figures do you think the hypothesis has underfit the training set?
吴恩达机器学习第三章测试及编程练习_第14张图片
吴恩达机器学习第三章测试及编程练习_第15张图片
答案
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);

你可能感兴趣的:(机器学习,机器学习)