ex5
在learningCurve.m和validationCurve.m里面出现了错误,提交上去没有分数:
我是这样调用的:
[error_train(i), gg] = linearRegCostFunction(X_t, y_t, theta, lambda);
[error_val(i), gg] = linearRegCostFunction(Xval, yval, theta, lambda);
pdf教程中有一句话:
意思是在计算训练误差和测试误差时不应该包含正则化项,即linearRegCostFunction中的lambda应该等于0.但是在训练时trainLinearReg中的lambda是多少就是多少。所以有下面的代码:
此外
论坛中也提到了这个事:Programming Exercise Tutorials (list)(https://www.coursera.org/learn/machine-learning/discussions/all/threads/m0ZdvjSrEeWddiIAC9pDDA)
在ex5的learningCurve() tutorial (really just a set of tips)中这样说的:
明确了lambda等于零在调用函数时直接使用,而不是在function中的循环外设置lambda=0.
用以上代码,提交作业就没有错误了!!