台湾大学林轩田机器学习基石课程学习笔记8 -- Noise and Error

简介: 上一节课,我们主要介绍了VC Dimension的概念。

上一节课,我们主要介绍了VC Dimension的概念。如果Hypotheses set的VC Dimension是有限的,且有足够多N的资料,同时能够找到一个hypothesis使它的Ein≈0,那么就能说明机器学习是可行的。本节课主要讲了数据集有Noise的情况下,是否能够进行机器学习,并且介绍了假设空间H下演算法A的Error估计。


一、Noise and Probablistic target


上节课推导VC Dimension的数据集是在没有Noise的情况下,本节课讨论如果数据集本身存在Noise,那VC Dimension的推导是否还成立呢?

首先,Data Sets的Noise一般有三种情况:

  • 由于人为因素,正类被误分为负类,或者负类被误分为正类;
  • 同样特征的样本被模型分为不同的类;
  • 样本的特征被错误记录和使用。

image.png

之前的数据集是确定的,即没有Noise的,我们称之为Deterministic。现在有Noise了,也就是说在某点处不再是确定分布,而是概率分布了,即对每个(x,y)出现的概率是P(y|x)。

因为Noise的存在,比如在x点,有0.7的概率y=1,有0.3的概率y=0,即y是按照P(y|x)分布的。数学上可以证明如果数据集按照P(y|x)概率分布且是iid的,那么以前证明机器可以学习的方法依然奏效,VC Dimension有限即可推断EinEout是近似的。

image.png

P(y|x)称之为目标分布(Target Distribution)。它实际上告诉我们最好的选择是什么,同时伴随着多少noise。其实,没有noise的数据仍然可以看成“特殊”的P(y|x)概率分布,即概率仅是1和0.对于以前确定的数据集:

image.png

二、ERROR Measure


机器学习需要考虑的问题是找出的矩g与目标函数f有多相近,我们一直使用Eout进行误差的估计,那一般的错误测量有哪些形式呢?

我们介绍的矩g对错误的衡量有三个特性:

  • out-of-sample:样本外的未知数据
  • pointwise:对每个数据点x进行测试
  • classification:看prediction与target是否一致,classification error通常称为0/1 error


PointWise error实际上就是对数据集的每个点计算错误并计算平均,Ein和Eout的pointwise error的表达式为:


pointwise error是机器学习中最常用也是最简单的一种错误衡量方式,未来课程中,我们主要考虑这种方式。pointwise error一般可以分成两类:0/1 error和squared error。0/1 error通常用在分类(classification)问题上,而squared error通常用在回归(regression)问题上。

Ideal Mini-Target由P(y|x)和err共同决定,0/1 error和squared error的Ideal Mini-Target计算方法不一样。例如下面这个例子,分别用0/1 error和squared error来估计最理想的mini-target是多少。0/1 error中的mini-target是取P(y|x)最大的那个类,而squared error中的mini-target是取所有类的加权平方和。


有了错误衡量,就会知道当前的矩g是好还是不好,并会让演算法不断修正,得到更好的矩g,从而使得g与目标函数更接近。所以,引入error measure后,学习流程图如下所示:


三、Algorithmic Error Measure


Error有两种:false accept和false reject。false accept意思是误把负类当成正类,false reject是误把正类当成负类。 根据不同的机器学习问题,false accept和false reject应该有不同的权重,这根实际情况是符合的,比如是超市优惠,那么false reject应该设的大一些;如果是安保系统,那么false accept应该设的大一些。

image.png

机器学习演算法A的cost function error估计有多种方法,真实的err一般难以计算,常用的方法可以采用plausible或者friendly,根据具体情况而定。image.pngimage.png


四、Weighted Classification


实际上,机器学习的Cost Function即来自于这些error,也就是算法里面的迭代的目标函数,通过优化使得Error(Ein)不断变小。

cost function中,false accept和false reject赋予不同的权重,在演算法中体现。对不同权重的错误惩罚,可以选用virtual copying的方法。

image.png

image.png

五、总结

本节课主要讲了在有Noise的情况下,即数据集按照P(y|x)P(y|x)概率分布,那么VC Dimension仍然成立,机器学习算法推导仍然有效。机器学习cost function常用的Error有0/1 error和squared error两类。实际问题中,对false accept和false reject应该选择不同的权重。

相关文章
|
3月前
|
机器学习/深度学习 Python
训练集、测试集与验证集:机器学习模型评估的基石
在机器学习中,数据集通常被划分为训练集、验证集和测试集,以评估模型性能并调整参数。训练集用于拟合模型,验证集用于调整超参数和防止过拟合,测试集则用于评估最终模型性能。本文详细介绍了这三个集合的作用,并通过代码示例展示了如何进行数据集的划分。合理的划分有助于提升模型的泛化能力。
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
【机器学习】样本、特征、标签:构建智能模型的三大基石
【机器学习】样本、特征、标签:构建智能模型的三大基石
3251 0
|
机器学习/深度学习 算法 数据安全/隐私保护
精心整理 | 林轩田机器学习资源汇总
精心整理 | 林轩田机器学习资源汇总
196 0
精心整理 | 林轩田机器学习资源汇总
|
机器学习/深度学习 数据挖掘
干货|机器学习基石精选文章链接
下面这部分内容列出了机器学习基石的精选文章。
205 0
干货|机器学习基石精选文章链接
|
机器学习/深度学习
台湾大学林轩田机器学习基石课程学习笔记16(完结) -- Three Learning Principles
上节课我们讲了一个机器学习很重要的工具——Validation。
135 0
台湾大学林轩田机器学习基石课程学习笔记16(完结) -- Three Learning Principles
|
机器学习/深度学习 算法
台湾大学林轩田机器学习基石课程学习笔记15 -- Validation
上节课我们主要讲了为了避免overfitting,可以使用regularization方法来解决。
165 0
台湾大学林轩田机器学习基石课程学习笔记15 -- Validation
|
机器学习/深度学习 算法 数据挖掘
干货 | 林轩田机器学习「基石+技法」历史文章汇总
干货 | 林轩田机器学习「基石+技法」历史文章汇总
169 0
|
1月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
99 4
|
9天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
25 2
|
27天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
44 1

热门文章

最新文章