让我们通过一个简单的例子来展示软阈值的功能。
假设我们有一个包含一些信号的向量 ( x ),如下所示:
[ x = [3, -2, 5, -1, 7, -4, 2, 0] ]
现在,我们希望对这个信号进行软阈值处理,以去除幅值较小的分量,并减少噪音。假设我们选择的软阈值参数 λ = 3 \lambda = 3 λ=3。
按照软阈值的公式,我们可以对向量 x x x 中的每个元素进行处理:
软阈值 ( x i , λ ) = { x i − 3 , 如果 x i > 3 0 , 如果 − 3 ≤ x i ≤ 3 x i + 3 , 如果 x i < − 3 \text{软阈值}(x_i, \lambda) = \begin{cases} x_i - 3, & \text{如果 } x_i > 3 \\ 0, & \text{如果 } -3 \leq x_i \leq 3 \\ x_i + 3, & \text{如果 } x_i < -3 \end{cases} 软阈值(xi,λ)=⎩ ⎨ ⎧xi−3,0,xi+3,如果 xi>3如果 −3≤xi≤3如果 xi<−3
现在,让我们应用这个公式:
软阈值 ( 3 , 3 ) = 3 − 3 = 0 \text{软阈值}(3, 3) = 3 - 3 = 0 软阈值(3,3)=3−3=0
软阈值 ( − 2 , 3 ) = 0 \text{软阈值}(-2, 3) = 0 软阈值(−2,3)=0
软阈值 ( 5 , 3 ) = 5 − 3 = 2 \text{软阈值}(5, 3) = 5 - 3 = 2 软阈值(5,3)=5−3=2
软阈值 ( − 1 , 3 ) = 0 \text{软阈值}(-1, 3) = 0 软阈值(−1,3)=0
软阈值 ( 7 , 3 ) = 7 − 3 = 4 \text{软阈值}(7, 3) = 7 - 3 = 4 软阈值(7,3)=7−3=4
软阈值 ( − 4 , 3 ) = − 4 + 3 = − 1 \text{软阈值}(-4, 3) = -4 + 3 = -1 软阈值(−4,3)=−4+3=−1
软阈值 ( 2 , 3 ) = 0 \text{软阈值}(2, 3) = 0 软阈值(2,3)=0
软阈值 ( 0 , 3 ) = 0 \text{软阈值}(0, 3) = 0 软阈值(0,3)=0
应用软阈值后,向量 x x x变为:
x = [ 0 , 0 , 2 , 0 , 4 , − 1 , 0 , 0 ] x = [0, 0, 2, 0, 4, -1, 0, 0] x=[0,0,2,0,4,−1,0,0]
可以看到,软阈值处理将幅值较小的分量置为零,保留了幅值较大的分量,并减少了信号中的噪音。