目标函数的选择与实证结果的一致性:机器学习中的一个关键问题

2024-03-07

目标函数是机器学习和最优化问题中的一个核心概念,它定义了我们想要达到的目标,如最小化损失、最大化收益、最优化参数等。目标函数的选择和设计直接影响了算法的性能和效果,因此是一个重要的研究课题。然而,在实际应用中,我们经常会遇到目标函数与预期不符的情况,即实证结果与理论分析或者先验知识相悖,导致算法的失效或者不可靠。这些情况可能是由于目标函数的构造不合理、数据的质量不高、模型的假设不成立等原因造成的。本文将从以下几个方面探讨目标函数的陷阱,以及如何避免它们:


  • 目标函数的多样性

  • 目标函数的复杂性

  • 目标函数的局限性

  • 目标函数的不确定性


目标函数的多样性

目标函数的多样性是指对于同一个问题,可能存在多种不同的目标函数,它们各自反映了不同的目标或者评价标准。例如,对于分类问题,常用的目标函数有0-1损失、交叉熵损失、合页损失等;对于回归问题,常用的目标函数有均方误差、绝对误差、均方根误差等;对于聚类问题,常用的目标函数有最小化类内距离、最大化类间距离、最小化信息熵等。不同的目标函数可能会导致不同的优化结果,因此需要根据具体的问题和需求来选择合适的目标函数。

例如,对于一个二分类问题,假设我们有如下的训练数据:


x         y


1         1


2         1


3         0


4         0


如果我们使用线性函数作为分类器,即:

f(x)=wx+b

那么,如果我们使用0-1损失作为目标函数,即:

L(w,b)=i=1∑nI(yi=sign(f(xi)))

其中,I是指示函数,当括号内的条件成立时为1,否则为0;sign是符号函数,当括号内的值大于0时为1,否则为-1。那么,我们可以得到如下的优化结果:

w=−0.5,b=2.5

此时,分类器的图像如下:


可以看到,分类器将所有的样本都正确地分类了,目标函数的值为0。然而,如果我们使用交叉熵损失作为目标函数,即:

L(w,b)=−i=1∑nyilog(f(xi))+(1−yi)log(1−f(xi))

其中,f(xi)是指分类器输出的概率值,即:

f(xi)=1+e−wxi−b1

那么,我们可以得到如下的优化结果:

w=−1.2,b=4.8

此时,分类器的图像如下:


可以看到,分类器仍然将所有的样本都正确地分类了,但是目标函数的值不为0,而是约为0.02。这是因为交叉熵损失不仅考虑了分类的正确性,还考虑了分类的置信度,即概率值的接近程度。如果概率值越接近0或1,那么损失越小;如果概率值越接近0.5,那么损失越大。因此,交叉熵损失会倾向于让分类器输出更加极端的概率值,从而增加分类的置信度。

从这个例子可以看出,不同的目标函数可能会导致不同的优化结果,甚至不同的分类效果。因此,在选择目标函数时,需要考虑问题的本质和目的,以及目标函数的优缺点,从而选择合适的目标函数。


目标函数的复杂性

目标函数的复杂性是指目标函数的形式和结构的复杂程度,它反映了目标函数的可解性和可优化性。一般来说,目标函数越复杂,优化问题就越难求解,需要更多的计算资源和时间,甚至可能无法得到全局最优解。因此,目标函数的复杂性是一个需要权衡的因素,既要能够充分表达问题的特征和目标,又要尽可能简单和易解。

例如,对于一个回归问题,假设我们有如下的训练数据:



x      y


1     2


2      4


3      6


4      8



如果我们使用线性函数作为回归器,即:

f(x)=wx+b

那么,如果我们使用均方误差作为目标函数,即:

L(w,b)=n1i=1∑n(yi−f(xi))2

那么,我们可以得到如下的优化结果:

w=2,b=0

此时,回归器的图像如下:


可以看到,回归器完美地拟合了所有的样本,目标函数的值为0。然而,如果我们使用多项式函数作为回归器,即:

f(x)=w0+w1x+w2x2+⋯+wmxm

那么,如果我们使用均方误差作为目标函数,即:

L(w0,w1,⋯,wm)=n1i=1∑n(yi−f(xi))2

那么,我们可以得到如下的优化结果:

w0=0,w1=0,w2=0,⋯,wm=0

此时,回归器的图像如下:


可以看到,回归器没有拟合任何样本,目标函数的值为25。这是因为多项式函数的形式太复杂,导致了目标函数的非凸性,即存在多个局部最优解,而我们的优化算法可能陷入了一个不好的局部最优解,而无法找到全局最优解。因此,多项式函数的目标函数的复杂性太高,不利于优化。

从这个例子可以看出,目标函数的复杂性可能会导致优化问题的困难,甚至无法得到理想的结果。


目标函数的局限性

目标函数的局限性是指目标函数可能无法完全或准确地表达问题的真实目标或者人类的真实意图,导致算法的行为与预期不符或者产生负面的影响。这可能是由于目标函数的定义不清晰、不完整、不一致、不合理等原因造成的。因此,目标函数的局限性是一个需要注意的因素,既要能够明确和完善目标函数的设定,又要能够考虑目标函数的潜在的副作用和风险。

例如,对于一个机器人足球比赛项目,假设我们使用强化学习算法来让机器人从头开始掌握踢足球的技能。如果我们将进球得分作为唯一的目标函数,那么初始化状态下的机器人可能需要历经漫长的时间才能收获首个得分奖励。在此之前,机器人难以自行判断行动是否在正确的方向上。因此,我们引入了所谓的“塑造奖励”概念,即在学习踢足球时,将控球视为一个得分的合理途径。但这导致了新的问题:当机器人接近球时,它的机械臂会以大约每秒20次的高速振动来控球。虽然这符合目标函数的设定,但并不是我们真正希望实现的结果。这说明,我们的目标函数存在局限性,没有考虑到机器人的物理约束和运动规律。

目标函数的不确定性

目标函数的不确定性是指目标函数可能会随着时间、环境、数据等因素的变化而变化,导致算法的行为不稳定或不可预测。这可能是由于目标函数的动态性、随机性、模糊性等原因造成的。因此,目标函数的不确定性是一个需要应对的因素,既要能够适应和更新目标函数的变化,又要能够控制和评估目标函数的变化的影响。

例如,对于一个自动驾驶汽车项目,假设我们使用深度学习算法来让汽车能够识别和避开障碍物。如果我们使用一个分类器来判断前方的物体是否是障碍物,那么我们可能会使用一个二值的目标函数,即:

L(y,y^)=I(y=y^)

其中,y是真实的标签,y^是分类器的预测,I是指示函数。这个目标函数的意义是,如果分类器的预测与真实的标签不一致,那么就会产生一个损失。然而,这个目标函数存在不确定性,因为不同的物体可能有不同的危险程度和紧急程度,而这些因素并没有被目标函数所考虑。例如,如果前方的物体是一个行人,那么分类器的预测就非常重要,必须准确地识别出来,并及时地采取避让措施。而如果前方的物体是一个塑料袋,那么分类器的预测就不那么重要,即使识别错误,也不会造成太大的影响。因此,这个目标函数可能会导致汽车的行为过于敏感或过于迟钝,从而影响汽车的安全性和效率。

结论

综上所述,目标函数是机器学习和最优化问题中的一个核心概念,它定义了我们想要达到的目标,如最小化损失、最大化收益、最优化参数等。目标函数的选择和设计直接影响了算法的性能和效果,因此是一个重要的研究课题。然而,在实际应用中,我们经常会遇到目标函数与预期不符的情况,即实证结果与理论分析或者先验知识相悖,导致算法的失效或者不可靠。这些情况可能是由于目标函数的多样性、复杂性、局限性、不确定性等原因造成的。因此,在选择和设计目标函数时,需要考虑这些因素的影响,以及如何避免或应对它们,从而实现目标函数与预期的一致。



点击空白处返回页面
扫描二维码
联系我们
扫描进入小程序
虚位以待 静候卿来