机械学习的基本方法(模型评估和模型参数选择,监督学习)

一,模型评估与模型参数选择

  1.模型评估的方法
   留出法:直接将数据集划分为训练集和测试集,利用测试集评估模型性能。这种方法简单直观,但可能因数据划分的不同而影响评估结果的稳定性。
   交叉验证法:通过将数据集分割成多个小子集,多次进行训练和验证,以减少评估结果的方差,提高模型评估的稳定性和可靠性。
   自助法:适用于数据量较少的情况,通过有放回抽样生成伪样本,估计模型的性能。

2. 性能度量指标
   准确率:分类正确的样本数占总样本数的比例,适用于大多数分类问题。
   精确率和召回率:分别关注模型预测为正的样本中真正为正的比例,以及所有真正正样本中被正确预测出来的比例。
   F1分数:精确率和召回率的调和平均,用于综合考虑二者的性能。
   ROC与AUC:通过绘制ROC曲线并计算AUC面积,评估模型在不同阈值下的分类性能。

模型误差和损失函数

  如果一个模型对于给定的输入x,其中\hat{y}=f(x)偏离了真实的目标值有,则说明模型纯在误差。这是模型评估的基本概念之一,即通过比较模型预测值与实际值致佳美的差异来评价模型的性能。

 为了量化这种偏离程度,引入了一个关于\hat{y}和y的函数L(y,\hat{y}),称为损失函数。损失函数是衡量模型预测误差的一种工具,常用损失函数包括均方误差,绝对误差和交叉熵

数据集的划分

训练集:用于训练模型,即通过调整模型参数使其学习数据的内在规律。
验证集:用于模型选择和调参,帮助确定模型的最佳超参数。
测试集:用于最终评估模型的性能,确保评估结果是无偏的。

模型参数的选择
   选择合适的模型参数是构建有效模型的关键步骤。参数的选择通常基于模型在验证集上的表现,通过调整参数以优化某些性能指标(如准确率、召回率等)。

•在某种损失函数度量下,训练集上的平 均误差被称为训练误差测试集上的误 差称为泛化误差。 • 由于我们训练得到一个模型最终的目的 是为了在未知的数据上得到尽可能准确 的结果,因此泛化误差是衡量一个模型 泛化能力的重要标准。

• 误差:预测输出\hat{y}与真实输出𝑦之间的差异;

• 经验误差、训练误差:在训练集上的误差;

• 泛化误差:在新样本上的误差。

泛化误差越小越好,经验误差不一定越小越好可能导致过拟合

验证集:

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

定义
验证集是在模型训练完成后用来评估模型性能的一部分数据。它不同于训练集和测试集,主要用于以下几个目的:
模型选择:通过比较不同模型在验证集上的表现,选择最佳的模型架构或算法。
超参数调优:调整模型的超参数(如学习率、正则化强度等),以找到最优的参数配置。

使用方法
1·分割数据:通常,数据集会被分为三部分:训练集、验证集和测试集。验证集的大小可以根据具2·体情况调整,但一般占原始数据集的10%到30%。
3·训练与验证分离:模型在训练集上进行训练,然后在验证集上评估其性能。这样可以确保模型在新的数据上的表现是可靠的,避免过拟合。

重要性
1·防止过拟合:仅使用训练集来评估模型可能会导致模型对训练数据过拟合,即模型在训练数据上表现很好,但在新数据上表现不佳。验证集的使用可以缓解这一问题。
2·客观评估:验证集提供了一个独立的数据集来评估模型性能,使得评估结果更加客观和可靠。

实际应用
在实际应用中,验证集的使用通常是迭代的。开发者会根据模型在验证集上的表现反复调整模型结构和超参数,直到找到最优的模型配置。最终,模型的性能会在一个独立的测试集上进行最终评估,以确保其泛化能力。

• 说明: • 验证集不像训练集和测试集,它是非必需的。如果不需要调整超参数,就可以不使用验证集, 直接用测试集来评估效果。

• 验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测 试集的评估结果为准

测试集:

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

定义
测试集是在模型开发过程中独立于训练集和验证集的数据集。它的主要目的是对模型进行最终的性能评估,确保模型具有良好的泛化能力。

使用方法
1·分割数据:通常,数据集会被分为三部分:训练集、验证集和测试集。测试集的大小可以根据具体情况调整,但一般占原始数据集的10%到30%。
2·独立评估:在模型训练和验证完成后,使用测试集对模型进行最终评估。这一步骤确保了模型性能评估的独立性和客观性。

重要性
1·防止过拟合:通过在独立的测试集上评估模型,可以确保模型不仅在训练数据上表现良好,而且能够推广到新的、未见过的数据集。
2·客观评估:测试集提供了一个独立的数据集来评估模型性能,使得评估结果更加客观和可靠。这有助于避免因模型在训练或验证数据上过度优化而导致的过拟合问题

实际应用
在实际应用中,测试集的使用通常是在模型训练和验证过程之后进行的。一旦模型在验证集上达到了满意的性能,开发者会在测试集上进行最终评估。如果模型在测试集上的表现不佳,可能需要重新审视模型的设计或进一步调整超参数。

划分数据集

• 对于小规模样本集(几万量级),常用的划分比例:

• 训练集:验证集:测试集=6:2:2 • 训练集:测试集==8:2、7:3 • 对于大规模样本集(百万级以上),只要验证集和测试集的数量足够即可。

• 例如有 100w 条数据,那么留 1w 验证集,1w 测试集即可。

• 1000w 的数据,同样留 1w 验证集和 1w 测试集。

• 超参数越少,或者超参数很容易调整,那么可以减少验证集的比例,更多的分配给训练集

 

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

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

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

为了选择效果最佳的模型,防止过拟合 的问题,通常可以采取的方法有:  移除特征,降低模型的复杂度:减少神经元的个数, 减少隐藏层的层数 ,训练集增加更多的数据 , 重新清洗数据 ,数据增强 ,正则化 ,早停

欠拟合:还没训练好。

欠拟合的原因: 1. 数据未做归一化处理 2. 神经网络拟合能力不足 3. 数据的特征项不够

解决方法: 1. 寻找最优的权重初始化方案  2. 增加网络层数、epoch 3. 使用适当的激活函数、优化器和学习率  4. 减少正则化参数  5. 增加特征

代码划分示例

 

二·监督学习

如果数据集中样本点只包含了模型 的输入𝒙,那么就需要采用非监督 学习的算法。

如果这些样本点以〈𝒙,𝒚〉这样的输入-输 出二元组的形式出现(有数据标签), 那么就可以采用监督学习的算法。

在监督学习中,我们根据训练集 𝒙 𝑖 , 𝒚 𝑖 𝑖=1 𝑁 中的观测 样本点来优化模型𝑓 ⋅ ,使得给定测试样例𝒙′作为模型输 入,其输出\hat{y}尽可能接近正确输出𝒚′ 。\hat{y} = 𝑓( x)

监督学习——回归

定义与基本原理

回归是监督学习的一种方法,它试图找到输入特征(自变量)和目标值(因变量)之间的函数关系。这种关系通常是连续的,即目标值可以是任何实数。回归模型的目标是通过最小化误差来拟合数据,以便能够准确地预测新的、未见过的数据点的输出值。

回归模型的类型

1. 线性回归:最简单的回归模型之一,它假设输入特征和目标值之间存在线性关系。线性回归使用一个或多个输入特征的加权和来预测输出值,权重通过最小化误差进行优化。
2. 多项式回归:与线性回归类似,但允许输入特征的更高次幂。这可以增加模型的复杂性,以更好地拟合非线性数据。
3. 支持向量回归(SVR):这是一种更复杂的回归方法,它试图找到一个最优的超平面,该超平面可以最大化数据点到其的距离,从而最小化预测误差。
4. 决策树回归:使用决策树模型进行回归预测。通过构建一系列决策规则来分割数据空间,并在每个叶节点上存储预测值或进一步分割的规则。
5. 随机森林回归:基于多个决策树的集成学习方法。它通过构建多个决策树并取它们的平均值来提高预测准确性和稳定性。

回归模型的应用

回归模型在许多领域都有广泛的应用,包括但不限于:

* 金融领域:用于预测股票价格、销售额等经济指标。

• 假设我们想要预测某家公司未来一年的销售额。  我们可以收集到该公司过去几年的销售额数据,以 及一些相关的因素,比如广告投入、促销活动、季节性因素等。我们可以使用这些数据建立一条最佳拟合直线,从而对未来的销售额进行预测。 在这个例子中,自变量可以包括广告投入、促销活 动、季节性因素等,因变量是销售额。我们可以通 过最小二乘法来估计截距和斜率的值,从而得到一 条最佳拟合直线。这条直线可以用来预测未来的销售额,也可以用来分析不同因素对销售额的影响。


* 医疗领域:用于预测疾病的发病率、患者的生存率等。
* 市场营销:用于预测产品的销售量、市场份额等。
* 科学研究:用于探索各种自然现象和规律。

回归模型的评估

评估回归模型的性能通常涉及计算一些统计指标,如均方误差(MSE)、平均绝对误差(MAE)和决定系数(R²)。这些指标可以帮助我们了解模型的预测能力和泛化能力。

• 均方误差损失函数(Mean Squared Error,MSE): • 最常用的回归问题的损失函数。其定义为预测值与真实值之间的平方差的平均值。

• 该损失函数的值越小,表示模型的预测结果越接近真实值。

• 简单线性回归 • 自变量 x 和因变量 y之间存在一条线性关系:

• 多元线性回归 • 假设自变量 和因变量 y之间存在一条线性关系,即:

监督学习——分类 

• 想要预测(检测)的目标是猫,那么在数据集中猫为正样本 ( Positive ) , 其 他 狗 、 兔 子 、 狮 子 这 些 数 据 为 负 样 本 (Negative )。

• 将这只猫预测(分类)为狗、兔子、其他预测结果为错(False); 将这只猫预测为猫,预测结果为对(True)。

◦ 虽然准确率可以判断总的正确率,但是在样本不平衡 的 情况下,并不能作为很好的指标来衡量结果。

◦ 举个简单的例子,比如在一个总样本中,正样本占 90%, 负样本占 10%,样本是严重不平衡的。

◦ 对于这种情况,我们只需要将全部样本预测为正样本即可 得到 90% 的高准确率,但实际上我们并没有很用心的分 类,只是随便无脑一分而已。

◦ 这就说明了:由于样本不平衡的问题,导致了得到的高准 确率结果含有很大的水分。即如果样本不平衡,准确率就 会失效。

召回率的应用场景: 比如拿网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一 个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违 约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。 召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错 杀一千,绝不放过一个。 召回率越高,也代表网络可以改进的空间越大。

把精确率(Precision)和召回率(Recall)之 间的关系用图来表达,就是下面的PR曲线:

平衡点(BEP)P=R PR曲线 AP(Average Precision):PR曲线下的面积。

通常来说一个越好的分类器,AP值越高 mAP是多个类别AP的平均值。这个mean的意思是对每个类的AP再求 平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越 好。该指标是目标检测算法中最重要的一个 

F-度量(也称为F1分数)的定义和计算方法

F-度量是一种用于评估二分类模型性能的指标,它是精确率(Precision)和召回率(Recall)的调和平均数。精确率是指所有被预测为正类的样本中实际为正类的比例,而召回率是指所有实际为正类的样本中被正确预测为正类的比例。F-度量通过在精确率和召回率之间取得平衡,提供了一个综合的性能评估指标。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值