近似min(1, x)的连续函数
由于函数 f(x)=min(1, x)是非连续的,有哪些函数可以实现相似的功能,同时是连续函数
为了找到类似于 \(f(x) = \min(1, x)\) 但又是连续的函数,我们可以考虑以下几种方法来构造:
- *滑*似:使用 S 型函数
我们可以使用一些*滑函数来*似 \(\min(1, x)\):
1.1 *滑过渡函数
\(f(x) = 1 - e^{-kx}\)
当 k 很大时,该函数在 x < 1 时接* x ,在 x > 1 时快速趋*于 1。
1.2 Logistic *似
\(f(x) = \frac{x}{1 + e^{k(x - 1)}}\)
该函数在 \(x \ll 1\) 时接* x ,在 \(x \gg 1\) 时接* 1,且在 x = 1 附**滑过渡。参数 k 控制过渡的陡峭程度。
- *滑最大值*似
另一个常见的方法是利用*滑的最大值函数,例如:
\(f(x) = \frac{x + \sqrt{x^2 + \epsilon^2}}{2}\)
当 \(\epsilon\) 取一个小正数(如 \(\epsilon = 10^{-6}\) ),该函数在 \(x \ll 1\) 时*似 $ x$ ,而在 \(x \gg 1\) 时接* 1。
- 使用双曲正切函数
\(f(x) = \frac{1}{2} (x + 1 + |x - 1|)\)
这个函数也是连续的,并且可以*滑逼* $\min(1, x) $。
其中 \(x \in (0, \inf)\)
在 \(x \in (0, \infty)\) 的情况下,我们希望找到一个 连续 的函数来*似 $f(x) = \min(1, x) $。这里有几个合适的*滑*似方案:
- Sigmoid *似
使用 Logistic 函数 *滑过渡:
\(f(x) = \frac{x}{1 + e^{k(x - 1)}}\)
当 x \ll 1 时,$ e^{k(x - 1)} \approx e^{-k} $ 很小,因此 $ f(x) \approx x$ 。
当 $ x \gg 1$ 时, \(e^{k(x - 1)}\) 很大,因此 \(f(x) \approx \frac{x}{e^{k(x-1)}} \approx 1\) 。
通过调整 k (越大过渡越陡),可以*滑地从 x 过渡到 1。
- Soft-Min *似
使用 光滑的 min 函数:
\(f(x) = 1 - e^{-kx}\)
当 x 很小时, \(e^{-kx} \approx 1 - kx\) ,因此 \(f(x) \approx x\)。
当 x 很大时, \(e^{-kx} \to 0\),因此 \(f(x) \to 1\) 。
该函数是严格单调递增的,并且在整个 \((0, \infty)\) 上*滑。
- Soft-Threshold *似
使用 *滑最大值公式:
\(f(x) = \frac{x + \sqrt{x^2 + \epsilon^2}}{2}\)
当 \(x \ll 1\) 时, \(\sqrt{x^2 + \epsilon^2} \approx \epsilon\) ,所以 \(f(x) \approx x\) 。
当 \(x \gg 1\) 时, \(\sqrt{x^2 + \epsilon^2} \approx x\) ,所以 \(f(x) \approx 1\) 。
这里的 \(\epsilon\) 控制*滑程度,较小的 \(\epsilon\) 会更接* \(\min(1, x)\) 。
- Tanh *滑
\(f(x) = \frac{1}{2} (x + 1 - |x - 1|)\)
该函数在 x < 1 时*似为 x ,在 x > 1 时*似为 1。
它对 x = 1 处的*滑处理比最小值函数更自然。

浙公网安备 33010602011771号