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

一,模型评估与模型选择

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为随机变量求和

即可得:

相关推荐
金井PRATHAMA4 小时前
描述逻辑(Description Logic)对自然语言处理深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
Rock_yzh4 小时前
AI学习日记——参数的初始化
人工智能·python·深度学习·学习·机器学习
Hcoco_me5 小时前
YOLO入门教程(番外):目标检测的一阶段学习方法
yolo·目标检测·学习方法
CiLerLinux5 小时前
第四十九章 ESP32S3 WiFi 路由实验
网络·人工智能·单片机·嵌入式硬件
七芒星20237 小时前
多目标识别YOLO :YOLOV3 原理
图像处理·人工智能·yolo·计算机视觉·目标跟踪·分类·聚类
Learn Beyond Limits8 小时前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达
ACERT3338 小时前
5.吴恩达机器学习—神经网络的基本使用
人工智能·python·神经网络·机器学习
C嘎嘎嵌入式开发8 小时前
(一) 机器学习之深度神经网络
人工智能·神经网络·dnn
Aaplloo8 小时前
【无标题】
人工智能·算法·机器学习
大模型任我行8 小时前
复旦:LLM隐式推理SIM-CoT
人工智能·语言模型·自然语言处理·论文笔记