首页 > 其他分享 >机器学习重要概念

机器学习重要概念

时间:2022-10-22 21:35:17浏览次数:58  
标签:偏差 机器 方差 模型 学习 概念 拟合 hat 复杂度

机器学习本身的缺陷

''All models are wrong, some useful'' 我们在训练的时候是不可能看到全局的,就像是盲人摸象一样,但是我们又想要自己的模型能尽可能准确的描述出数据背后的真实规律。所以我们会需要1.更多的模型去展示全局的不同侧面,最终中和起来形成一个较为真实的模型。2.大量的数据,数据越大其所展示的细节也就越复杂。当然我们也就需要更复杂的模型去解决。反过来对于复杂的模型我们又不得不用更大的数据去喂给他。总之我们训练的模型永远不是真的模型。

误差

  • 设\(\epsilon\)为随机误差,是由数据本身的噪音带来的,是不可避免的。假定所要学习的模型是函数\(f\),在X条件下观察到的样本值为$$Y=f(X)+\epsilon$$
  • 假定训练出来的模型是\(\hat{f}\)
  • 观测数据是\(X\)和\(Y\),通过训练的模型可以得到预测值\(\hat{f}(X)\)
    由于训练模型的数据来自抽样X或者模型学习算法借助随机等因素,通常情况下得到的模型是不确定的。准是偏差小或者没有偏差,确是变化小或者没有变化。所以想到了几个值来描述模型的误差:
  1. 模型的偏差:模型的偏差指的是众多学习模型和真实模型之间的偏差。是通过学习拟合出来的结果的期望与真实值之间的差距。$$Bias(X)=E[\hat{f}(X)]-f(X) $$
  2. 模型的方差:指的是模型与模型之间的差异。表现的是通过学习拟合出来的结果自身的不稳定性。$$Var(X)=E[(\hat{f}(X)-E[\hat{f}(X)])^2]$$
  3. 一般来说模型预测的错误来源于偏差、方差和随机误差。$$Err(x)=E[(Y-\hat{f}(X))2]=(E[\hat{f}(X)]-f(X))2+E[(\hat{f}(X)-E[\hat{f}(X)])2]+\delta_\epsilon2$$换句话说模型预测的错误平方期望为偏差的平方加上方差再加上随机误差。在这三项里边,随机误差是无法消除的,其他两项都可以通过模型的选择与调参来适当控制的。

过拟合与欠拟合

  • 过拟合:模型的复杂度太高,导致模型的学习能力太强,泛化能力不足,即模型过于灵活。往往是由于模型把个别极端的噪音数据也当成正确数据学习并且纳入学习模型成为标准在以后的识别中被使用,或者是模型在数据没有覆盖的地方随意发挥的结果。在过拟合的情况下往往训练准确度远高于测试准确度。
  • 欠拟合:模型的复杂度太低,模型的学习和表达能力不足,无法学习表述数据相对复杂关系。泛化能力相对较高。
    根据奥卡姆剃刀原则我们不应该在一开始选择复杂的模型,我们应该首先选择简单的模型,在简单模型无法解释的地方再去纳入新的元素,创造更加复杂的模型。

过拟合与欠拟合的处理措施

对于过拟合的模型,需要降低其复杂度

  • 增加训练集
  • 减少训练使用的特征的数量
  • 提高正则化水平
    对于欠拟合的模型,需要增加其复杂度
  • 增加模型的迭代次数
  • 更换为描述能力更强的模型
  • 生成更多的特征供训练使用
  • 降低正则化水平

偏差、方差与过拟合、欠拟合的关系

  • 随着模型复杂度增加,模型描述能力也增加,偏差倾向于减小,方差倾向于增大,若模型复杂度大于平衡点,模型过拟合。
  • 随着模型复杂度的降低,模型描述能力减小,偏差倾向于增大,方差倾向于减小,若模型复杂度小于平衡点,模型欠拟合。

判断模型的欠拟合、过拟合、高方差和高偏差

偏差的计算需要真实值,所以在现实中很难计算机模型的偏差与方差。所以只能通过训练数据和测试数据的表现来综合判断模型的状态。

  • 从训练数据来讲,随着模型复杂度的增加,误差会越来越小。
  • 从测试数据来讲,随着模型复杂度的增加,误差首先会减少,但是增加到一定程度就会出现噪音数据被学习了或者模型开始自我发挥了导致的过拟合,这样的话,误差又会继续增大。
    所以可以得出下边的四条规律:
  1. 当模型处于欠拟合状态时,训练集和测试集的误差都很高,对应高偏差区。
  2. 当模型处于过拟合状态时,训练集上的误差低,测试集上的误差会很高,对应高方差区。

标签:偏差,机器,方差,模型,学习,概念,拟合,hat,复杂度
From: https://www.cnblogs.com/jia-t-t/p/15644239.html

相关文章

  • ubuntu 学习 目录结构
    LInux目录结构: /:所有目录都在/boot:boot配置文件、内核和其它启动时所需的文件/etc:存放系统配置有关的文件/home:存放普通用户目录/mnt:硬盘上手动挂载的文件......
  • 基础电脑学习笔记大杂烩
    ipconfig查看IP地址ipconfig/all可以查看更详细的地址,如网卡的物理地址(全球唯一性)MAC地址pingIP地址或域名(两台计算机是否可以通讯)比如:pingwww.baidu.com,如果......
  • 10月22号:学习日记(函数)
    C语言中函数的分类1.库函数(在使用过程中频繁使用)2.自定义函数#include<stdio.h>#include<stdlib.h>#include<time.h>#include<string.h>intmain(){//strcpy-stringc......
  • 2022-2023-1 20221322《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第八周作业......
  • 20221022学习笔记-爬虫基础
    爬虫概述爬虫的概念:网络爬虫(又称为网络蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动抓取互联网信息的程序。原则上,客......
  • 20221403 《计算机基础与程序设计》第八周学习总结
    学期(2022-2023)学号(20221403)《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业......
  • (数据科学学习手札145)在Python中利用yarl轻松操作url
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1简介大家好我是费老师,在诸如网络爬虫、web应用开发等场景中,我们需要利......
  • 第五章学习笔记
    第5章定时器及时钟服务5.1硬件定时器定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡器,会产生周期性电信号,以精确的频率驱动计数器。使用一......
  • 学习记录21接口新增方法、接口应用、适配器设计模式
    JDK8开始接口中新增的方法JDK7以前:接口中只能定义抽象方法JDK8的新特性:接口中可以定义有方法体的方法(类型:默认(抽象)、静态)JDK9的新特性:接口中可以定义私有方法在一......
  • 教材第五章学习笔记
    知识点归纳定时器是由时钟源和可编程计数器组成的硬件时钟源通常是一个晶体震荡器,产生周期性电信号当计数器减为0时,向CPU生成定时器中断当CPU遇到异常时,会进行预设的异......