Coursera-吳恩達-機器學習-第六週-程式設計作業: Regularized Linear Regression and Bias/Variance
本次文章內容: Coursera吳恩達機器學習課程,第六週程式設計作業。程式語言是Matlab。
學習演算法分兩部分進行理解,第一部分是根據code對演算法進行綜述,第二部分是程式碼。
0 Introduction
在這個練習中,應用regularized linear regression,並觀察其bias-variance properties性質。
1 Regularized Linear Regression
Part 0 Initialization
clear ; close all; clc。常規操作。
Part 1: Loading and Visualizing Data
視覺化test data。
Part 2: Regularized Linear Regression Cost && Linear Regression Gradient
計算cost function 和 gradient ,注意, 正則化不包含第0項,所以從0開始。
Part 4: Train Linear Regression
run the code in trainLinearReg(),計算the optimal values θ。並畫出Linear Regression影象,從圖中可以觀察是high bias 的情況。
Part 5: Learning Curve for Linear Regression
先計算得到的theta值,用theta值計算test誤差和cross validation誤差,畫出Learning curves影象。
Part 6: Feature Mapping for Polynomial Regression
使用Polynomial Regression的hypothesis,另外注意需要做 feature normalization,因為座標會被縮放至k度。從圖中可以觀察是high variance的情況。
Part 7: Learning Curve for Polynomial Regression
畫出 Polynomial Regression的Learning curves影象。
Part 8: Validation for Selecting Lambda
當 λ =1時,Polynomial Regression和Learning curves影象:
Selecting λ using a cross validation set,畫出隨λ 變化的影象,選擇最佳的方案。如圖可以知道最佳在value 3 附近。