IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【机器学习】模型过拟合解决方案(模型评估) -> 正文阅读

[人工智能]【机器学习】模型过拟合解决方案(模型评估)

【机器学习】模型过拟合解决方案(模型评估)


前言:本文框架参考经济学大神论文的一部分,细节部分多处参考,在此致谢,侵权必删
致谢

  • Varian, H. R. 2014. “Big Data: New Tricks for Econometrics,” The Journal of Economic Perspectives (28:2), pp. 3-27.
  • https://blog.csdn.net/qq_46020653/article/details/119430176

背景

  • 机器学习(Machine Learning)的重要目标:Prediction ( Finding an efficient systems to predict some tasks )
    • 预测目标:minimizes loss function ( 残差平方和 SSR, 残差绝对值均值 …)
    • 预测挑战:out-of-sample predictions,即预防过拟合问题 overfitting*(即样本内有效,样本外有偏)

过拟合的三个解决方案

  1. 简单模型(“若无必要,勿增实体” Occam’s razor):惩罚复杂性 regularization
  2. 留出法 Hold-out :训练(training data – estimate model) 、测试(validation data – choose model) 、验证(testing data – evaluate model
  3. K折交叉验证 k-fold cross-validation:划分k个子样本(常见 k = 5, 10),每次“留一个在外”(leave one out)用于验证,其余用于训练,验证时用调优参数(tunning paramater)量化模型效果

留出法 Hold-out

  • 留出法(Hold-out Method): 直接将数据集D划分成两个互斥的集合,其中一个为训练集S,另一个作为测试集T
    • 保持数据分布的一致性(即保持若S,T中样本类别比例近似)
      • 分层采样(stratified sampling):在对数据集进行划分的时保留类别比例
        • 举例:数据集D,包含500个正例,500个反例;训练集S(70%)应为350个正例,350个反例,测试集T(30%)应为150个正例,150个反例
    • 一般要采用若干次随机划分、重复进行实验评估后,取平均值作为留出法的评估结果
    • 划分比例:常见使用 2 3 ? 4 5 \frac{2}{3} - \frac{4}{5} 32??54? 作为训练集
      • 训练集S太大,测试集T太小,评估结果会不稳定、不准确;
      • 测试集T太大,训练集S太小,训练出来的模型丧失真实性。
  • 为什么有验证集(validation dataset)
    • 如果每次都使用test data对模型评估与选择,实际上也将test data也成为了train data,过拟合问题依然存在,因此引入验证集validation data 减缓训练时的过拟合
训练集 train dataset验证集 validation dataset测试集 test dataset
目的训练模型模型选择与超参数调优评估模型泛化性能
步骤Model EstimationModel SelectionModel Evaluation
要求与test互斥与train互斥
使用频率多次(反复训练)多次(反复调参)一次(最后一次)

Hold-out Method for Model Evaluation

  • 目标:基于将数据集分割为训练数据集(train)和测试数据集(test),使用固定的超参数集的模型评估
    1. 将数据集分为训练集和测试集两部分(一般比例:70%-30%);
    2. 在训练集上训练模型,在训练之前要选择固定的一些模型超参数设置;
    3. 把训练好的模型在测试集上评估(测试);
    4. 在整个数据集上训练最终模型,得到一个在未来数据集上能够更好进行泛化的模型;

Hold-out method for Model Selection

  • 目标:模型超参数确定
    1. 把数据集分成训练集、验证集和测试集;
    2. 训练不同的模型用不同的机器学习算法(如logistic regression, random forest, XGBoost);
    3. 对于用不同算法训练的模型,调整超参数,得到不同的模型。对于步骤2中提到的每个算法,改变超参数设置,并配备多个模型;
    4. 在验证集上测试每个模型(属于每个算法)的性能;
    5. 从验证数据集中测试的模型中选择最优的模型。对于特定的算法,最优模型将具有最优的超参数设置;
    6. 在测试数据集中测试最优模型的性能;
  • 总结图:
    • 在这里插入图片描述

Cross-Validation(交叉验证)/ k-fold Cross-Validation(K折交叉验证) & Nested Cross-Validation(嵌套交叉验证)

k-fold Cross-Validation for Model Evaluation

  • 交叉验证法(cross validation) / k折交叉验证(k-fold cross validation):将数据集 D D D 划分成 k k k 个大小相似的互斥子集,每个子集 D i D_i Di? 都尽量保持数据分布的一致性(分层采样),每次用 k ? 1 k - 1 k?1 个子集的并集作为训练集,余下一个作为测试集,即获得 k k k 组数据进行 k k k 次训练测试,最终结果为 k k k 次训练测试的均值
  • 随机划分:随机使用不同的划分重复 p p p 次,最终结果是这p次k折交叉验证结果的均值

k-fold Cross-Validation for Model Selection

  • k-fold Cross-Validation 也可以作为参数调优方法
  • 在 k-fold Cross-Validation for Model Evaluation 基础上,训练集(train)进一步划分成 k ′ k' k 个大小相似的互斥子集,每次用 k ′ ? 1 k' - 1 k?1 个子集用于训练,一个作为验证,即这样得到 k ′ k' k 组训练/验证集,从而进行 k ′ k' k 次训练验证,根据结果模型选择和进行超参数调整

Nested Cross Validation(嵌套交叉验证)

  • 两种方法的嵌套使用两者,如下图:
    • 在这里插入图片描述

机器学习评估方法

  • 以下为 Brief Talk ,以后单开一章节
    • 混淆矩阵 —— 精度评价(准确率,精确率,召回率,P-R区县,F1-score,ROC值与AUC值)
    • 距离/相似性 —— 余弦距离,欧氏距离
    • A/B测试
    • Holdout检验
    • 交叉检验 / k-fold交叉验证 / 自助法
    • 超参数调优 —— 网格搜索、随机搜索、贝叶斯优化
    • 过拟合 & 欠拟合
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:19:21  更:2021-11-29 16:20:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 3:41:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码