李燕

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Linear regression with regularization

当我们的λ很大时,hθ(x)≈θ0,是一条直线,会出现underfit;当我们的λ很小时(=0时),即相当于没有做regularization,会出现overfit;只有当我们的λ取intermediate值时,才会刚刚好。那么我们怎么自动来选择这个λ的值呢?

正则化时的Jtrain(θ),Jcv(θ),Jtest(θ)的表达式

正则化时的Jtrain(θ),Jcv(θ),Jtest(θ)的表达式不带有regularization式子,cost function J(θ)有regularization式子

怎样选择regularization parameter λ(model selection for λ)

计算不同的 λ的值(从0至10.24(为了方便写成10),下一个是上一个的二倍)的cost function,求出使cost function最小的parametersθ,然后再计算Jcv(θ),选择最小的Jcv(θ)的那个model,如上图中是θ(5)以及其对应的λ的值,然后再计算test error,看其预测准确率.

Jtrain(θ)(how well my hypothesis do on trainning set),Jcv(θ)(how well my hypothesis do on validation set)与λ的关系

当λ很小时,可以认为没有做正则化,则会出现overfitting(high variance)现象,即Jtrain(θ)很小但是Jcv(θ)很大;当λ很大时,会出现underfit(high bias)现象,即Jtrain(θ)与Jcv(θ)都很大;

上面的这个图有点理想化,实际数据画出来的图可能会有些噪声与曲折,但是大致曲线的走向是一致的,所以我们可以通过画这样一个图来看我们设置的λ的值是否适合,或者通过编制程序来自动选择最合适的那个λ的值

 

posted on 2015-12-16 17:01  李燕  阅读(1442)  评论(0编辑  收藏  举报