(统计学习方法|李航)第一章统计学习方法概论——四五六节模型评估与模型选择,正则化与交叉验证,泛化能力

一,模型评估与模型选择

1.训练误差与测试误差

假如我们有100个数据。80条记录给训练集,10条记录给测试集,10条记录给验证集

先在训练集中训练模型,

再在验证集上测试看哪种模型更拟合

最后用测试集算出成绩

表示决策函数

模型拟合的好坏(对已知数据的预测效果)我们可以通过训练集测出训练误差来衡量

对未知数据预测效果好坏可以利用测试集来衡量

  • 预测值和真实值不相等的个数占测试集样本总个数的比例
  • 经过模型的预测值和真实值相等的占样本点的个数。

2.过拟合与模型选择

在多项式拟合问题中 :
就很好的解释了过拟合问题,我们想要去拟合一个正弦函数

我们去选择正弦函数上的点去拟合

当图像是三次函数时,拟合效果是非常不错的,但是为了抓住图像中的每一个细节

(哪怕噪音也不放过,就容易出现过拟合问题)

  • 我们使用的是经验风险最小化的策略
  • 经验风险使用的损失函数是平方损失

要求出最小值就需要求导,这里的二分之一只是为了抵消平方

那么如何去看是否过拟合呢?

  • 他在训练集上拟合效果特别好(每个点集都在图像上)
  • 但是在测试集和验证集上特别差

就是过拟合了!!!

当M=9,训练误差极大,但测试误差极大

二,正则化与交叉验证

1.正则化

最小化结构风险中跟的就是正则项

目的:减少模型的复杂度,防止过拟合的

正则化项有两种形式:

  • L1范数和L2范数
  • w这里叫作参数

这里谈一个奥姆卡剃刀原理:

  • 我们发现当模型复杂度大于等于3的时候,训练集都能很好的拟合,、
  • 则选择最简单的模型

2.交叉验证

(1)简单交叉验证

(2)S折交叉验证

我们只有100个数据,一开始选择这80个数据作为训练集,剩下的是测试集和验证集

后来再随机选出80个,

选出来10种训练集进行模型训练。

选择不同的测试集去训练模型

(3)留一交叉验证

数据非常缺乏的情况下:

此时的N为数据的容量

三,泛化能力

1.泛化误差

  • 泛化误差R(f)
  • 就是对损失函数值loss求出其数学期望
  • 泛化误差反映了学习方法的泛化能力,即所学习到的模型的期望风险。

f-hat(X)为预测值

这里我们之前学的策略里的损失函数的期望值

我们下面给出的红豆绿豆的实例

下面这个是经验风险。

2.泛化误差上界

函数f是从假设空间F中抽取出来的


那么这个泛化误差R(f)(期望风险)是有上界的。

  • d代表的是假设空间中函数的个数
  • N表示训练集中样本的个数
  • 德尔塔则是概率

regulation

(1)当N->无穷大,样本容量增大,那么泛化误差上界就是趋向于0的。

(2)d越大,假设空间越来越复杂,那么泛化误差上界也会增大。

公式推导:

首先我们直到有以下

hoeffding不等式成立:

SN为随机变量求和

即可得:

相关推荐
神马行空20 分钟前
一文解读DeepSeek大模型在政府工作中具体的场景应用
人工智能·大模型·数字化转型·deepseek·政务应用
合合技术团队22 分钟前
实测对比|法国 AI 独角兽公司发布的“最强 OCR”,实测效果如何?
大数据·人工智能·图像识别
蒹葭苍苍87330 分钟前
LoRA、QLoRA微调与Lama Factory
人工智能·笔记
蹦蹦跳跳真可爱58930 分钟前
Python----机器学习(基于PyTorch的线性回归)
人工智能·pytorch·python·机器学习·线性回归
mosquito_lover11 小时前
矿山边坡监测预警系统设计
人工智能·python·深度学习·神经网络·视觉检测
契合qht53_shine1 小时前
OpenCV 从入门到精通(day_03)
人工智能·opencv·计算机视觉
Naomi5212 小时前
Trustworthy Machine Learning
人工智能·机器学习
刘 怼怼2 小时前
使用 Vue 重构 RAGFlow 实现聊天功能
前端·vue.js·人工智能·重构
程序员安仔2 小时前
每天学新 AI 工具好累?我终于发现了“一键全能且免费不限量”的国产终极解决方案
人工智能
闭月之泪舞2 小时前
OpenCv(五)——边缘检测
人工智能·计算机视觉