十二、评估机器学习算法

简介: 十二、评估机器学习算法

1、过拟合/欠拟合问题


首先将原始数据按照70%训练数据,30%测试数据的比例进行随机划分,之后使用训练数据进行训练参数 θ,最后使用训练出来的参数  θ通过测试数据检验误差大小。



1.1 线性回归问题


线性回归问题的误差检验公式如下所示:

c57f99d0a9d948269d2f57c9555ba943.png


1.2 逻辑回归问题


  逻辑回归问题的误差检验公式如下所示:

75b2c601600a463f90fc594b2d731832.png


其中,err(hθ(xtest(i)), ytest(i))计算方式如下所示:

9020e2cd507848cab94ea5349dcb34de.png



2、模型选择和训练



若设计到首先选择模型,则需要将原始数据划分为三部分,60%的训练数据,20%的交叉验证数据(Cross Validation Data),最后20%的测试数据。交叉验证数据的作用是用于选择某个参数数量/维度的模型,而测试数据则用来验证在某个训练出的参数的基础上,选定最优参数  θ。

e1ec7838482547fbab9e2551d6ff4fdc.png

2.1 怎样判断模型是过拟合还是欠拟合


当机器学习模型表现的效果并不如人意时,我们通过绘制训练数据的偏差,交叉验证数据的偏差和测试数据的偏差如下图所示:

342fef7bba8e4a5891583502e2d356bc.png

通过上图,可以确定出原始训练出来的模型到底是过拟合的还是欠拟合的,在交叉误差图左边偏高部分属于模型欠拟合的状态,意味着模型的维度偏低;在交叉误差图右边偏高部分属于模型过拟合的状态,意味着模型的维度偏低。


从数据上直观看,当交叉验证误差很大,同时原始数据误差同样很大,并且二者的误差大致相同时,可以判断当前模型处于欠拟合的状态;当交叉验证误差很大,但是原始数据误差很小,二者差别很大时,可以判断模型处于欠拟合的状态。



2.2 怎样选择正则化系数 λ


我们可以通过绘制误差关于正则化系数 λ的图像来直观看出  λ的最佳取值范围:


d3b867f5090b46ffbcb8db6f40f857a5.png


在交叉验证项误差曲线左边高处属于模型过拟合的情况,这时候的 λ \lambda λ的取值较小;在交叉验证项误差曲线右边高处属于模型欠拟合的情况,这时候的 λ \lambda λ的取值较大。



2.3 学习曲线-learning curves


学习曲线是训练偏差和交叉验证集偏差对于训练集大小的曲线,当训练模型出现欠拟合或者过拟合状态时,曲线的之间的GAP值由明显区别。


当出现欠拟合情况时,学习曲线形状如下所示:a0dc8d9ac27c4a0f973342bd80636dd6.png

可以发现训练集偏差和测试集偏差之间的GAP值很小,同时增大训练集数量并不能明显降低偏差量。


当模型出现过拟合情况时,学习曲线的形状如下所示:


5ad0afea808849abb0411157d2cb8f54.png


可以发现训练集偏差和测试集偏差之间的GAP值很大,同时增大训练集数量可以降低偏差量,使得模型的效果提升。




2.4 神经网络结构和模型效果的关系


使用较小的神经网络和较少的特征,容易造成模型欠拟合;使用较大的神经网络和较多的特征,容易造成模型过拟合。使用大的神经网络时,可以使用较大的正则化系数 λ \lambda λ来减轻过拟合问题。







相关文章
|
4月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
212 6
|
6天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
3天前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
364 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
2月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
59 14
|
3月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
115 2
|
4月前
|
机器学习/深度学习 Python
机器学习中评估模型性能的重要工具——混淆矩阵和ROC曲线。混淆矩阵通过真正例、假正例等指标展示模型预测情况
本文介绍了机器学习中评估模型性能的重要工具——混淆矩阵和ROC曲线。混淆矩阵通过真正例、假正例等指标展示模型预测情况,而ROC曲线则通过假正率和真正率评估二分类模型性能。文章还提供了Python中的具体实现示例,展示了如何计算和使用这两种工具来评估模型。
142 8
|
4月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
77 6
|
4月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
85 1

热门文章

最新文章