SVM算法理论推导

东边有棵树的博客# SVM算法理论推导

断断续续折腾了好几天,终于对SVM算法有了个大致的了解,趁热将自己的理解写下来,一方面加深自己的理解,另一方面以便日后有所遗忘时可随时查阅。理解有不对的地方,请大家多多批评指正。

(1)将原问题化为对偶问题

支持向量机的原问题:
最 小 化 : 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ i = 1 N ξ i 限 制 条 件 : { ξ i ≥ 0     i = 1 ⋯ N y i [ W T φ ( X i ) + b ] ≥ 1 − ξ i     i = 1 ⋯ N (1) 最小化:\frac{1}{2}||W||^2+C\sum_{i=1}^N\xi_i\\ 限制条件: \begin{cases} \xi_i\ge0~~~i=1\cdots N\\ y_i[W^T\varphi(X_i)+b]\ge1-\xi_i~~~i=1\cdots N \end{cases}\tag{1} 21W2+Ci=1Nξi{ξi0   i=1Nyi[WTφ(Xi)+b]1ξi   i=1N(1)
那这个原问题对应的对偶问题是什么样的形式呢?我们再来回顾一下原问题与对偶问题的定义:

原问题
最 小 化 :     f ( w ) 限 制 条 件 : { g i ( w ) ≤ 0     i = 1 ⋯ K h i ( w ) = 0     i = 1 ⋯ M (2) 最小化:~~~f(w)\\限制条件: \begin{cases} g_i(w)\leq0~~~i=1\cdots K\\ h_i(w)=0~~~i=1\cdots M \end{cases}\tag{2} :   f(w):{gi(w)0   i=1Khi(w)=0   i=1M(2)
定义一函数 L ( w , α , β ) L(w,\alpha,\beta) L(w,α,β)为:
L ( w , α , β ) = f ( w ) + ∑ i = 1 K α i g i ( w ) + ∑ i = 1 M β i h i ( w ) (3) L(w,\alpha,\beta)=f(w)+ \sum_{i=1}^K\alpha_ig_i(w)+\sum_{i=1}^M\beta_ih_i(w)\tag{3} L(w,α,β)=f(w)+i=1Kαigi(w)+i=1Mβihi(w)(3)
当然可以用矩阵写成简单的形式:
L ( w , α , β ) = f ( w ) + α T g ( w ) + β T h ( w ) (4) L(w,\alpha,\beta)=f(w)+\alpha^Tg(w)+\beta^Th(w) \tag{4} L(w,α,β)=f(w)+αTg(w)+βTh(w)(4)
公式 ( 3 ) (3) (3) α T \alpha^T αT g ( w ) g(w) g(w)都是 K K K维的,而 β T \beta^T βT h ( w ) h(w) h(w)都是 M M M维的。则原问题的对偶问题为
最 大 化 θ ( α , β ) = inf ⁡ 所 有 w {   L ( w , α , β )   } 限 制 条 件 : α i   ≥   0 ( i = 1 ⋯ K ) (5) 最大化\quad\theta(\alpha,\beta)=\inf \limits_{所有w}\{~L(w,\alpha,\beta)~\}\\限制条件:\alpha_i~\ge~0\quad(i=1\cdots K)\tag{5} θ(α,β)=winf{ L(w,α,β) }αi  0(i=1K)(5)
其中 inf ⁡ 所 有 w {   L ( w , α , β )   } \inf \limits_{所有w}\{~L(w,\alpha,\beta)~\} winf{ L(w,α,β) }的意思是在限制 α \alpha α β \beta β的情况下遍历所有的 w w w求最小值,即每确定一个 α \alpha α β \beta β都能算出一个最小值,即每一个 α \alpha α β \beta β都对应一个值,很明显,这是 α \alpha α β \beta β的函数,故写作 θ ( α , β ) \theta(\alpha,\beta) θ(α,β)。那么公式 ( 4 ) (4) (4)是针对所有的 α \alpha α β \beta β求最大值,即在所有的最小值中找最大的。

我们发现原问题和对偶问题的定义中原问题的限制条件都是小于等于0的,所以为了更好的进行改写,我们也需要对支持向量机的原问题,即公式 ( 1 ) (1) (1)进行适当的改写,这样就可以很方便的写出其对偶问题。我们看到, ( 1 ) (1) (1) 中的限制条件都是大于等于0的,我们要将他们改成小于等于0的,以此对应于 ( 2 ) (2) (2)中的 g i ( w ) ≤ 0 {g_i(w)\leq 0} gi(w)0。具体改法如下:
首 先 将 ξ i ≥ 0 改 为 ξ i ≤ 0 则 ( 1 ) 中 的 最 小 化 的 目 标 函 数 就 要 改 为 : 1 2 ∥ W ∥ 2 − C ∑ i = 1 N ξ i 而 y i [ W T φ ( X i ) + b ] ≥ 1 − ξ i 就 要 改 为 : y i [ W T φ ( X i ) + b ] ≥ 1 + ξ i 对 它 再 进 行 一 次 改 造 就 变 成 : 1 + ξ i − y i W T φ ( X i ) − y i b ≤ 0 首先将\xi_i \ge0 改为\xi_i \leq0 \\ 则(1)中的最小化的目标函数就要改为 :\\ {\frac{1}{2} \|W\|^2-C \sum_{i=1}^N \xi_i}\\而y_i [W^T \varphi(X_i)+b] \ge1- \xi_i就要改为:\\ y_i [W^T \varphi(X_i)+b] \ge1+ \xi_i\\ 对它再进行一次改造就变成:\\1+\xi_i-y_iW^T\varphi(X_i)-y_ib\leq0\\ ξi0ξi0(1)21W2Ci=1Nξiyi[WTφ(Xi)+b]1ξiyi[WTφ(Xi)+b]1+ξi1+ξiyiWTφ(Xi)yib0
我们也可以看出 ( 1 ) (1) (1)中并没有对应于 ( 2 ) (2) (2) h i ( w ) = 0 h_i(w)=0 hi(w)=0的限制条件。这样支持向量机的原问题 ( 1 ) (1) (1)就可以改写成如下形式的原问题:
最 小 化 : 1 2 ∣ ∣ W ∣ ∣ 2 − C ∑ i = 1 N ξ i 限 制 条 件 : { ξ i ≤ 0     i = 1 ⋯ N 1 + ξ i − y i W T φ ( X i ) − y i b ≤ 0     i = 1 ⋯ N (6) 最小化:\frac{1}{2}||W||^2-C\sum_{i=1}^N\xi_i\\ \tag{6} 限制条件: \begin{cases} \xi_i\leq0~~~i=1\cdots N\\ 1+\xi_i-y_iW^T\varphi(X_i)-y_ib\leq0~~~i=1\cdots N \end{cases} 21W2Ci=1Nξi{ξi0   i=1N1+ξiyiWTφ(Xi)yib0   i=1N(6)
我们就可以写出其对偶问题为:
最 大 化 : θ ( α , β ) = inf ⁡ 所 有 W , b , ξ i { 1 2 ∣ ∣ W ∣ ∣ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i W T φ ( X i ) − y i b ] } 限 制 条 件 : α i ≥ 0 , β i ≥ 0 (7) 最大化:\theta(\alpha,\beta)=\inf \limits_{所有W,b,\xi_i}\{\frac{1}{2}||W||^2-C\sum_{i=1}^N\xi_i+\sum_{i=1}^N\beta_i\xi_i+\sum_{i=1}^N\alpha_i[1+\xi_i-y_iW^T\varphi(X_i)-y_ib]\}\tag{7}\\ 限制条件:\alpha_i\ge0,\beta_i\ge0 θ(α,β)=W,b,ξiinf{21W2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiWTφ(Xi)yib]}αi0,βi0(7)
上式中的 α i , β i \alpha_i,\beta_i αi,βi就对应 ( 5 ) (5) (5)式中的 α i \alpha_i αi ( 2 ) (2) (2)式中我们待求的是 w w w,而对应到 ( 6 ) (6) (6)式中我们待求的就是 W , b , ξ i W,b,\xi_i W,b,ξi,所以在 ( 7 ) (7) (7)式中的 i n f inf inf下面是遍历所有的 W , b , ξ i W,b,\xi_i W,b,ξi

(2)对偶问题化简

为了方便,我们令:
L ( W , b , ξ i ) = 1 2 ∣ ∣ W ∣ ∣ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i W T φ ( X i ) − y i b ] (8) L(W,b,\xi_i)=\frac{1}{2}||W||^2-C\sum_{i=1}^N\xi_i+\sum_{i=1}^N\beta_i\xi_i+\sum_{i=1}^N\alpha_i[1+\xi_i-y_iW^T\varphi(X_i)-y_ib]\tag{8} L(W,b,ξi)=21W2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiWTφ(Xi)yib](8)
遍历所有的 W , b , ξ i W,b,\xi_i W,b,ξi L ( W , b , ξ i ) L(W,b,\xi_i) L(W,b,ξi)的最小值,我们利用 L ( W , b , ξ i ) L(W,b,\xi_i) L(W,b,ξi) W , b , ξ i W,b,\xi_i W,b,ξi求偏导并使偏导为0来求,最终得到的最小值的表达式肯定是 α , β \alpha,\beta α,β的函数。
{ ∂ L ∂ W = W − ∑ i = 1 N α i y i φ ( X i ) = 0 ∂ L ∂ b = − ∑ i = 1 N α i y i = 0 ∂ L ∂ ξ i = − N C + N β i + N α i = 0 (9) \left\{ \begin{array}{c} \frac{\partial L}{\partial W}=W-\sum_{i=1}^N\alpha_iy_i\varphi(X_i)=0\\ \frac{\partial L}{\partial b}=-\sum_{i=1}^N\alpha_i y_i=0\\ \frac{\partial L}{\partial \xi_i}=-NC+N\beta_i+N\alpha_i=0\tag{9} \end{array} \right. WL=Wi=1Nαiyiφ(Xi)=0bL=i=1Nαiyi=0ξiL=NC+Nβi+Nαi=0(9)
进一步可推得:
W = ∑ i = 1 N α i y i φ ( X i ) (10) W=\sum_{i=1}^N\alpha_iy_i\varphi(X_i)\tag{10} W=i=1Nαiyiφ(Xi)(10)

∑ i = 1 N α i y i = 0 (11) \sum_{i=1}^N\alpha_i y_i=0\tag{11} i=1Nαiyi=0(11)

α i + β i = C (12) \alpha_i+\beta_i = C \tag{12} αi+βi=C(12)

将式 ( 10 ) 、 ( 11 ) 、 ( 12 ) (10)、(11)、(12) (10)(11)(12)带入公式 ( 7 ) (7) (7)得:
最 大 化 : θ ( α , β ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N y i y j α i α j φ ( X i ) T φ ( X j ) (13) 最大化:\theta(\alpha,\beta)=\sum_{i=1}^N\alpha_i-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Ny_iy_j\alpha_i\alpha_j\varphi(X_i)^T\varphi(X_j)\tag{13} θ(α,β)=i=1Nαi21i=1Nj=1Nyiyjαiαjφ(Xi)Tφ(Xj)(13)
计算时比较麻烦的是 1 2 ∣ ∣ W ∣ ∣ 2 \frac{1}{2}||W||^2 21W2,这里将计算过程记录一下。 ∣ ∣ W ∣ ∣ 2 ||W||^2 W2可以写作:
∣ ∣ W ∣ ∣ 2 = W T W = ∑ i = 1 N α i y i φ ( X i ) T ∑ j = 1 N α j y j φ ( X j ) (14) ||W||^2=W^TW=\sum_{i=1}^N\alpha_iy_i\varphi(X_i)^T \sum_{j=1}^N\alpha_jy_j\varphi(X_j)\tag{14} W2=WTW=i=1Nαiyiφ(Xi)Tj=1Nαjyjφ(Xj)(14)
将公式 ( 14 ) (14) (14)展开就可以得到:
∣ ∣ W ∣ ∣ 2 = [ α 1 y 1 φ ( X 1 ) T + α 2 y 2 φ ( X 2 ) T + α 3 y 3 φ ( X 3 ) T + ⋯ + α N y N φ ( X N ) T ] ∗ [ α 1 y 1 φ ( X 1 ) + α 2 y 2 φ ( X 2 ) + α 3 y 3 φ ( X 3 ) + ⋯ + α N y N φ ( X N ) ] (15) ||W||^2 = [\alpha_1 y_1 \varphi(X_1)^T+\alpha_2 y_2 \varphi(X_2)^T+\alpha_3 y_3 \varphi(X_3)^T+\cdots +\alpha_N y_N \varphi(X_N)^T]\\*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\tag{15} W2=[α1y1φ(X1)T+α2y2φ(X2)T+α3y3φ(X3)T++αNyNφ(XN)T][α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)++αNyNφ(XN)](15)
则将式 ( 15 ) (15) (15)中第一行中括号里的变量分别乘以整个第二行整个中括号的表达式,然后再加起来即可:
∣ ∣ W ∣ ∣ 2 = α 1 y 1 φ ( X 1 ) T ∗ [ α 1 y 1 φ ( X 1 ) + α 2 y 2 φ ( X 2 ) + α 3 y 3 φ ( X 3 ) + ⋯ + α N y N φ ( X N ) ] + α 2 y 2 φ ( X 2 ) T ∗ [ α 1 y 1 φ ( X 1 ) + α 2 y 2 φ ( X 2 ) + α 3 y 3 φ ( X 3 ) + ⋯ + α N y N φ ( X N ) ] + α 3 y 3 φ ( X 3 ) T ∗ [ α 1 y 1 φ ( X 1 ) + α 2 y 2 φ ( X 2 ) + α 3 y 3 φ ( X 3 ) + ⋯ + α N y N φ ( X N ) ] ⋯ + α N y N φ ( X N ) T ∗ [ α 1 y 1 φ ( X 1 ) + α 2 y 2 φ ( X 2 ) + α 3 y 3 φ ( X 3 ) + ⋯ + α N y N φ ( X N ) ] (16) ||W||^2 = \alpha_1 y_1 \varphi(X_1)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\\ +\alpha_2 y_2 \varphi(X_2)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\\ +\alpha_3 y_3 \varphi(X_3)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\\ \cdots\\ +\alpha_N y_N \varphi(X_N)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\tag{16} W2=α1y1φ(X1)T[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)++αNyNφ(XN)]+α2y2φ(X2)T[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)++αNyNφ(XN)]+α3y3φ(X3)T[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)++αNyNφ(XN)]+αNyNφ(XN)T[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)++αNyNφ(XN)](16)
而我们又知道两个 ∑ \sum 在一起,表示第一个固定的情况下,第二个从头改变到到尾,然后第一个再改变一下,第二个再从头改变到尾,一直到第一个改变到最后,把整个过程加起来。所以上面的 ( 16 ) (16) (16)式就可以写作:
∣ ∣ W ∣ ∣ 2 = ∑ i = 1 N ∑ j = 1 N y i y j α i α j φ ( X i ) T φ ( X j ) (17) ||W||^2 = \sum_{i=1}^N\sum_{j=1}^Ny_iy_j\alpha_i\alpha_j\varphi(X_i)^T\varphi(X_j)\tag{17} W2=i=1Nj=1Nyiyjαiαjφ(Xi)Tφ(Xj)(17)
接下来我们来看限制条件有什么变化:
因 为 : α i ≥ 0 , β i ≥ 0 根 据 公 式 ( 12 ) 又 可 知 : α i + β i = C 所 以 可 得 : 0 ≤ α i ≤ C 根 据 公 式 ( 11 ) 又 有 : ∑ i = 1 N α i y i = 0 因为:\alpha_i \ge 0,\beta_i \ge0\\根据公式(12)又可知:\alpha_i+\beta_i = C\\ 所以可得:0 \leq \alpha_i \leq C\\ 根据公式(11)又有:\sum_{i=1}^N\alpha_i y_i=0 αi0,βi0(12)αi+βi=C0αiC(11)i=1Nαiyi=0
所以最终可得对偶问题化简以后问题为:
最 大 化 : θ ( α , β ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N y i y j α i α j φ ( X i ) T φ ( X j ) 限 制 条 件 : { 0 ≤ α i ≤ C     i = 1 ⋯ N ∑ i = 1 N α i y i = 0     i = 1 ⋯ N (18) 最大化:\theta(\alpha,\beta)=\sum_{i=1}^N\alpha_i-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Ny_iy_j\alpha_i\alpha_j\varphi(X_i)^T\varphi(X_j)\\ 限制条件:\begin{cases} 0 \leq \alpha_i \leq C ~~~i=1\cdots N\\ \sum_{i=1}^N\alpha_i y_i=0~~~i=1\cdots N \end{cases}\tag{18} θ(α,β)=i=1Nαi21i=1Nj=1Nyiyjαiαjφ(Xi)Tφ(Xj){0αiC   i=1Ni=1Nαiyi=0   i=1N(18)
其中的 φ ( X i ) T φ ( X j ) \varphi(X_i)^T\varphi(X_j) φ(Xi)Tφ(Xj)正好是核函数,从这点可看出我们并不需要知道 φ ( X ) \varphi(X) φ(X) 的显示表达就可进行求解。同时这也是一个二次规划问题,可以使用通用的二次规划算法来求解,但有一种更高效简单的算法叫SMO算法。这个算法我们以后再说。

(3)求出分割超平面

当我们要求 W W W时,我们发现一个问题:
W = ∑ i = 1 N α i y i φ ( X i ) (19) W=\sum_{i=1}^N\alpha_i y_i\varphi(X_i)\tag{19} W=i=1Nαiyiφ(Xi)(19)
我们并不知道 φ ( X i ) \varphi(X_i) φ(Xi)的具体表达式,根本无法求出 W W W,事实是我们根本不用求出 W W W。因为我们最终的结果是测试时,每输入一个样本 X X X,看 W T φ ( X ) + b W^T \varphi(X)+b WTφ(X)+b的结果是大于等于0还是小于0就行了。大于等于0的是一类,小于0的是另一类。于是我们有:
W T φ ( X ) = ∑ i = 1 N α i y i φ ( X i ) T φ ( X ) = ∑ i = 1 N α i y i K ( X i , X ) (20) W^T \varphi(X)=\sum_{i=1}^N\alpha_i y_i\varphi(X_i)^T\varphi(X)=\sum_{i=1}^N\alpha_i y_i K(X_i,X)\tag{20} WTφ(X)=i=1Nαiyiφ(Xi)Tφ(X)=i=1NαiyiK(Xi,X)(20)
核函数又一次出现,解决了这个问题。接下来我们求 b b b,根据 K K T KKT KKT条件,对所有的 i = 1 ⋯ N i=1\cdots N i=1N,有:
α i [ 1 + ξ i − y i W T φ ( X i ) − y i b ] = 0 β i ξ i = 0 ⇒ ( C − α i ) ξ i = 0 \alpha_i[1+\xi_i-y_iW^T\varphi(X_i)-y_i b]=0\\ \beta_i \xi_i = 0\Rightarrow (C-\alpha_i) \xi_i = 0 αi[1+ξiyiWTφ(Xi)yib]=0βiξi=0(Cαi)ξi=0
α \alpha α是一个向量,可以写成矩阵形式 α = [ α 1 , α 2 , α 3 ⋯ α k ⋯ α N ] T \alpha=[\alpha_1,\alpha_2,\alpha_3\cdots \alpha_k\cdots\alpha_N]^T α=[α1,α2,α3αkαN]T,如果对于 α \alpha α的某一个分量 α k \alpha_k αk,有 α k ≠ 0 \alpha_k\neq0 αk=0 α k ≠ C \alpha_k\neq C αk=C,则根据 K K T KKT KKT条件,必有 ξ k = 0 \xi_k = 0 ξk=0,且:
1 + ξ k − y k W T φ ( X k ) − y k b = 0 (21) 1+\xi_k-y_kW^T\varphi(X_k)-y_k b = 0\tag{21} 1+ξkykWTφ(Xk)ykb=0(21)
其种 X k X_k Xk就是 α k \alpha_k αk对应的训练样本, y k W T φ ( X k ) y_kW^T\varphi(X_k) ykWTφ(Xk)可以写成:
y k W T φ ( X k ) = y k ∑ i = 1 N α i y i K ( X i , X k ) (22) y_kW^T\varphi(X_k) = y_k \sum_{i=1}^N \alpha_i y_i K(X_i,X_k)\tag{22} ykWTφ(Xk)=yki=1NαiyiK(Xi,Xk)(22)
所以,只须找一个 0 ≤ α k ≤ C 0 \leq \alpha_k \leq C 0αkC,就可将 b b b求出:
b = 1 − y k ∑ i = 1 N α i y i K ( X i , X k ) y k (23) b=\frac{1-y_k \sum_{i=1}^N \alpha_i y_i K(X_i,X_k)}{y_k}\tag{23} b=yk1yki=1NαiyiK(Xi,Xk)(23)
实际任务中常采用一种更鲁棒的做法:选择多个处于 0 0 0 C C C之间的 α \alpha α的分量求出多个 b b b然后取平均。

(4)测试

对于一个测试样本 X X X,我们要判断其所属的类别,则我们计算
W T φ ( X ) + b = ∑ i = 1 N α i y i φ ( X i ) T φ ( X ) + b = ∑ i = 1 N α i y i K ( X i , X ) + b (24) W^T \varphi(X)+b=\sum_{i=1}^N \alpha_i y_i \varphi(X_i)^T \varphi(X)+b\tag{24} = \sum_{i=1}^N \alpha_i y_i K(X_i,X)+b WTφ(X)+b=i=1Nαiyiφ(Xi)Tφ(X)+b=i=1NαiyiK(Xi,X)+b(24)
判别标准为:
{ 如 果 ∑ i = 1 N α i y i K ( X i , X ) + b ≥ 0 , 则 X ∈ C 1 如 果 ∑ i = 1 N α i y i K ( X i , X ) + b < 0 , 则 X ∈ C 2 \begin{cases} 如果\sum_{i=1}^N \alpha_i y_i K(X_i,X)+b \ge 0,则X \in C_1\\ 如果\sum_{i=1}^N \alpha_i y_i K(X_i,X)+b < 0,则X \in C_2 \end{cases} {i=1NαiyiK(Xi,X)+b0XC1i=1NαiyiK(Xi,X)+b<0XC2
最终我们只通过核函数也能完成对 X X X的类别判决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值