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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 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 曲线包围的面积

目录
相关文章
|
22天前
|
机器学习/深度学习 人工智能 数据处理
人工智能平台PAI操作报错合集之任务重启后出现模型拆分报错,该怎么办
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
3天前
|
机器学习/深度学习 监控 API
基于云计算的机器学习模型部署与优化
【8月更文第17天】随着云计算技术的发展,越来越多的数据科学家和工程师开始使用云平台来部署和优化机器学习模型。本文将介绍如何在主要的云计算平台上部署机器学习模型,并讨论模型优化策略,如模型压缩、超参数调优以及分布式训练。
18 2
|
4天前
|
机器学习/深度学习 JSON API
【Python奇迹】FastAPI框架大显神通:一键部署机器学习模型,让数据预测飞跃至Web舞台,震撼开启智能服务新纪元!
【8月更文挑战第16天】在数据驱动的时代,高效部署机器学习模型至关重要。FastAPI凭借其高性能与灵活性,成为搭建模型API的理想选择。本文详述了从环境准备、模型训练到使用FastAPI部署的全过程。首先,确保安装了Python及相关库(fastapi、uvicorn、scikit-learn)。接着,以线性回归为例,构建了一个预测房价的模型。通过定义FastAPI端点,实现了基于房屋大小预测价格的功能,并介绍了如何运行服务器及测试API。最终,用户可通过HTTP请求获取预测结果,极大地提升了模型的实用性和集成性。
14 1
|
6天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的模型优化策略
【8月更文挑战第14天】在机器学习领域,模型的优化是提升预测性能的关键步骤。本文将深入探讨几种有效的模型优化策略,包括超参数调优、正则化方法以及集成学习技术。通过这些策略的应用,可以显著提高模型的泛化能力,减少过拟合现象,并增强模型对新数据的适应能力。
|
18天前
|
机器学习/深度学习 运维
【阿里天池-医学影像报告异常检测】4 机器学习模型调参
本文提供了对医学影像报告异常检测任务中使用的机器学习模型(如XGBoost和LightGBM)进行参数调整的方法,并分享了特征提取和模型调优的最佳实践。
30 13
|
11天前
|
机器学习/深度学习 算法 数据可视化
【机器学习】机器学习中的人工神经元模型有哪些?
本文概述了多种人工神经元模型,包括线性神经元、非线性神经元、自适应线性神经元(ADALINE)、感知机神经元、McCulloch-Pitts神经元、径向基函数神经元(RBF)、径向基概率神经元(RBPNN)、模糊神经元、自组织映射神经元(SOM)、CMAC神经元、LIF神经元、Izhikevich神经元、Spiking神经元、Swish神经元和Boltzmann神经元,各自的特点和应用领域,为理解神经网络中神经元的多样性和适应性提供了基础。
15 4
|
14天前
|
机器学习/深度学习 数据采集 算法
【机器学习】K-Means聚类的执行过程?优缺点?有哪些改进的模型?
K-Means聚类的执行过程、优缺点,以及改进模型,包括K-Means++和ISODATA算法,旨在解决传统K-Means算法在确定初始K值、收敛到局部最优和对噪声敏感等问题上的局限性。
33 2
|
14天前
|
机器学习/深度学习 算法 数据挖掘
|
18天前
|
机器学习/深度学习 算法
【Deepin 20系统】机器学习分类算法模型xgboost、lightgbm、catboost安装及使用
介绍了在Deepin 20系统上使用pip命令通过清华大学镜像源安装xgboost、lightgbm和catboost三个机器学习分类算法库的过程。
14 4
|
18天前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
24 1

相关产品

  • 人工智能平台 PAI