你是否始终在应用你的损失函数来评估你的机器学习零碎的性能? 我置信有很多人也是这样做的,这是一个普遍存在的误会,因为人工智能中的程序默认设置、课程中介绍都是这样说的。
在本文中,我将解释为什么须要两个独立的模型评分函数来进行评估和优化……甚至还可能须要第三个模型评分函数来进行统计测试。
在整个数据迷信我的项目,会看到评分指标函数(例如 MSE)用于三个次要目标:
- 体现评估:模型体现如何?通过评估指标能疾速理解咱们在做什么
- 模型优化:模型是否适宜,是否能够改良?哪种模型最靠近咱们的数据点?
- 统计决策:模型是否足以让咱们应用?这个模型通过咱们严格的假设检验规范了吗?
这三个函数彼此之间有奥妙的但很重要的“不同”,所以让咱们更深刻地看看是什么让一个函数对每个目标都“好”。
体现评估(度量)
性能指标通知咱们模型的体现如何。评估的目标是让任何人看到分数后就可能立即理解模型的内容。
指标应旨在使人有意义并无效地传播信息。
例如只管 MSE 是模型优化的十分风行的指标,但它波及将咱们关怀的数字平方,它对指标进行了谬误的缩放。所以他对于咱们的评估来说并不是一个最佳的指标,因为指标应旨在使人有意义并无效地传播信息。
所以人们更喜爱 RMSE,因为 RMSE 将 MSE 的数量级放大到更加可读的范畴
所以如何评估一个度量是“好”的?
当性能评估指标被设计用来捕获人们关怀的事件,并无效地将这些信息传递到你的大脑中时,它就是好的。MSE 是一个还算不错的指标,但还不是最好的。
模型优化(损失函数)
模型评估函数的第二次应用是为了优化。这时就要用到损失函数了。损失函数是机器学习算法在优化 / 模型拟合步骤中试图最小化的公式。
当通过数据拟合模型时,咱们实际上是在微调一些参数,模型通过这些函数来使其后果尽可能靠近数据。通过损失函数的得分来进行优化,它本质上是一种主动办法来确定哪种参数更适宜咱们的数据。损失函数的后果越大,阐明在模型与数据的差别就越多。
对于机器学习来说,可能实现才是最终的目标,所以抉择一个易于计算的函数是十分事实的问题,这就是为什么 MSE 如此受欢迎起因。在微积分 X²的一阶导数是非常容易计算的(MSE 中的 S 代表“平方”),因而在优化中 最小化的问题就变得十分的简略。
在下面图中,咱们从模型 1 开始,而后用优化算法 (也能够叫微积分) 失去模型 2。咱们找到了截距和斜率的值,从而失去了这些数据的最小 MSE。模型 2 是一条依据 MSE 的最小化计算出的尽可能靠近点的直线。
但当波及到在机器学习算法的框架下优化哪个损失函数时,咱们根本无法真正的抉择,因为除非你从新创造轮子,从头开始构建优化代码。
在很多状况下咱们抉择损失函数的决策过程并不是业务和事实世界的解释问题,而是便利性问题
在理论应用时咱们应用其他人的成熟算法,因而必须与曾经实现的任何损失函数一起应用。他们抉择的是最容易优化的产品,然而有时候可能对咱们的应用场景并不是最优的。
这就是为什么最终依赖的损失函数是一个便利性问题,而不是适宜业务问题或事实世界的解释。
为什么评估函数“有利于”优化?
当损失函数在机器学习算法中被设计为无效工作时,它必须易于机器进行优化 (而且它还应该与所关怀的任何事实世界的指标保持一致,否则优化它将使模型变得更糟,而不是更好) 是十分好的。例如在个别状况下 MSE 是用于建模间断数据的最佳损失函数……但它也有一些问题——如果你有大量的异样值,可能就要找到其余损失函数了。
统计决策(测验统计)
最初来说一下统计测验,这是形容的模型是否可行的分值(例如零碎是否上线)。
为测试抉择一个评分函数的想法与性能评估指标相似,但有一个小的不同就是不再强调对于“人”的可读性,而是将重点转移到它作为决策边界的能力和它对假设检验的便当。
与性能评估指标雷同的是用于统计测试的指标也必须捕捉零碎性能中对须要句解决的事实问题最重要和最有意义的信息。所以他与性能评估指标是密切相关的,如果它们不雷同,则个别状况下是因为评估指标波及到统计测试指标的可读性的转换(如扭转尺度或取根等,例如 MSE 和 RMSE)。
为什么“得分”函数有利于统计决策测试?
如果一个假设检验统计数据可能精确地反映了两种状态之间的边界,那么它就是好的: 因为咱们要通过这个分数来判断一个是还是否的问题。所以统计学家会尽可能会把这个统计量转化成便于假设检验并且不会扭转边界自身的指标。如果你不是一个统计学家,也不须要放心,因为你很可能永远不会看到它。你只须要晓得,这个指标分数是一个正确的决定规范,能够明确的辨别是或者不是。
总结
综上所述,咱们还是依照提出的三点进行总结:
- 只有老手会应用损失函数进行体现评估; 而专家通常应用两个或两个以上的指标。
- 指标是对人“敌对的 ”,而损失函数是对机器(程序计算)” 敌对的 ”。
- 在利用的 ML/AI 中,损失函数用于优化,而不是用于统计测验。统计测试应该解决的问题是:“模型的体现是否足以构建 / 公布? 而这里的是否问题应该由业务问题定义。咱们不应该扭转业务问题陈说来适应损失函数的凸优化指标。
https://avoid.overfit.cn/post/8ecf26a2a5144a358b104522fb14ed6d
作者:Cassie Kozyrkov