斯坦福机器学习第六周(模型选择、高偏差、高方差、学习曲线)

本文深入探讨机器学习中模型选择的重要性和方法,包括交叉验证、超参数调整,以及如何处理高偏差和高方差问题。通过学习曲线分析模型的泛化能力,并以逻辑回归为例解释精确率和召回率。
摘要由CSDN通过智能技术生成


这篇文章主要讲解的是如何来对训练出来的代价函数进行评估,一起怎么处理
所遇到的各种问题。

0.引例

假如你已经训练好了一个代价函数来预测房价,然而你却发现用来预测新数据集时,其效果异常的糟糕。那我们接下来该怎么办呢?

这里写图片描述

可以看到方法有很多种,但是到底应该怎么来进行选择呢?当然绝对不能凭着感觉来。

1. Evaluating your hypothesis

评价一个模型(代价函数)的好坏总体上都是从训练过程中的代价值来进行评判的,其结果无非有三种:欠拟合,恰拟合,过拟合。我们都希望在训练的过程中能够得到最小的代价值,但是最终或许这并不是一个特别好的结果。因为此时有可能就出现了过拟合。所以,说一千道一万首先需要弄清楚的就是这个问题。

这里写图片描述

假若模型的特征维度只有1个维度,我们可以很直观的通过在数据集上画出代价函数的图像,来判断属于三种情况的哪一种。但问题是,几乎绝大多数问题面临的都是大于1维度的情况,很明显画图就不太现实了。

1.1 Cross Validation

对于已经确定好的模型(e.g. 多项式的次幂 d ,规则项的 λ 等超参数都已经确定,见1.2)来说,我们只需要将原有的数据集划分成两个部分训练集(train set),测试集或验证集(cross validation set/test set)。通常来说训练集和测试集的比值为 7:3 。其中,训练集仅仅是用来普通参数(非超参数),然后测试集来测试该模型的泛化误差(generalization error),该误差越小,说明模型的预测能力越强。

这里写图片描述

1.2 Hyper parameter and Model selection

超参数(hyper parameter),大多数机器学习算法都有超参数,可以设置来控制算法行为。超参数的值不是通过学习算法本身学习出来的,是因为这样的参数太难优化(例如 d λ )。所以超参数基本都是通过手动来进行挑选的,而所谓的模型选择(model selection)就是“训练”得到超参数的过程

如果仅仅是因为摸个模型的在训练集上表现得异常出色(代价值特别低)我们就选择该模型的或,未免就显得太武断了。因为此时就可能出现了过拟合的现象,所以我们就为数据集选择一个合适的模型,虽然特征冗余也会出现过拟合。而方法就是将原有的数据集分成训练集60%(training set)、交叉验证集20%(cross validation set)和测试集20%(test set),分别用于计算得到training error,cross validation error以及test error(即generalization error)。

1.2.1 对于不含有规则项的代价函数来说:

这里写图片描述

假定现在有10个备选模型,分别如下:

1.hθ(x)2.hθ(x)3.hθ(x)...10.hθ(x)=θ0+θ1x=θ0+θ1x+θ2x2=θ0+θ1x++θ3x3=θ0+θ1x++θd
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值