当前位置: 首页 > article >正文

机器学习—模型评估

假设你训练了一个机器学习模型,如何评价那种型号的性能?

有一个系统的方法来评估性能,这将有助于为如何提高其性能描绘一条更清晰的道路,以学习预测房价作为大小函数的例子,假设训练了一个预测房价的模型,作为模型大小X的函数,这是一个四阶多项式,所以它以X、X²、X³、X四次方为特征,我们将一个四届多项式拟合到一个有五个数据点的训练集,与训练数据非常吻合,但是我们不太喜欢在这种型号,即使模型很好的拟合了训练数据,但它不能推广到新的例子,不在训练集里的,所以当你预测价格时,只有一个特征,房子的大小可以这样画模型,可以看到曲线非常摆动,所以我们知道这可能不是一个好模型,但如果你给这个模型安装更多的功能,假设我们有X1代表房子大小,X2代表卧室数量,X3代表房子的楼层数,X4代表房龄,那么绘制f就变得更加困难,因为f是X1到X4的函数,如何绘制一个四维函数?所以为了判断你的模型是否做得好,特别是对于具有一两个以上特性的应用程序,这使得很难绘制f(x)。

我们需要一些更系统的方法来评估你的模型做的有多好,有一个技巧,如果你有一套训练,这是一个小的训练集,这里只列出了十个例子,而不是用所有的数据来训练模型的参数w和b,可以将训练集拆分为两个子集,画一条线,把70%的数据放在第一部分,将其称之为训练集,把剩下的30%的数据放入测试集,我们要做的是在训练集上训练模型的参数,在这个70%的数据上,然后我们将在这个测试集中用符号来测试这个性能,用(x1,y1)(x2,y2),与前面相同,通过x表示训练示例所以在这个小例子中,我们会有七个训练例子,并引入一个新的符号,M训练是训练实例的数量,在这个小数据集中是七个,所以下标只是强调如果我们看数据的训练集部分,对于测试集,我们将使用符号X一个下标测试来表示第一个测试示例,m是测试示例的个数,在本例中是三个,大部分数据都进入了训练集,一小部分进入测试集。

所以为了训练一个模型并对其进行评估,如果使用误差成本平方的线性回归,从拟合参数开始,通过最小化WB的成本函数J,所以这是通常的成本函数,然后告诉这个模型做的有多好,将计算j测试wb,它等于测试集上的平均误差,这是测试示例的数量,然后把所有例子加起来,从i=1到测试示例的数量,每个测试示例上的误差平方,如下所示,所以这是一个预测,i测试示例输入,减去i测试示例中房屋的实际价格平方,注意,测试误差公式j测试,它不包括正规化术语,通常用于计算的量之一,训练错误也是如此,它是衡量你的学习算法在训练集上做得有多好的一个指标,这也不包括正规化术语,为适应参数而最小化的成本函数不同,所以在我们之前看到的模型中,WB的J将很低,因为训练例子的平均误差将为零或非常接近于零,所以j次列会非常接近于零,但是如果在测试集中有一些额外的例子,算法没有训练过的,那么这些测试示例可能如下所示,与算法预测的结果之间有很大的差距,作为估计的房价和那些房价的实际价值,所以j测试会很高,所以看到j检验子啊这个模型上很高,可以意识到,即使它做得很好,训练集实际上不太擅长推广到新的示例,到训练集中没有的新数据点,这就是误差成本平方的回归。

现在让我们看看如何将此过程应用于分类问题,例如,如果你在0或1的手写数字之间进行分类,所以和之前一样,通过最小化成本函数来拟合参数,求参数w b,如果你在训练逻辑回归,那么这就是w b的成本函数j,这是通常的逻辑损失函数,然后在加上正则化项,计算测试误差,在测试示例中,有30%的数据不在训练集中,测试集上的物流损失,也可以计算训练误差,使用这个公式,算法使用的训练数据的平均逻辑损失是WB的成本函数J最小化,将机器学习应用于分类问题实际上是j检验和j训练的另一种定义,也就是不是用逻辑损失来计算测试误差和训练误差来代替测量,测试集的分数是多少以及算法错误分类的训练集的分数,可以让算法对每个测试示例做出1或0的预测,然后可以在训练集中计数,其中y帽不等于测试机集中的实际地面真相标签y,如果你在分类手写数字一个二进制分类任务,那么j测试将是该测试集的分数,j训练也是被错误分类的训练集的一小部分。


http://www.kler.cn/a/392211.html

相关文章:

  • python魔术方法的学习
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • 以往运维岗本人面试真题分享
  • mysql 更改 字段长度
  • python数据写入excel文件
  • LLMs之MindFormers:基于国产硬件华为Atlas针对GLM-4-9B实现模型全参微调(单机8卡)→模型推理(单卡多batch推理)
  • 【日常记录-Java】代码配置Logback
  • GitHub每日最火火火项目(11.13)
  • 重学 Android 自定义 View 系列:动手实现专属 TextView
  • Vue3 : Tailwindcss之margin样式类
  • PCL 点云拟合 基于角度约束的Ransac拟合直线
  • C++ 中的异常处理机制是怎样的?
  • 【AI大模型】大型语言模型LLM基础概览:技术原理、发展历程与未来展望
  • C#语言详解:从基础到进阶
  • 国标GB28181视频平台EasyCVR私有化部署视频平台对接监控录像机NVR时,录像机“资源不足”是什么原因?
  • 灰狼优化算法
  • 【WebRTC】视频发送链路中类的简单分析(下)
  • 【STM32】基于SPI协议读写SD,详解!
  • HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)技能调用接入方案
  • OpenCV相机标定与3D重建(1)概述
  • AI驱动的个性化购物推荐系统
  • 如何将Photoshop切换为中文界面
  • 46.第二阶段x86游戏实战2-拆解自动打怪流程
  • 一文总结java语法规则
  • 代码修改材质参数
  • 美团代付微信小程序 read.php 任意文件读取漏洞复现