机器学习之模型评估和选择

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 即面对不同的模型如何选择一个最优的模型作为我们的学习结果,一般而言不同的学习算法也会产生不同的模型,在各种参数上会有差异,理想情况是获得一个泛化能力最强的那个模型,但事实上很难判断模型的泛化能力,数据的采集是一个问题,所以机器学习中常用一些指标进行评估模型的好坏

一、模型评估的一些基本术语

  • 经验误差

    指学习器在训练集上的误差

  • 泛化误差

    指学习器在新样本上的误差

  • 泛化能力

    学习的模型适应新样本的能力,即在预测新样本时的效果好坏

  • 过拟合

    模型训练过度,把训练样本自身的一些特点当成所有潜在样本的一般性质,导致泛化能力下降

  • 欠拟合

    模型对于训练样本的一般性质尚未学好,即学的还不够,能力还有待加强

  • 模型选择

    即面对不同的模型如何选择一个最优的模型作为我们的学习结果,一般而言不同的学习算法也会产生不同的模型,在各种参数上会有差异,理想情况是获得一个泛化能力最强的那个模型,但事实上很难判断模型的泛化能力,数据的采集是一个问题,所以机器学习中常用一些指标进行评估模型的好坏

二、模型评估的方法

我们希望得到一个泛化性能比较强的模型,一般而言是通过对数据集D进行划分成训练集S和测试集T,然后采用下列方法进行不同的处理,以获得最佳的模型

1.留出法

将数据集D划分成两个互斥的数据集,一个作为训练集,一个作为测试集,用测试集上的模型的效果对泛化误差进行估计

一般而言为了保持数据的分布的一致性,采取分层随机抽样的方法获得训练集和测试集

2.交叉验证法

先将数据集划分成k个相似的互斥子集,为保持数据分布的一致性,同样也是采取分层随机抽样,每次使用k-1个子集作为训练集,剩下的那个作为测试集,即可以获得k组训练结果,然后采取一定的方法进行最终结果的判断,比如,如果是离散值,投票法选最优,连续值,简单取平均即可。

一个特例:留一法,即每个子集都只包含一个数据的交叉验证法,这样的做法在小样本是非常有用的,避免了样本的不足导致模型训练不够的困难,但也有缺点,当数据量比较大的时候模型的计算等等开销比较大。

3.自助法

即有放回的随机抽样,每次随机的取一个数据出来,然后拷贝到一个集合中,重复m次即得到集合D~1~,初始集合为D,利用简单的极限推导可知,D中大概有1/3的数据不会出现在D~1~中,故取D~1~为训练集,D\D~1~为测试集,D~1~中可能有重复的数据,同样也在小规模的数据中比较常用,在大型数据集中由于其改变了数据的分布,可能会产生较大的估计偏差。

在数据量比较充足的情况下,留出法和交叉验证法更常用一点。

三、评价指标

这里由于时间匆忙写不了公式,后面有时间会补充的

  • 均方误差

    与预测值的误差平方的期望,离散型和连续型分别对应一个公式

    公式1,公式2

  • 错误率

    分类错误的样本数占样本总数的比例

    公式3

  • 精度

    分类正确的样本数占样本总数的比例

    公式4

  • 混淆矩阵

    预测结果
    真实情况 正例 反例
    正例 TP(真正例) FN(假反例)
    反例 FP(假正例) TN(真反例)

    T、F代表是否预测正确(True False)

    P、N代表预测的结果(Positive Negative)

  • 查准率(P):预测为正例中,正例的比例

​ 公式5

  • 查全率(R):实际为正例中,正例的比例

​ 公式6

  • F1值

    查准率和查全率的调和平均,即倒数等于二者倒数的平均

    公式7

  • P-R曲线

    将样本按照可能为正类的置信度从小到大排序,选择一个样本作为阈值点,大于他的值都看成正类,其他看成负类,这样就可以计算一组查全率和查准率,然后按照横坐标为查全率纵坐标为查准率绘制成一条曲线

    简单记忆查全率和查准率的方法,查全率就是在实际正类中的占比,查准率就是在预测正类中的占比

  • ROC曲线

    和P-R曲线类似,只是横纵坐标换了一下

    纵坐标为真正例率,即真正的正例在实际正例中的占比

    横坐标为假正例率,即预测为假的正例在实际负例中的占比

  • AUC

    即ROC 曲线包围的面积

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
83 2
|
28天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
84 3
|
1月前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
【10月更文挑战第6天】如何使用机器学习模型来自动化评估数据质量?
|
7天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
4天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
18 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
8天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
25 1
|
1月前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
53 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
17天前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
54 1
|
20天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
26天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
72 2

热门文章

最新文章

相关产品

  • 人工智能平台 PAI