吳恩達機器學習第三章測試及編程練習

代碼: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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章