ceres中lossfunction的选择
在 Ceres Solver 中,核函数(或损失函数)用于处理优化问题中的异常值。核函数通过修改残差的贡献,降低异常值对总体优化结果的影响。两个常用的核函数是 Cauchy 核函数和 Trivial 损失函数,它们在处理异常值时有显著不同的行为:
1. Cauchy 核函数(Cauchy Loss Function):
Cauchy 核函数是一种鲁棒的损失函数,特别适用于处理具有较大噪声的数据。它通过增加一个非线性的加权因子来降低异常值的影响,这个加权因子随着残差的增加而减少。Cauchy 核函数具有较长的“尾巴”,意味着即使残差很大,它对总体损失的贡献也会受到限制。这种函数在处理大量异常值时特别有用,因为它不会让任何单个观测值对总体结果产生过大影响。
其标准形式为:
其中,s 是残差平方,而 δ 是核函数的参数,通常称为尺度参数(scale parameter)。在 Ceres Solver 中,柯西核函数的参数 δ 对优化过程有以下影响:
1.异常值的敏感性:尺度参数 δ 控制着对异常值的敏感度。较小的 δ 使得损失函数对于异常值更加敏感,导致异常值被更强烈地压缩。相反,较大的 δ 会减少对异常值的压缩,使得模型对这些值更加“宽容”。
2.收敛性质:参数的选择可能影响