1.误差、损失函数

1.1 误差

模型的输出结果会和其对应的真实值之间往往会存在一些差异,该种差异称为该模型的输出误差,简称为误差。

1.2 损失函数

为了便于误差分析,通常需要构造某种函数用于度量模型对单个样本的输出误差,这样的函数被称为损失函数。具体的说,对于给定的机器学习模型fff,假设该模型对应于输入样本XXX的输出为y^=f(X)\hat{y} = f(X)y^​=f(X),与XXX相对应的实际真实值为yyy,则可以用yyy和f(x)f(x)f(x)为自变量的某个函数L(y,f(X))L(y, f(X))L(y,f(X))作为损失函数来度量模型fff在输入样本XXX下的输出误差。

以下两种损失函数常常用于度量回归模型输出误差:

(1).平方损失函数

L(y,f(X))=[y−f(X)]2L(y, f(X)) = [y - f(X)]^2 L(y,f(X))=[y−f(X)]2

(2).绝对值损失函数

L(y,f(x))=∣y−f(x)∣L(y, f(x)) = |y - f(x)| L(y,f(x))=∣y−f(x)∣

2.整体误差、泛化误差、训练误差

2.1 整体误差

在机器学习中,面向单个样本的的损失函数函数所度量的只是模型在某个特定样本下的输出误差,不能很好的反映模型在某个样本集上对所有样本的整体计算精确度。因此需要进一步定义面向某个特定样本的集的综合误差,通常称为该样本集上的整体误差。

对于任意给定一个nnn元样本集S=(X1,y1),(X2,y2),…,(Xn,yn)S = {(X_1, y _1), (X_2, y_2), \dots, (X_n, y_n)}S=(X1​,y1​),(X2​,y2​),…,(Xn​,yn​),模型fff在SSS上的整体误差RS(f)R_S(f)RS​(f)定义为:
Rs(f)=E[L(y,f(X))]=1n∑i=1nL(yi,f(Xi))R_s(f) = E[L(y, f(X))] = \frac{1}{n} \sum^{n}_{i = 1}L(y_i, f(X_i)) Rs​(f)=E[L(y,f(X))]=n1​i=1∑n​L(yi​,f(Xi​))
即将RS(f)R_S(f)RS​(f)定义为SSS中所有单个样本所对应的损失函数的平均值。

2.2 泛化误差

对于某个给定的机器学习任务,假设与该任务相关的所有样本构成的集合为DDD,则机器学习模型在样本集合DDD上的整体误差称为该模型关于该学习任务的泛化误差。具体的来说,令样本集合DDD中所有样本的概率分布为P(D)P(D)P(D),模型fff对输入样本XXX的输出为y^=f(X)\hat{y} = f(X)y^​=f(X),XXX所对应的真实值为yyy,则可将模型fff的泛化误差定义为:
Rexp(f)=EP(D)[L(y,f(X)]R_{exp}(f) = E_{P(D)}[L(y, f(X)] Rexp​(f)=EP(D)​[L(y,f(X)]
泛化误差表示机器学习模型在整个样本集合DDD上的平均误差,是刻画机器学习模型普适性的重要指标,作为模型求解和模型评估的基本依据,它在机器学习的过程中发挥着即为重要的作用。然而,精确计算模型的泛化误差需要知道整个样本集合DDD所有样本的真实值和概率分布,这通常是不可行的。因此,一般无法计算泛化误差的精确值,需要采用某些便于计算的度量指标作为泛化误差的近似代替值。

2.3 训练误差

机器学习的模型训练的目标是尽可能地获得普适性或泛化性更好的模型

※ 评价机器学习模型的好坏:泛化能力的强弱

理论上要求模型的泛化误差达到最小。由于通常无法直接计算,更难以直接对泛化误差进行优分析,由于训练样本通常采样采样来自整个样本集合DDD,训练样本集通常与DDD有着比较相似的样本概率分布,故一般采用训练误差近似替代泛化误差来对模型进行训练。

所谓训练误差,是指模型在训练样本集合上的整体误差,也成为经验风险,具体的说,对于任意给定的nnn元训练样本集合G=(X1,y1),(X2,y2),…,(Xn,yn)G = {(X_1, y_1), (X_2, y_2), \dots, (X_n, y_n)}G=(X1​,y1​),(X2​,y2​),…,(Xn​,yn​),,假设模型fff输入样本XXX的预测输出为y^=f(X)\hat{y} = f(X)y^​=f(X),则该模型关于训练样本集GGG的训练误差定义为Remp(f)=1n∑k=1nL(yk,f(Xk))R_{emp}(f) = \frac{1}{n} \sum^{n}_{k = 1}L(y_k, f(X_k))Remp​(f)=n1​∑k=1n​L(yk​,f(Xk​))。其中XkX_kXk​表训练集中的第kkk个样本;f(Xk)f(X_k)f(Xk​)表示模型对输入样本XkX_kXk​的输出y^k\hat{y}_ky^​k​;yky_kyk​为机器学习任务中与输入XkX_kXk​对应的真实取值。

因此,机器学习中的模型训练或优化通常使用最小化训练误差的方式来完成。该方法称为经验风险最小化方法,由此得到的优化模型是:
f^=arg⁡f∈Fmin⁡Remp(f)\hat{f} = \arg_{f \in F} \min R_{emp}(f) f^​=argf∈F​minRemp​(f)
其中,FFF为假设空间。

对于已训练出的模型,通常使用测试误差近似替代误差的方法来对该模型进行测试。所谓测试误差,是指模型在测试样本集上的整体误差。具体的来说,对于任意给定的vvv测试样本集合T=(X1t,y1t),(X2t,y2t),…,(Xvt,yvt)T = {(X^t_1,y^t_1), (X^t_2,y^t_2),\dots ,(X^t_v,y^t_v)}T=(X1t​,y1t​),(X2t​,y2t​),…,(Xvt​,yvt​),该模型关于TTT的测试误差的定义为:
Rtest=1v∑k=1vL(ykt,f(Xkt))R_{test} = \frac{1}{v}\sum^{v}_{k = 1}L(y_k^t, f(X^t_k)) Rtest​=v1​k=1∑v​L(ykt​,f(Xkt​))
其中,XktX_k^tXkt​表示测试集中的第kkk个样本,f(Xkt)f(X_k^{t})f(Xkt​)表示模型输入XktX_{k}^{t}Xkt​的输出ykty^t_kykt​;ykty^t_kykt​为机器学习任务中与输入XktX_k^tXkt​对应的实际真实值。

对于训练样本集合中的每个样本,每个样本都会存在一些普适整个训练样本集中DDD的共性特征和一些仅仅适合于训练样本集的的个性特征,在机器学习中,模型训练的最理想效果就是充分提取训练样本的共性特征而尽量避免提取其个性特征,使训练出来的模型具有尽可能多广泛的普适性,即具有尽可能好的泛化性能。

模型的训练通常以最小化训练误差为标准,此时对于固定数量的训练样本,随着训练的不断进行,训练误差会不断降低,甚至趋近于零。如果模型训练误差过小,就会使训练出来模型基本完全适应于训练样本的特点。此时,训练模型不仅拟合了训练样本的共性特征,而且也拟合训练样本的个性特征,反而降低了训练模型的泛化性能,使得泛化误差不断增大。这种同时拟合训练样本的共性特征和个性特征的现象,在机器学习领域通常称为样本的过拟合现象。避免过拟合现象的一个有效措施是尽可能扩大训练样本的数量,尽可能降低样本在训练样本集上与整个样本集上概率分布的差异。

在机器学习的模型训练中,随着训练过程的进行,训练误差会一直不断降低,但泛化误差则会先减小,然后因产生过度拟合现象而导致不断增大。这种由于未能充分拟合训练样本共性特征造成模型泛化误差较大的而导致模型泛化能力较弱的现象称为模型训练的欠拟合现象。随着训练过程的不断进行,训练误差和泛化误差不断减少,欠拟合现象通常会逐步消失。

对于任意给定的初始模型fff,假设D1,D2,…,DsD_1, D_2, \dots, D_sD1​,D2​,…,Ds​是sss个不同的训练样本集合,其中每个训练样本集合,其中每个训练样本均采样自整个样本集合DDD,通过训练样本集合DiD_iDi​训练初始模型fff所得到的优化模型记为fi,i∈(1,2,…,s),y^=fi(X)f_i, i \in (1, 2, \dots, s), \hat{y} = f_i(X)fi​,i∈(1,2,…,s),y^​=fi​(X)表示第iii个模型的对于输入样本XXX的期望输出为:
E[F(X)]=1s∑i=1sfi(X)E[F(X)] = \frac{1}{s} \sum^{s}_{i = 1} f_i(X) E[F(X)]=s1​i=1∑s​fi​(X)
其中,F(X)=(f1(x),f2(x),…,fs(x))TF(X) = (f_1(x), f_2(x),\dots ,f_s(x))^TF(X)=(f1​(x),f2​(x),…,fs​(x))T,可将其看作一个关于f(X)f(X)f(X)的离散随机变量。

此时模型f(X)f(X)f(X)对于测试样本集合变化的稳定性可用相应的方差指标进行度量。模型f(X)f(X)f(X)在训练样本集D1,D2,…,DsD_1, D_2, \dots, D_sD1​,D2​,…,Ds​下所得优化模型fx(X),f2(X),…,fs(X)f_x(X), f_2(X), \dots, f_s(X)fx​(X),f2​(X),…,fs​(X)输出的方差为:
Var[F(X)]=E{[F(X)−E[F(X)]]2}=1s∑i=1s[fi(X)−E[F(X)]]2Var[F(X)] = E\{[F(X) - E[F(X)]]^2\} = \frac{1}{s} \sum^{s}_{i = 1}[f_i(X) - E[F(X)]]^2 Var[F(X)]=E{[F(X)−E[F(X)]]2}=s1​i=1∑s​[fi​(X)−E[F(X)]]2
对于任意一个给定的初始模型fff,如果该模型变化的自由度较大,例如模型参数的数目较多或者参数的取值范围较大,则能够更好的适应训练样本数据的变化,能对多种不同的训练样本集合获得较好的拟合效果;反之,如果该模型的变化自由度较小,则模型适应训练数据变化的能力就变差,可以有效拟合的训练数据范围也就比较有限,机器学习模型这种适应训练数据变化的能力,称为模型的学习能力或模型的容量。

显然,模型的容量主要反映该模型对数据的拟合能力。模型的容量越大其对数据的拟合能力就越强,越能适应训练样本数据的变化。可以使用模型输出在不同的训练样本的集合下的综合偏差对进行度量,这种综合偏差称为模型输出的偏差,简称为偏差。

对于模型f(X)f(X)f(X)在训练样本集D1,D2,…,DsD_1, D_2, \dots,D_sD1​,D2​,…,Ds​ 下的优化模型F(X)=(f1(X),f2(X),…,fs(X))F(X) = (f_1(X), f_2(X), \dots,f_s(X))F(X)=(f1​(X),f2​(X),…,fs​(X)),F(X)F(X)F(X)作为一个离散型随机变量与XXX所对应的实际真实值yyy之间的偏差Bias[F(X)]Bias[F(X)]Bias[F(X)]为:
Bias[F(X)]=E(F(X))−yBias[F(X)] = E(F(X)) - y Bias[F(X)]=E(F(X))−y
对于平方损失函数的泛化误差Rexp(f)=E[L(y,F(X))]=E{[F(X)−y]2}R_{exp}(f) = E[L(y, F(X))] = E\{[F(X) - y]^2\}Rexp​(f)=E[L(y,F(X))]=E{[F(X)−y]2},对其进行偏差-方差分解,可得
E{[F(X)−y]2}=E{[F(X)−E[F(X)]+E[F(X)]−y]2}=E{[F(X)−E[F(X)]]2}+E{[E[F(X)]−y]2}+2E{F(X)−E[F(X)]}{E[F(X)]−y}E\{[F(X) - y]^2\} = E\{[F(X) - E[F(X)] + E[F(X)] - y] ^ 2\} = E\{[F(X) - E[F(X)]]^2\} + E\{[E[F(X)] - y] ^ 2\} + 2E\{F(X) - E[F(X)]\}\{E[F(X)] - y\} E{[F(X)−y]2}=E{[F(X)−E[F(X)]+E[F(X)]−y]2}=E{[F(X)−E[F(X)]]2}+E{[E[F(X)]−y]2}+2E{F(X)−E[F(X)]}{E[F(X)]−y}
由于E{F(X)−E[F(X)]}=E[F(X)]−E[F(X)]=0E\{F(X) - E[F(X)]\} = E[F(X)] - E[F(X)] = 0E{F(X)−E[F(X)]}=E[F(X)]−E[F(X)]=0,故有:
E{[F(X)−y]2}=E{[F(X)−E[F(X)]]2}+E{[E[F(X)]−y]2}=E{[F(X)−E[F(X)]]2}+{[E[F(X)]−y]}2=Var[F(X)]+{Bias[F(X)]2}E\{[F(X) - y]^2\} = E\{[F(X) - E[F(X)]]^2\} + E\{[E[F(X)] - y] ^ 2\} = E\{[F(X) - E[F(X)]]^2\} + \{[E[F(X)] - y]\}^2 = Var[F(X)] + \{Bias[F(X)]^2\} E{[F(X)−y]2}=E{[F(X)−E[F(X)]]2}+E{[E[F(X)]−y]2}=E{[F(X)−E[F(X)]]2}+{[E[F(X)]−y]}2=Var[F(X)]+{Bias[F(X)]2}
所以可得,模型的泛化误差等于模型输出的方差与模型输出的偏差平方之和。

ML1.1 机器学习误差分析相关推荐

  1. 机器学习误差分析(Error Analysis)实战

    机器学习误差分析(Error Analysis)实战 关于误差分析的概念以及数据集相关的知识参考比如如下博客: 误差分析是什么?如何进行误差分析?分析为了获得什么知识? 假设你已经找到了针对当前任务的 ...

  2. 2.1 进行误差分析-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.13 总结 回到目录 2.2 清除标注错误的数据 进行误差分析 (Carrying out error analysis) 你好,欢迎回来,如果你希望让学习算法能够胜任人 ...

  3. 李宏毅《机器学习》笔记:3.误差分析和梯度下降

    参考文章: 梯度下降:https://www.bilibili.com/video/BV1Tr4y1N7Lh 梯度下降优化:https://www.bilibili.com/video/BV1r64y ...

  4. 【机器学习】数值分析01——绪论及误差分析

    数值分析--绪论及误差分析 文章目录 数值分析--绪论及误差分析 全文目录 数值分析的作用及其学习工具使用 数值分析常用工具 数值分析的具体实例(多项式简化求值) 计算机数值误差产生机理 计算机的数值 ...

  5. 机器学习系列:误差分析(Bias and Variance)和模型调优

    目录 1.误差分析(Bias and Variance) 2. 模型调优 2.1 问题举例: 2.2 如何选择正确并且高质量方法 2.3 假设: 3 斯坦福自动驾驶直升机例子​ 1.误差分析(Bias ...

  6. 【机器学习】笔记1:回归与误差分析

    回归与误差分析 regression step 1:model step 2:Goodness of Function step 3:Best Function(Gradient Descent) g ...

  7. 机器学习——模型误差分析

    机器学习中算法模型的误差分析是一个重要的课题.模型训练完成后,我们通常通过测试集来计算准确率(Accuracy),来评价模型的优劣.而在模型选择.训练和优化过程中,我们常常用偏差/方差(Bias/Va ...

  8. 机器学习模型的误差分析-逼近误差、泛化误差、优化误差

    逼近误差 模型最好能逼近真实模型到什么程度 考虑target function和能从假设空间中学到的the best function的距离 而已经证明一层隐藏层(+一层输出层)也能很好地拟合任何函数 ...

  9. 【CV】吴恩达机器学习课程笔记第11章

    本系列文章如果没有特殊说明,正文内容均解释的是文字上方的图片 机器学习 | Coursera 吴恩达机器学习系列课程_bilibili 目录 11 机器学习系统设计 11-1 确定执行的优先级:以垃圾 ...

  10. 【CV】吴恩达机器学习课程笔记 | 第1-15章

    目录 1 介绍 1-3 监督学习 1-4 无监督学习 2 单变量线性回归 2-2 代价函数 2-5 Batch 梯度下降算法 4 多变量线性回归 4-1 多特征 4-2 多元梯度下降法 4-3 多元梯 ...

最新文章

  1. 「过拟合」也能废物利用了:有人用它高清重建3D物体表面,参数减少99%
  2. BZOJ1457 棋盘游戏
  3. Linux系统安全审计工具Lynis
  4. EASCII码对照表(建议收藏)
  5. 从客户端(CourseIssueContent=P财务审计师岗位认证招生简章BR...)中检测到有潜在危险的 Request.Form 值。...
  6. python鸭制作类代码_详细解释ducktyping鸭子类型程序设计与Python的实现
  7. Spring框架----Confinguration和Component-Scan注解
  8. s10_part3_django_ORM_查询相关_非常重要
  9. 《吃透微服务》—服务网关之Gateway
  10. 做可穿戴医疗,你的对手是“天性”
  11. 网络工程制图论文计算机,计算机工程制图设计分析论文
  12. android 添加一维数组,Android:打造“万能”Adapter与ViewHolder
  13. HP SD2 DAT160小磁带机故障
  14. 电脑罗盘时钟html怎么设置成桌面,抖音网红款Word Clock罗盘时钟电脑桌面屏保设置教程-完整版...
  15. RGB与HSB之间的转换公式
  16. php a5打印设置,word设置打印A5文档的两种方法
  17. JS学习之路系列总结四象阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
  18. redux和react-redux
  19. win7电脑恢复系统设置或计算机点不了,主编解答win7电脑突然进不了系统如何恢复的解决手段...
  20. makefile中一些符号的含义

热门文章

  1. oracle中dbt是什么,汽车中的DBT是什么意思?
  2. pvr.ccz文件转png方法
  3. opencc对文档的繁体中文转换为简体
  4. 输出边长为n的正六边形(c语言)
  5. java dns缓存清理_清除DNS缓存信息方法
  6. 最新xmind2022版思维导图如何使用详解教程
  7. 百度谷歌雅虎三大搜索引擎本土功能大PK
  8. 三菱q plc modbus通讯协议详解_三菱Q系列PLC与昆仑通态触摸屏以太网通讯
  9. 三菱Q系列PLC项目资料 本系统采用三菱Q系列PLC,本系统中用到16个伺服电机
  10. 如何连接不在同一个网段中的Linux服务器