目录

1.1模型评估与模型参数选择

1.1.1数据集

1.1.2验证集

1.1.3测试集

1.1.4训练集

1.1.5过拟合

1.1.6欠拟合

1.2  验证

1.3正则化

1.4无监督学习

1.4.1无监督学习衡量指标 

1.5监督学习

1.5.1  监督学习—回归

1.5.2  监督学习—分类


1.1模型评估与模型参数选择

  • 若对于给定的输入x,若某个模型的输出y ̂=f(x)偏离真实目标值y,那么就说明模型存在误差;
  • y ̂偏离y的程度可以用关于y ̂和y某个函数L(y,y ̂)来表示,作为误差的度量标准:这样的函数L(y,y ̂)称为损失函数
  • 在某种损失函数度量下,训练集上的平均误差被称为训练误差,测试集上的误差称为泛化误差。
  • 由于我们训练得到一个模型最终的目的是为了在未知的数据上得到尽可能准确的结果,因此泛化误差是衡量一个模型泛化能力的重要标准。

1.1.1数据集

数据集是数据科学和机器学习领域的基石,它们为模型的训练、验证和测试提供了必要的原始材料

数据集通常由一系列数据的集合组成,这些数据以表格形式出现,每一列代表一个特定变量,而每一行则对应于数据集中的一个成员或样本。在机器学习中,数据集被分为训练集验证集测试集,每个子集承担着不同的角色。训练集用于构建和训练模型,验证集用于挑选最优的模型超参数,而测试集则用于评估模型的泛化能力。

  • 误差:预测输出y ̂与真实输出y之间的差异;
  • 经验误差、训练误差:在训练集上的误差;
  • 泛化误差:在新样本上的误差。 泛化误差越小越好,经验误差不一定越小越好,可能导致过拟合。

三种数据集之间的关系: 训练集相当于上课学知识 验证集相当于课后的的练习题,用来纠正和强化学到的知识 测试集相当于期末考试,用来最终评估学习效果

1.1.2验证集

当我们的模型训练好之后,我们并不知道他的表现如何。这个时候就可以使用验证集(Validation Dataset)来看看模型在新数据(验证集和测试集是不同的数据)上的表现如何。同时通过调整超参数,让模型处于最好的状态。

验证集有2个主要的作用:

  1. 评估模型效果,为了调整超参数而服务
  2. 调整超参数,使得模型在验证集上的效果最好

说明:

验证集不像训练集和测试集,它是非必需的。如果不需要调整超参数,就可以不使用验证集,直接用测试集来评估效果。 验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测试集的评估结果为准。

1.1.3测试集

当我们调好超参数后,就要开始「最终考试」了。我们通过测试集(Test Dataset)来做最终的评估,来看学习效果(模型效果)好不好。

测试集主要用于评估机器学习模型的泛化能力,即模型对未知数据的预测能力

在机器学习中,测试集的作用是验证模型的泛化能力,确保模型在面对新数据时仍然能够保持良好的性能。具体来说:

  • 性能评估:测试集提供了一个平台,用于检验模型在训练和验证阶段之后的性能。通过测试集的结果,我们可以了解模型是否能够有效地应用于实际问题。
  • 泛化能力验证:测试集的数据是模型在训练过程中未曾见过的,因此它能够反映出模型对新数据的处理能力。这是评估模型是否过度拟合训练数据的重要手段。
  • 决策依据:测试集的结果往往作为最终决定模型是否部署到生产环境的依据。如果模型在测试集上表现良好,那么我们就有理由相信它在实际应用中也会表现不错。
  • 风险控制:在某些情况下,模型在测试集上的表现还会影响项目的风险管理策略。例如,如果模型的风险敏感度较高,那么在测试集上的表现就需要更加谨慎地分析。

通过测试集的评估,我们会得到一些最终的评估指标,例如:准确率、精确率、召回率、F1等

1.1.4训练集

训练集是机器学习中用于模型参数学习的数据集

在机器学习领域,训练集的作用至关重要,它是模型学习的基础。以下是训练集的几个关键点:

  • 模型训练:训练集提供给模型大量的样本数据,模型通过这些数据学习并调整自身的参数,以便能够正确地识别或预测新的数据。
  • 特征提取:通过训练集,模型能够识别哪些特征对于预测结果来说是重要的,从而在面对新问题时能够做出准确的判断。
  • 算法优化:开发者可以使用训练集来测试和比较不同的算法或模型结构,以找到最优的解决方案。
  • 数据划分:通常,训练集与验证集和测试集一起使用,以确保模型不仅仅在特定数据集上表现良好,而是具有良好的泛化能力。
  • 交叉验证:为了提高模型的稳健性,有时会采用交叉验证的方法,这种方法涉及将训练数据进一步分割成多个小组,轮流用于训练和验证,以评估模型的性能。
  • 避免过拟合:使用训练集可以帮助识别模型是否过度拟合了训练数据,即模型在训练集上表现很好,但在未知数据上表现不佳的情况。

1.1.5过拟合

过拟合:将训练样本自身的一些特点当作所有样本潜在的泛化特点。

表现:在训练集上表现很好,在测试集上表现不好。

过拟合的原因

  • 训练数据太少(比如只有几百组)
  • 模型的复杂度太高(比如隐藏层层数设置的过多,神经元的数量设置的过大)  
  • 数据不纯

1.1.6欠拟合

欠拟合指模型没有很好地捕捉到数据的特征,导致在训练集和测试集上都表现不佳

欠拟合的原因:    

  •  数据未做归一化处理    
  •  神经网络拟合能力不足    
  •  数据的特征项不够

解决方法:  

  • 增加模型复杂度:通过添加更多的参数或使用更复杂的模型结构来提高模型的表现能力。
  • 特征工程:通过创建新的特征或转换现有特征来提供更多的信息,帮助模型学习数据的模式。
  • 调整模型参数:通过优化算法调整模型的参数,以便更好地拟合数据。
  • 增加训练数据量:有时候数据量不足也会导致欠拟合,因此增加数据可以帮助模型学习到更多的信息。

 

1.2  验证

  1. 模型不能过拟合于训练集,否则将不能在测试集上得到最优结果;但是否能直接以测试集上的表现来选择模型参数呢? 答案是否定的。因为这样的模型参数将会是针对某个特定测试集的,得出来的评价标准将会失去其公平性,失去了与其他同类或不同类模型相比较的意义。
  2. 因此参数的选择(即调参)必须在一个独立于训练集和测试集的数据集上进行,这样的用于模型调参的数据集被称为开发集或验证集。
  3. 然而很多时候我们能得到的数据量非常有限。这个时候我们可以不显式地使用验证集,而是重复使用训练集和测试集,这种方法称为交叉验证。

 交叉验证:

  • 留出法(Holdout cross validation) 按照固定比例将数据集静态的划分为训练集、验证集、测试集。
  • 自组法(bootstrapping) 适合于样本数目较少,有放回的取法
  • k 折交叉验证(k-fold cross validation):k 一般取 10 将数据集分为训练集和测试集,将测试集放在一边 将训练集分为 k 份 每次使用 k 份中的 1 份作为验证集,其他全部作为训练集。 通过 k 次训练后,我们得到了 k 个不同的模型。 评估 k 个模型的效果,从中挑选效果最好的超参数 使用最优的超参数,然后将 k 份数据全部作为训练集重新训练模型,得到最终模型

1.3正则化

正则化是一种用于提高机器学习模型泛化能力的技术,它通过在损失函数中添加一个惩罚项来限制模型的复杂度。

正则化的主要目的是防止模型过拟合,即防止模型在训练数据上表现得很好,但在新的、未见过的数据上表现不佳。这是通过在损失函数中加入一个正则化项来实现的,这个正则化项通常与模型参数的大小有关。常见的正则化方法包括L1正则化和L2正则化,它们分别对应于参数向量的L1范数(绝对值之和)和L2范数(平方和的平方根)。

正则化的几种方法

L1正则化:倾向于产生稀疏参数,即许多参数的值为0,这有助于特征选择,可以识别出对预测结果影响最大的特征。

L2正则化:倾向于让参数值接近0但不完全为0,有助于防止模型参数变得过大,从而减少模型的复杂度。

Dropout :是一种正则化方法,用于随机禁用神经网络单元。

1.4无监督学习

无监督学习是机器学习中的一种方法,它不依赖于标记过的训练数据。与监督学习相比,无监督学习的目标是在没有明确指导的情况下发现数据中的模式和结构

聚类(clustering)问题

没有标签的情况下,我们是否能给数据分类呢?比如,给定一组照片,我们能把它们分成风景照片、狗、婴儿、猫和山峰的照片吗?同样,给定一组用户的网页浏览记录,我们能否将具有相似行为的用户聚类呢?

“物以类聚,人以群分。”

将相似的对象归入同一个“类”。

主成分分析(principal component analysis)问题(PCA):

我们能否找到少量的参数来准确地捕捉数据的线性相关属性?

比如,一个球的运动轨迹可以用球的速度、直径和质量来描述。

再比如,裁缝们已经开发出了一小部分参数,这些参数相当准确地描述了人体的形状,以适应衣服的需要

主成分分析PCA是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维

因果关系(causality)和概率图模型(probabilistic graphical models)问题

  • 我们能否描述观察到的许多数据的根本原因?
  • 例如,如果我们有关于房价、污染、犯罪、地理位置、教育和工资的人口统计数据,我们能否简单地根据经验数据发现它们之间的关系?

如果想通过物体a去推断物体b,就是将物体a放在这里会增加物体b出现概率的多少,想要找到这样一个确定的促进关系即因果关系 往往会被confounder干扰到,而这个confounder就是物体a与b之间的共因。

如果想通过物体a去推断物体b,就是将物体a放在这里会增加物体b出现概率的多少,想要找到这样一个确定的促进关系即因果关系

往往会被confounder干扰到,而这个confounder就是物体a与b之间的共因。

生成对抗性网络(generative adversarial networks): 

为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。

1.4.1无监督学习衡量指标 

直观检测:

这是一种非量化的方法。 例如对文本的主题进行聚类,我们可以在直观上判断属于同一个类的文本是否具有某个共同的主题,这样的分类是否有明显的语义上的共同点。

基于任务的评价:

如果聚类得到的模型被用于某个特定的任务,我们可以维持该任务中其他的设定不变,使用不同的聚类模型,通过某种指标度量该任务的最终结果来间接判断聚类模型的优劣。

人工标注测试集:

有时候采用非监督学习的原因是人工标注成本过高,导致标注数据缺乏,只能使用无标注数据来训练。 在这种情况下,可以人工标注少量的数据作为测试集,用于建立量化的评价指标。

1.5监督学习

监督学习是机器学习中的一种主要范式,它依赖于标记数据来训练模型

监督学习的核心在于模型通过学习输入数据和对应的输出标签之间的关系,来预测新的未标记数据的输出。这种方法可以进一步细分为分类和回归两大类问题:分类,回归

1.5.1  监督学习—回归

回归问题在生活中非常常见,其最简单的形式是一个连续函数的拟合。

回归分析是一种统计学方法,用于研究变量间的关系和影响,尤其在预测连续值输出时非常有效

回归分析的基本目的是通过建立数学模型来描述和分析自变量(X1, X2, …, Xk)和因变量(Y1, Y2, …, Yi)之间的关系。这种分析可以帮助我们理解变量之间的因果关系,并用于预测或估计因变量的值。具体如下:

  • 起源与发展:回归分析的概念最早由高尔顿提出,后来尤勒等人进一步发展了回归模型,形成了多种类型的回归分析方法。
  • 类型与应用:回归分析有多种类型,包括简单线性回归、多重回归、逻辑回归等。它们在各种领域都有广泛的应用,如经济学、生物学、工程学等。
  • 模型与参数:回归模型通常需要根据实测数据来求解参数,这些参数决定了模型对数据的拟合程度。一个好的回归模型应该能够很好地拟合实测数据,并用于未来的预测。
  • 评价指标:为了衡量回归模型的性能,通常会使用一些评价指标,如均方误差(MSE)、决定系数(R²)等。这些指标帮助我们了解模型的预测能力。
  • 正则化技术:在处理回归问题时,有时会遇到多重共线性或过拟合的问题。这时,可以使用正则化技术如岭回归、套索回归或弹性回归来改善模型的性能。
  • 机器学习中的回归:在机器学习领域,回归问题是三大基本模型之一,它涉及到选择合适的模型和学习算法,以及定义损失函数来优化模型参数。

1.5.2  监督学习—分类

分类是将事物按照某些特征归入不同类别的过程,它在机器学习领域尤为重要

分类的概念在不同领域有不同的含义和应用:

  • 机器学习中的分类:在机器学习中,分类是一种有监督学习的方法,它的目标是根据训练数据将新的对象或实例分配到预定义的类别中。这个过程涉及到学习和识别数据特征,然后使用这些特征来预测未知数据的类别。分类问题可以分为二分类(两个类别)、多分类(两个以上的类别)和多标签分类(一个实例可以属于多个类别)。常用的分类算法包括决策树、支持向量机(SVM)、K-最近邻(KNN)等。
  • 日常生活中的分类:在日常生活中,人们通过分类来组织和理解周围的世界。例如,我们会将不同的事物归类为“水果”、“电器”等,这种分类有助于我们快速识别和处理信息。
  • 生物分类:在生物学中,分类是一种研究生物多样性的基本方法。它根据生物的形态结构、生理功能等特征,将生物划分为不同的等级,如种、属等,以揭示不同生物之间的亲缘关系和进化关系。

F-度量则是在召回率与精确率之间去调和平均数;有时候在实际问题上,若我们更加看重其中某一个度量,还可以给它加上一个权值α,称为F_α-度量: 

特殊地,当α=1时:

F1分数(F1-score)是分类问题的一个衡量指标。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐