码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习——模型选择、参数选择

时间:2015-07-27 23:05:00      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:机器学习

当我们使用正则化的线性回归方法预测房价时,发现得到的模型应用于新的数据上时有很大误差,这时,我们可以选择一些解决方案,例如:
技术分享
上图中的这六种解决方案都有相应的条件,如图中蓝色字体所示。

【一、回归模型选择】

我们引入一类数据集,叫做cross validation set,即交叉验证数据集。将所有数据按6:2:2
分为training set , cross validation set , testing set三类,如下图所示:
技术分享

技术分享

【模型选择的步骤】

  1. 建立d个假设模型,如下图所示(d=10),分别在training set 上求使其training error最小的θ向量,那么得到d个θ。
  2. 对这d个假设模型,在cross validation set上计算J(cv),选择cv set error最小的一个模型 ,例如:如果J(cv)在第2组中最小,则取d=2的假设。
    技术分享

【二、bias and variance的定义】

对于不同的模型,有不同的拟合情况,如下图所示:

技术分享

技术分享

由上图可定义:

  • bias:J(train)大,J(cv)大,J(train)≈J(cv),bias产生于d小,underfit阶段
  • variance:J(train)小,J(cv)大,J(train)远远小于J(cv),variance产生于d大,overfit阶段

【三、正则化参数λ的选择】

为了解决过拟合的问题,使用正则化,但是正则化参数λ的正确选择是一个难题。

  • λ太小导致overfit,产生variance,J(train)远远小于J(cv)
  • λ太大导致underfit,产生bias,J(train) ≈ J(cv)

    如下图所示:
    技术分享

关于λ的曲线如下:

技术分享

【参数λ的选择】

  1. 将λ从0,0.01,一直往上每次乘以2,那么到10.24总共可以试12次λ。这12个λ会得到12个模型,如下图所示。每个对应有J(θ)和 Jcv(θ),分别在training set 上求使其training error最小的θ向量,那么得到12个θ。
    2.在cross validation set上计算J(cv),选择cv set error最小的一个模型 ,然后取出令Jcv(θ)最小的一组定为最终的λ。例如假设J(cv)在第5组中最小,则取λ=0.08的假设,如下图所示。

技术分享

【四、什么时候增加训练数据training set才是有效的?】

技术分享
从上图可知:训练数据越少,J(train)越小,J(cv)越大;m越大,J(train)越大(因为越难完全拟合),J(cv)越小(因为越精确)

那么怎么判断增加训练数据training set的数目m能够对算法有较大改进呢??

技术分享

技术分享

【总结】

  • Underfit 的 High bias: J(train)≈J(cv)增加m没什么帮助!
  • Overfit的 High Variance: 增加m使得J(train)和J(cv)之间gap减小,有助于performance提高!

版权声明:本文为博主原创文章,未经博主允许不得转载。

机器学习——模型选择、参数选择

标签:机器学习

原文地址:http://blog.csdn.net/adminabcd/article/details/47091531

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!