Programming Exercise 5: Regularized Linear Regression and Bias v.s. Variance

關於本章編程作業的兩個小問題。
在這裏插入圖片描述
Figure 1 中的圖像和實例中的不一樣,檢查了半天也沒有發現原因,還請大佬們指教。

theta = [1 ; 1];

for i=1:length(lambda_vec)
	lambda = lambda_vec(i);
	[theta] = trainLinearReg(X, y, lambda);
	error_train(i) = linearRegCostFunction(X, y, theta, 0);
	error_val (i) = linearRegCostFunction(Xval, yval, theta, 0);
end

當linearRegCostFunction()裏面參數帶lambda的時候,圖形和實例上的不一致。當帶入0的時候,是符合的。我們可以在過擬合,和過擬合後面代價函數中一節中得出這個結論。設置lambda是要在訓練模型的時候防止過擬合,而不是求代價。簡單來說,代價是指預測值與實際值之間的差值平方的和。故,最後兩項中lambda應該帶入0。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章