栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

十二、评估机器学习算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

十二、评估机器学习算法

文章目录

1、过拟合/欠拟合问题

1.1 线性回归问题1.2 逻辑回归问题 2、模型选择和训练

2.1 怎样判断模型是过拟合还是欠拟合2.2 怎样选择正则化系数 λ lambda λ2.3 学习曲线-learning curves2.4 神经网络结构和模型效果的关系 THE END

1、过拟合/欠拟合问题

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

1.1 线性回归问题

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

1.2 逻辑回归问题

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

qquad 其中, e r r ( h θ ( x t e s t ( i ) ) ,   y t e s t ( i ) ) err(h_theta(x_{test}^{(i)}), y_{test}^{(i)}) err(hθ​(xtest(i)​), ytest(i)​)计算方式如下所示:

2、模型选择和训练

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

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

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

qquad 通过上图,可以确定出原始训练出来的模型到底是过拟合的还是欠拟合的,在交叉误差图左边偏高部分属于模型欠拟合的状态,意味着模型的维度偏低;在交叉误差图右边偏高部分属于模型过拟合的状态,意味着模型的维度偏低。
qquad 从数据上直观看,当交叉验证误差很大,同时原始数据误差同样很大,并且二者的误差大致相同时,可以判断当前模型处于欠拟合的状态;当交叉验证误差很大,但是原始数据误差很小,二者差别很大时,可以判断模型处于欠拟合的状态。

2.2 怎样选择正则化系数 λ lambda λ

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

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

2.3 学习曲线-learning curves

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

qquad 可以发现训练集偏差和测试集偏差之间的GAP值很小,同时增大训练集数量并不能明显降低偏差量。
qquad 当模型出现过拟合情况时,学习曲线的形状如下所示:

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

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

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

THE END
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/752961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号