对数损失(Log Loss),也称为对数损失或交叉熵损失,是二分类模型中常用的评估指标。它通过量化预测概率与实际值之间的差异来衡量模型的性能。对数损失越低,表明模型的预测性能越好。对数损失是一个基于概率的重要分类指标,虽然其原始值难以直观理解,但仍然是比较模型性能的好指标。对于任何给定的问题,对数损失值越低,意味着预测越准确。
对数损失是负平均对数修正预测概率的总和。让通过一个例子来理解它。对数损失是一个衡量分类模型性能的指标,通过测量预测和实际概率之间的差异来评估。它基于信息论,对偏差进行惩罚,为模型训练期间的优化提供了一个连续的度量。较低的对数损失值表示预测和实际结果之间的一致性更好,使其成为评估分类问题中概率估计准确性的有价值工具。
对数损失值是通过评估分类任务中预测概率与实际结果的匹配可能性来计算的。对于每个实例,它计算分配给正确类别的预测概率的负对数。所有实例在数据集中的这些值的平均值就是最终的对数损失分数。公式如下:
Log Loss = - (1/N) * Σ(yij * log(pij))
其中,N 是实例的数量,M 是类别的数量,yij 是一个二进制指示器(如果实例 i 属于类别 j,则为 1,否则为 0),pij 是实例 i 属于类别 j 的预测概率。
让以一家专门经营夹克和开衫的服装公司为例。该公司旨在开发一个模型,能够根据客户的历史行为模式预测客户是否会购买夹克(类别 1)或开衫(类别 0)。这个预测模型对于定制特定优惠以满足个别客户需求至关重要。作为数据科学家,任务是帮助构建这个模型,考虑对数损失等指标以确保预测的准确性和可靠性。
当开始学习机器学习算法时,首先学习的算法是线性回归,它预测一个连续的目标变量。如果在分类问题中使用线性回归,会得到一个最佳拟合线,如下所示:
Z = βX + b
当延伸这条线时,会得到大于 1 和小于 0 的值,这在分类问题中没有多大意义。这将使模型解释成为一个挑战,引入误判预测的风险。这就是逻辑回归的用武之地,它专门设计用于分类任务并最小化对数损失。如果需要预测一个门店的销售情况,那么这个模型可能会有所帮助。但在这里,目标是对客户进行分类,使用逻辑回归对于优化性能和最小化对数损失至关重要。
选择合适的模型还不够。需要一个函数来衡量给定数据的机器学习模型的性能。成本函数量化了预测值和预期值之间的误差。“如果不能衡量它,就不能改进它。” 随着这种转换,成本函数也会发生变化。在线性回归中,使用均方误差作为成本函数,如下所示:
Mean Squared Error = Σ(Yi - Ŷi)^2
当这个误差函数与线性回归模型的权重参数作图时,它形成了一个凸曲线,这使得可以使用梯度下降优化算法通过找到全局最小值来最小化误差并调整权重。
在逻辑回归中,Ŷi 是一个非线性函数(Ŷ = 1/(1 + e^(-z))),如果将其放入上述均方误差方程中,它将给出一个非凸函数。当尝试使用梯度下降优化值时,它将难以找到全局最小值。另一个原因是在分类问题中,有目标值如 0/1,所以 (Ŷ - Y)^2 总是在 0-1 之间,这可能使得跟踪误差变得非常困难,并且难以存储高精度的浮点数。逻辑回归中使用的成本函数是对数损失。
默认情况下,逻辑回归模型的输出是样本为正(用 1 表示)的概率。例如,如果逻辑回归模型被训练用来分类公司数据集,预测概率列表示一个人购买夹克的可能性。在给定的数据集中,预测一个人(ID6)会购买夹克的对数损失为 0.94。同样,一个人(ID5)会购买夹克(即属于类别 1)的概率是 0.1,但 ID5 的实际类别是 0,所以该类别的概率是 (1-0.1)=0.9。0.9 是 ID5 的正确概率。将为每个实例找到修正概率的对数。
Log Loss = - Σ(yi * log(p(yi)) + (1-yi) * log(1-p(yi)))