首页 > 其他分享 >机器学习课堂笔记——模型的评估与参数选择

机器学习课堂笔记——模型的评估与参数选择

时间:2024-09-19 13:19:45浏览次数:11  
标签:误差 训练 验证 模型 笔记 参数 测试 课堂 评估

一、误差与泛化误差

  • 模型输出偏离真实目标值,则模型存在误差。
  • 训练集上的平均误差称为训练误差,测试集上的误差称为泛化误差,泛化误差是衡量模型泛化能力的重要标准。
  • 误差的度量标准可以用损失函数来表示。

二、数据集

  • 训练集:相当于上课学知识。
  • 验证集:相当于课后的练习题,用来纠正和强化学到的知识。
  • 测试集:相当于期末考试,用来最终评估学习效果。

三、验证集

  • 用于评估模型在新数据(验证集和测试集是不同的数据)上的表现。
  • 通过调整超参数,让模型处于最好的状态。
  • 验证集的主要作用:
    • 评估模型效果,为调整超参数服务。
    • 调整超参数,使得模型在验证集上的效果最好。
  • 验证集是非必需的,如果不需要调整超参数,可以不使用验证集,直接用测试集来评估效果。
  • 验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测试集的评估结果为准。

四、测试集

  • 调好超参数后,通过测试集来做最终的评估,来看学习效果(模型效果)好不好。
  • 通过测试集的评估,会得到一些最终的评估指标,例如:准确率、精确率、召回率、F1 等。

五、数据集划分

  • 对于小规模样本集(几万量级),常用的划分比例:
    • 训练集:验证集:测试集 = 6:2:2。
    • 训练集:测试集 = 8:2、7:3。
  • 对于大规模样本集(百万级以上),只要验证集和测试集的数量足够即可。
  • 超参数越少,或者超参数很容易调整,那么可以减少验证集的比例,更多的分配给训练集。

六、过拟合与欠拟合

  • 过拟合:将训练样本自身的一些特点当作所有样本潜在的泛化特点,表现为在训练集上表现很好,在测试集上表现不好。原因包括训练数据太少、模型的复杂度太高、数据不纯等。
  • 欠拟合:还没训练好,原因包括数据未做归一化处理、神经网络拟合能力不足、数据的特征项不够等。

七、防止过拟合的方法

  • 移除特征,降低模型的复杂度:减少神经元的个数,减少隐藏层的层数。
  • 训练集增加更多的数据。
  • 重新清洗数据。
  • 数据增强。
  • 正则化
  • 早停

标签:误差,训练,验证,模型,笔记,参数,测试,课堂,评估
From: https://blog.csdn.net/EShiLa/article/details/142306124

相关文章

  • jsp大学生课堂考勤管理系统的设计与实现l78i6
    jsp大学生课堂考勤管理系统的设本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能学生,教师,课程信息,课程分类,课程考勤,课堂提问,学生选课开题报告内容一、选题背景与意义随着高等教育的普及和大......
  • ai课堂行为分析系统 Python
    ai课堂行为分析系统利用图像识别算法和数据分析技术,ai课堂行为分析系统对学生在课堂上的表情状态、课堂表现和互动行为进行实时监测和评估。ai课堂行为分析系统通过摄像头采集学生的图像,并通过算法分析学生的表情、姿态和互动行为,从而评估学生的参与度、专注度和互动质量。ai课堂行......
  • 线程池的执行流程是什么?(核心参数、执行流程、拒绝策略)
    一、线程池的执行流程1.首先,向线程池提交一个线程任务,线程池会分配空闲线程去处理该线程任务。2.如果没有空闲线程就判断当前存活线程数是否超过核心线程数:    (1)没有超过就创建一个核心线程,处理线程任务。        (2)超过核心线程数就将存活线程存放在工......
  • Go to Learn Go之命令行参数
    概述在上一节的内容中,我们介绍了Go的时间日期,包括:time包、格式化日期、日期字符串解析、计算日期差、时区操作、定时任务等。在本节中,我们将介绍Go的命令行参数。命令行参数在程序设计中扮演着重要的角色,它允许用户在运行程序时提供自定义的输入,以控制程序的行为。Go语言提供了灵活......
  • SpringBoot拦截器中读取POST请求体参数
    CustomHttpServletRequestWrapper.java:包装请求,缓存请求体数据,重写读取数据方法importjavax.servlet.ReadListener;importjavax.servlet.ServletInputStream;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletRequestWrapper;importj......
  • 软件体系结构笔记4-2(用代码直观理解)
    四、Data-centered Software Architecture Style(数据为中心的体系结构风格)2、黑板体系结构风格黑板体系结构是一种问题求解模式,特别适用于那些难以事先完全形式化的复杂问题。它由三个主要组件组成:黑板(Blackboard):一个共享的信息库,所有知识源都可以读取和写入。在我们的例......
  • 【jenkins】 动态参数传入项目
    步骤1:在jenkins内配置项目参数栏,进行参数配置:General->Thisprojectisparameterized  中进行设置步骤2:项目中的流水线中配置传参数的动作,将参数传入流水线pipeline{agent{label'slave-02-per'}stages{stage('Checkout'){step......
  • Springboot多种请求参数
        Springboot中有多种请求参数:简单参数、实体对象参数、数组、集合参数、日期时间参数、json参数……下列代码为每一种参数都写了一个简单的例子packagecom.wzb;importcom.wzb.pojo.Student;importcom.wzb.pojo.User;importorg.springframework.format.anno......
  • C++学习笔记(28)
    十四、实现strchr()和strrchr()函数示例:#define_CRT_SECURE_NO_WARNINGS//使用C风格字符串操作的函数需要定义这个宏#include<iostream>usingnamespacestd;//返回在字符串s中第一次出现c的位置,如果找不到,返回0。//babcddefaeaconstchar*mystrchr(co......
  • java基础 -IO流笔记
    610,文件的基础知识文件流 输入流和输出流都是相对java程序内存而言 611,创建文件 在D盘下创建文件。packagecom.hspedu.file;importorg.junit.jupiter.api.Test;importjava.io.File;importjava.io.IOException;//演示创建文件publicclassFileCreate{......