Machine learning 编程练习ex5错误

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.

用以上代码,提交作业就没有错误了!!

作者:张清博

-------------------------------------------

个性签名:半途而废

本文如有帮助,记得在右下角点个“推荐”哦,在此感谢!

原文地址:https://www.cnblogs.com/Ireland/p/12482970.html