使用死区线性损失函数进行快速/高效的计算

问题描述 投票:0回答:1

我感兴趣的是使用分段线性损失函数对数据进行建模:下限和上限之间为零,然后从这些边界之外的零开始线性。这非常接近我的“真实”损失函数,特别是有几个与我的设备中的真实边界相关的边界,在这些边界之外我开始线性地关心。在他们内心,我不太关心。

是否有快速算法或计算技巧来接近这个最佳值?我能想到的最好的解决方案是线性程序。任何技巧、指导、可能的方法或近似值将不胜感激。干杯!

algorithm optimization mathematical-optimization minimization
1个回答
1
投票

首先,考虑abs(x - a)+abs(x - b)的导数。对于 x < min(a, b) it is -2, for x > max(a, b) 为 +2,对于 a <= x <= b it is zero - so your piecewise linear penalty is the sum of two absolute functions (or two L1 norms).

因此,可能值得关注致力于最小化 L1 范数偏差的大量工作 - 例如,https://en.wikipedia.org/wiki/Iteratively_reweighted_least_squares。事实上,我认为您可以采用 L1 范数的交互式重新加权最小二乘最小化算法并对其进行修改以处理您的死区函数,而无需显式地将每个死区函数转换为两个绝对函数。

© www.soinside.com 2019 - 2024. All rights reserved.