[西瓜书笔记] CH1绪论CH2模型评估与选择

2023-12-30 16:38

本文主要是介绍[西瓜书笔记] CH1绪论CH2模型评估与选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一章 绪论

  1. 机器学习
    - 计算的手段
    - 自身经验(数据)
    - 改善性能(学习算法→模型)
  2. 属性空间={属性1,属性2,…}
  3. 分类
    在这里插入图片描述
  4. 泛化(generalization):适用于新样本的能力
    模型应注重于预测未知,拟合未知
  5. 独立同分布i.i.d
  6. 归纳:所有匹配的假设→假设空间→版本空间
  7. 归纳偏好(优先考虑实际业务)

第二章 模型的评估与选择

  1. error rate:错误率 E=a/m
    accuracy:精度 1-a/m
  2. 误差error:
    - 训练集→训练误差 经验误差
    - 新样本→泛化误差【目标:减小泛化误差
  3. 拟合,过拟合overfitting,欠拟合underfitting
  4. 验证集应尽可能与训练集互斥
  5. 用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参

模型评估方法

  1. 留出法(hold-out): 将数据集划分为两个互斥的集合,一个用于训练S,一个用于验证T。D=S \cup T,S \cap T = \emptset
    - 保持样本类别比例相似 → 分层采样stratified sampling
    - 若干次随机划分、重复实验后取平均值作为评估结果
    - 缺点:S过多,T较小,评估结果不稳定准确;T过多,评估模型会和D训练出的模型有较大差别,降低评估结果的保真性
    - 常见解决做法:2/3 - 4/5用于训练,剩余用于验证
  2. k折交叉验证法(k-fold cross validation):将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性。每次用k-1个子集的并集作为训练集,剩余的一个子集作为验证集。进行k次训练和验证,返回k个验证结果的均值。
    - 常用k=10,其次为5、20
    - 为减少样本划分不同引入的区别,随机使用不同的划分进行p次k折交叉验证
    - 特例:当k=数据集D样本数,留一法(Leave-One-Out,LOO)。用留一法实际评估的模型与期望评估用D训练出的模型相似(,但是数据量大时开销过大。
  3. 自助法(bootstrapping):每次随机从D中挑选一个样本将其拷贝放入D’ ,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m 次后,我们就得到了包含 m 个样本的数据集 D’。
    - 有1/3的数据不会在训练集中出现
    - 适用于数据集较小、难以有效划分训练验证集的场合;初始数据集产生多个不同的训练集,利于集成学习
    - 会引入估计偏差

性能度量(performance measure)

  • 衡量模型泛化能力的评价标准,反映了任务需求
  • 回归任务:均方误差(mse)
  • 分类任务:
    1. 错误率和精度
    2. 查准率percision、查全率recall、F1
      - TP+FP+TN+FN=样本总数
      在这里插入图片描述
      - 查准率P=TP/(TF+FP)
      - 查全率R=TP/(TP+FN)
      - 查准率和查全率是矛盾的
      - P-R曲线:若一个学习器的P-R曲线被另一个学习器的曲线完全"包住" , 则可断言后者的性能优于前者;若发生交叉难以断言有了程度。
      - 平衡点(Break-Event Point,BEP):查准率=查全率。两个学习器之间,若A的平衡点大于B的平衡点,那么学习器A优于B
      - F1度量:在这里插入图片描述
      - 由于不同场景对查准率和查全率重视程度不同,F1度量的一般形式表达对查准率和查全率不同的偏好。\beta=1, F_\beta = F1; \beta>1, 查全率有更大影响;\beta<1,查准率有更大影响。

      - 多次训练/验证得到多个二分类混淆矩阵,为了综合考察查准率和查全率,有几种做法:①分别计算P和R,再计算平均值,得到宏查准率marco-P、宏查全率、宏F1 ;② 先将混淆矩阵对应元素进行平均,得到TP、FP、TN、FN的平均值,再基于平均值计算微查准率、微查全率、微F1。
      在这里插入图片描述

这篇关于[西瓜书笔记] CH1绪论CH2模型评估与选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/553435

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首