1. 程式人生 > >Coursera-吳恩達-機器學習-第六週-程式設計作業: Regularized Linear Regression and Bias/Variance

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 附近。