1

我知道我可以通过幂函数表示模糊最大值(我在神经网络中需要它),即

def max(p:Double)(a:Double,b:Double) = pow(pow(a,p) + pow(b,p) , 1/p) // 假设 a >=0 且 b >=0

当 p -> 无穷大时它变为最大值,当 p = 1 时为和

不确定如何正确实现模糊最小值。

4

1 回答 1

1

如果您愿意在 p=1 的情况下将“sum”替换为“harmonic sum”,则可以使用

1/(pow(pow(a,-p) + pow(b,-p),1/p))

当 p 趋于无穷时,这会收敛到 min(a,b)。

对于 p=1,它是 1/(1/a + 1/b),它与调和平均值有关,但没有因子 2。就像在原始公式中一样,a+b 与算术平均值有关,但没有系数 2。

但是,请注意,对于 a 和 b 更接近的情况,当 p 趋于无穷大时,这两个公式(您的和我的)收敛到极限的速度要慢得多。

于 2012-09-19T17:16:30.230 回答