CS229 Lecture 7
课程要点:
最有边界分类
原始/对偶问题
原始/对偶优化问题(KKT)
支持向量机对偶问题
核方法
支持向量机的函数 h w , b ( x ) = g ( w T x + b ) h_{w,b}(x)=g(w^Tx+b) hw,b(x)=g(wTx+b), g ( z ) = { 1 i f    z ≥    0 − 1 o t h e r w i s e g(z)=\begin{cases}1 & if \,\,z\ge\,\,0\\-1&otherwise\end{cases} g(z)={1−1ifz≥0otherwise, y ∈ { − 1 , 1 } y\in\{-1,1\} y∈{−1,1}。在支持向量机中关于函数价格的定义为 γ ^ ( i ) = y ( i ) ( w T x ( i ) + b ) \hat\gamma^{(i)}=y^{(i)}(w^Tx^{(i)}+b) γ^(i)=y(i)(wTx(i)+b)。
支持向量机关于几何间隔的定义为: γ ( i ) = y ( i ) ( w T ∣ ∣ w ∣ ∣ x + b ∣ ∣ w ∣ ∣ ) \gamma^{(i)}=y^{(i)}(\frac{w^T}{||w||}x+\frac{b}{||w||}) γ(i)=y(i)(∣∣w∣∣wTx+∣∣w∣∣b),对于一批样本几何间隔的定义为: γ = m i n    γ ( i ) \gamma=min\,\,\gamma^{(i)} γ=minγ(i)。根据几何间隔的定义可知,对 w , b w,b w,b按照任意比例进行放缩都不会影响分隔的超平面,以及间隔大小。
最大化几何间隔
方法1:
max
w
,
b
  
γ
s
.
t
    
y
(
i
)
(
w
T
x
(
i
)
+
b
)
≥
γ
    
i
=
1
,
⋯
 
,
m
∣
∣
w
∣
∣
=
1
\mathop {\max }\limits_{w,b}\,\,\gamma\\ s.t \,\,\,\,y^{(i)}(w^Tx^{(i)}+b)\ge\gamma\,\,\,\,i=1,\cdots,m\\ ||w||=1
w,bmaxγs.ty(i)(wTx(i)+b)≥γi=1,⋯,m∣∣w∣∣=1
由于 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1属于非凸优化问题,难以解出。
方法2:
max γ , w , b γ ^ ∣ ∣ w ∣ ∣ s . t      y ( i ) ( w T x ( i ) + b ) ≥ γ ^ \mathop {\max }\limits_{\gamma,w,b}\frac{\hat\gamma}{||w||}\\ s.t \,\,\,\,y^{(i)}(w^Tx^{(i)}+b)\ge\hat\gamma γ,w,bmax∣∣w∣∣γ^s.ty(i)(wTx(i)+b)≥γ^
上式虽然摆脱了 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1,然而 γ ^ ∣ ∣ w ∣ ∣ \frac{\hat\gamma}{||w||} ∣∣w∣∣γ^依旧是一个非凸优化问题。
方法3:
前面说过可以对 w , b w,b w,b任意缩放而不改变其几何间隔。那么现在令 γ ^ = 1 \hat\gamma=1 γ^=1,因此有 min i y ( i ) ( w T x ( i ) + b ) = 1 \mathop {\min }\limits_i y^{(i)}(w^Tx^{(i)}+b)=1 iminy(i)(wTx(i)+b)=1,对于方法2的变形为:
min w , b ∣ ∣ w ∣ ∣ 2 s . t      y ( i ) ( w T x ( i ) + b ) ≥ 1 \mathop {\min }\limits_{w,b}||w||^{2}\\ s.t\,\,\,\,y^{(i)}(w^Tx^{(i)}+b)\ge1 w,bmin∣∣w∣∣2s.ty(i)(wTx(i)+b)≥1
其中 min w , b ∣ ∣ w ∣ ∣ 2 \mathop {\min }\limits_{w,b}||w||^{2} w,bmin∣∣w∣∣2,相当于 max w , b 1 ∣ ∣ w ∣ ∣ \mathop {\max }\limits_{w,b}\frac{1}{||w||} w,bmax∣∣w∣∣1
这样的优化问题没有局部最有解。
对于这种有约束最优化问题,就如上图所示,可行域被各种限制屏蔽掉,最有解只能在剩余的里面找。在还哪有被排除的点收敛到全局最优。
原始问题于对偶问题
原始问题:
min w    f ( w ) s . t    h i ( w ) = 0      i = 1 ⋯ m \mathop {\min }\limits_{w}\,\,f(w)\\ s.t \,\,h_{i}(w)=0\,\,\,\,i=1\cdots m wminf(w)s.thi(w)=0i=1⋯m
将约束条件向量化表示的话 h ( w ) = [ h 1 ( w ) h 2 ( w ) ⋮ h m ( w ) ] = 0 ⃗ h(w)=\begin{bmatrix}h_{1}(w)\\h_2(w)\\\vdots\\h_m(w)\end{bmatrix}=\vec 0 h(w)=⎣⎢⎢⎢⎡h1(w)h2(w)⋮hm(w)⎦⎥⎥⎥⎤=0
将其转换为拉格朗日函数为: L ( w , β ) = f ( w ) + ∑ i = 1 m β i h i ( w ) L(w,\beta)=f(w)+\sum_{i=1}^{m}\beta_i h_i(w) L(w,β)=f(w)+∑i=1mβihi(w),其中 β i \beta_i βi被称为拉格朗日乘子。
求解拉格朗日函数的方法为:
∂ L ∂ w = 0 \frac{\partial L}{\partial w}=0 ∂w∂L=0且 ∂ L ∂ β = 0 \frac{\partial L}{\partial \beta}=0 ∂β∂L=0
如果说 w ∗ w^* w∗是这个拉格朗日函数的最优解的话,那么必然存在 β ∗ \beta* β∗使得 ∂ L ( w ∗ , β ∗ ) ∂ w = 0 , ∂ L ( w ∗ , β ∗ ) ∂ β = 0 \frac{\partial L(w^*,\beta*)}{\partial w}=0,\frac{\partial L(w^*,\beta*)}{\partial \beta}=0 ∂w∂L(w∗,β∗)=0,∂β∂L(w∗,β∗)=0
这里将这种受限最优化问题泛化为包含不等式约束条件;
原始问题为:
min w    f ( w ) s . t    g i ( w ) = 0      i = 1 ⋯ k h i ( w ) = 0      i = 1 ⋯ l \mathop {\min }\limits_{w}\,\,f(w)\\ s.t \,\,g_{i}(w)=0\,\,\,\,i=1\cdots k\\ h_{i}(w)=0\,\,\,\,i=1\cdots l wminf(w)s.tgi(w)=0i=1⋯khi(w)=0i=1⋯l
为了求解该问题,拉格朗日函数的定义为:
L ( w , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ i = 1 l β i h i ( w ) \mathcal {L}(w,\alpha,\beta)=f(w)+\sum_{i=1}^{k}\alpha_i g_i(w)+\sum_{i=1}^{l}\beta_i h_i(w) L(w,α,β)=f(w)+∑i=1kαigi(w)+∑i=1lβihi(w)
α \alpha α和 β \beta β被称之为拉格朗日乘子。现在定义 θ P ( w ) = max α , β ; α i ≥ 0 L ( w , α , β ) \theta_{\mathcal {P}}(w)=\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\mathcal {L}(w,\alpha,\beta) θP(w)=α,β;αi≥0maxL(w,α,β)
现在假设 w w w给定那么,如果说 w w w违背了约束条件,例如 g i ( w ) > 0 g_i(w)>0 gi(w)>0或者 h i ( w )    ̸ = 0 h_i(w)\,\,\not=0 hi(w)̸=0,那么:
θ P ( w ) = max α , β ; α i ≥ 0 f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ i = 1 l β i h i ( w ) = ∞ \theta_{\mathcal {P}}(w)=\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}f(w)+\sum_{i=1}^{k}\alpha_i g_i(w)+\sum_{i=1}^{l}\beta_i h_i(w)=\infty θP(w)=α,β;αi≥0maxf(w)+∑i=1kαigi(w)+∑i=1lβihi(w)=∞
相反如果 w w w符合约束那么 θ P ( w ) = f ( w ) \theta_{\mathcal {P}}(w)=f(w) θP(w)=f(w),因此:
θ P ( w ) = { f ( w ) i f    w    s t a t i s f y    p r i m a l    c o n s t r a i n t s ∞ o t h e r w i s e \theta_{\mathcal {P}}(w)=\begin{cases}f(w) & if \,\,w\,\,statisfy\,\,primal\,\,constraints\\\infty&otherwise\end{cases} θP(w)={f(w)∞ifwstatisfyprimalconstraintsotherwise
如果说 w w w满足约束那么, θ P ( w ) \theta_{\mathcal {P}}(w) θP(w)等于原始目标函数,否则无穷大。
max w θ P ( w ) = min w max α , β ; α i ≥ 0 L ( w , α , β ) \mathop {\max }\limits_{w}\theta_{\mathcal {P}}(w)=\mathop {\min }\limits_{w}\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\mathcal {L}(w,\alpha,\beta) wmaxθP(w)=wminα,β;αi≥0maxL(w,α,β)
这个优化问题等于我们的原始优化问题,定义最优解为:
p
∗
=
min
w
P
(
w
)
\mathcal {p}^*=\mathop {\min }\limits_{w}\mathcal {P}(w)
p∗=wminP(w)
对偶问题
θ D ( α , β ) = min w L ( w , α , β ) \theta_{\mathcal{D}}(\alpha,\beta)=\mathop {\min }\limits_{w}\mathcal{L(w,\alpha,\beta)} θD(α,β)=wminL(w,α,β)
max α , β ; α i ≥ 0 θ D ( α , β ) = max α , β ; α i ≥ 0 min w L ( w , α , β ) \mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\theta_{\mathcal{D}}(\alpha,\beta)=\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\mathop {\min }\limits_{w}\mathcal{L(w,\alpha,\beta)} α,β;αi≥0maxθD(α,β)=α,β;αi≥0maxwminL(w,α,β)
上式最优解为 d ∗ = max α , β ; α i ≥ 0 θ D ( w ) d^*=\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\theta_{\mathcal{D}}(w) d∗=α,β;αi≥0maxθD(w)
p ∗ p^* p∗和 d ∗ d^* d∗的关系为:
d ∗ = max α , β ; α i ≥ 0 min w L ( w , α , β ) ≤ min w max α , β ; α i ≥ 0 L ( w , α , β ) = p ∗ d^*=\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\mathop {\min }\limits_{w}\mathcal{L(w,\alpha,\beta)}\le\mathop {\min }\limits_{w}\mathop {\max }\limits_{\alpha,\beta;\alpha_i\ge0}\mathcal {L}(w,\alpha,\beta)=p^* d∗=α,β;αi≥0maxwminL(w,α,β)≤wminα,β;αi≥0maxL(w,α,β)=p∗
max min ≤ min max \mathop {\max } \mathop {\min }\le\mathop {\min }\mathop {\max } maxmin≤minmax
举个例子:
max y ∈ { 0 , 1 } ( min x ∈ { 0 , 1 } 1 { x = y } ) ≤ min x ∈ { 0 , 1 } ( max y ∈ { 0 , 1 } 1 { x = y } ) \mathop {\max }\limits_{y\in\{0,1\}}(\mathop {\min }\limits_{x\in\{0,1\}}1\{x=y\})\le\mathop {\min }\limits_{x\in\{0,1\}}(\mathop {\max }\limits_{y\in\{0,1\}}1\{x=y\}) y∈{0,1}max(x∈{0,1}min1{x=y})≤x∈{0,1}min(y∈{0,1}max1{x=y})
KKT(Karush-Kuhn-Tucker)
在某些特定条件下原始问题和对偶问题的解相同,这些条件就是:
f ( w ) f(w) f(w)是一个一个凸函数, h i h_i hi是放射函数,并且 g i g_i gi是可行的,这意味着 ∃ w ,    s . t    ∀ i g i ( w ) < 0 \exists w,\,\,s.t \,\,\forall_i g_i(w)<0 ∃w,s.t∀igi(w)<0
f ( w ) f(w) f(w)是一个凸函数的判定依据可以为其 H e s s i a n Hessian Hessian矩阵是半正定的,放射函数的一般形式为 h i ( w ) = a i T w + b i h_i(w)=a_i^Tw+b_i hi(w)=aiTw+bi,和线性函数类似只是多了截距项 b i b_i bi
在上面这些假设下,必定存在 w ∗ , α ∗ , β ∗ w*,\alpha^*,\beta^* w∗,α∗,β∗其中 w ∗ w^* w∗为原始问题的解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗为对偶问题的解,且满足 d ∗ = p ∗ = L ( w ∗ , α ∗ , β ∗ ) d^*=p^*=\mathcal{L}(w^*,\alpha^{*},\beta^{*}) d∗=p∗=L(w∗,α∗,β∗)。 w ∗ , α ∗ , β ∗ w*,\alpha^*,\beta^* w∗,α∗,β∗满足KKT条件:
∂ ∂ w i L ( w ∗ , α ∗ , β ∗ ) = 0 , i = 1 , ⋯   , m \frac{\partial}{\partial w_i}\mathcal{L}(w^*,\alpha^{*},\beta^{*})=0,i=1,\cdots,m ∂wi∂L(w∗,α∗,β∗)=0,i=1,⋯,m
∂ ∂ β i L ( w ∗ , α ∗ , β ∗ ) = 0 , i = 1 , ⋯   , l \frac{\partial}{\partial \beta_i}\mathcal{L}(w^*,\alpha^{*},\beta^{*})=0,i=1,\cdots,l ∂βi∂L(w∗,α∗,β∗)=0,i=1,⋯,l
α i ∗ g i ( w ∗ ) = 0 , i = 1 , ⋯   , k \alpha_i^*g_i(w^*)=0,i=1,\cdots,k αi∗gi(w∗)=0,i=1,⋯,k
g i ( w ∗ ) ≤ 0 , i = 1 , ⋯   , k g_i(w^*)\le 0,i=1,\cdots,k gi(w∗)≤0,i=1,⋯,k
α i ∗ ≥ 0 , i = 1 , ⋯   , k \alpha_i^*\ge 0,i=1,\cdots,k αi∗≥0,i=1,⋯,k
其中 α i ∗ g i ( w ∗ ) = 0 , i = 1 , ⋯   , k \alpha_i^*g_i(w^*)=0,i=1,\cdots,k αi∗gi(w∗)=0,i=1,⋯,k这个式子叫做KKT 对偶完整性条件,它意味着如果 α i ∗ > 0 \alpha_{i}^{*}>0 αi∗>0那么 g i ( w ) = 0 g_i(w)=0 gi(w)=0,在这种情况下 g i g_i gi是一个激活约束。
最优间距分类器
在前面的优化问题中找出其最大间隔分类器:
min w , b ∣ ∣ w ∣ ∣ 2 s . t      y ( i ) ( w T x ( i ) + b ) ≥ 1 \mathop {\min }\limits_{w,b}||w||^{2}\\ s.t\,\,\,\,y^{(i)}(w^Tx^{(i)}+b)\ge1 w,bmin∣∣w∣∣2s.ty(i)(wTx(i)+b)≥1
这里我们将约束写为:
g i ( w , b ) = − y ( i ) ( w T x ( i ) + b ) + 1 ≤ 0 g_i(w,b)=-y^{(i)}(w^Tx^{(i)}+b)+1\le0 gi(w,b)=−y(i)(wTx(i)+b)+1≤0
根据KKT对偶完整性条件,如果 α i ∗ > 0 \alpha_{i}^{*}>0 αi∗>0,那么可以推导出函数间隔恰好为1,即 g i ( w ) = 0 g_i(w)=0 gi(w)=0
从上图可以看出距离中间实线最近的有三个点,这三个点的函数间隔正好为1,这也意味着只可能这三个样本对应的 α i ∗ \alpha_i^* αi∗不等于0。这三个点被称之为支持向量。在支持向量机的训练样本中并不会有特别多的支持向量。于 α i ∗ = 0 \alpha_i^*=0 αi∗=0对应的点称为非支持向量。
这个优化问题对应的拉格朗日函数为:
L ( w , α , β ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i [ − y ( i ) ( w T x ( i ) + b ) + 1 ] \mathcal{L}(w,\alpha,\beta)=\frac{1}{2}||w||^2+\sum_{i=1}^{m}\alpha_i[-y^{(i)}(w^Tx^{(i)}+b)+1] L(w,α,β)=21∣∣w∣∣2+∑i=1mαi[−y(i)(wTx(i)+b)+1]
由于在支持向量机的设定中只有不等式的约束,没有等式约束,下面看看其对应的对偶问题是什么:
θ D ( α ) = min w , b L ( w , b , α ) \theta_{\mathcal{D}}(\alpha)=\mathop {\min }\limits_{w,b}\mathcal{L}(w,b,\alpha) θD(α)=w,bminL(w,b,α)
对
L
(
w
,
b
,
α
)
\mathcal{L}(w,b,\alpha)
L(w,b,α)求导:
∇
w
L
(
w
,
b
,
α
)
=
w
−
∑
i
=
1
m
α
i
y
i
x
i
=
0
\nabla_{w}\mathcal{L}(w,b,\alpha)=w-\sum_{i=1}^{m}\alpha_iy^{i}x^{i}=0
∇wL(w,b,α)=w−∑i=1mαiyixi=0
得出:
w = ∑ i = 1 m α i y i x i w=\sum_{i=1}^{m}\alpha_iy^{i}x^{i} w=∑i=1mαiyixi
L ( w , b , α ) \mathcal{L}(w,b,\alpha) L(w,b,α)对 b b b求导:
∂ L ∂ b = ∑ i = 1 m α i y ( i ) = 0 \frac{\partial \mathcal{L}}{\partial b}=\sum_{i=1}^{m}\alpha_iy^{(i)}=0 ∂b∂L=∑i=1mαiy(i)=0
将其带入:
L ( w , b , α ) = 1 2 ( ∑ i = 1 m α i y i x i ) T ( ∑ i = j m α j y j x j ) − ⋯ = 1 2 ∑ i = 1 m ∑ j = 1 m y i y j α i α j < x ( i ) , x ( j ) > − ∑ i = 1 m ∑ j = 1 m y i y j α i α j < x ( i ) , x ( j ) > + ∑ i = 1 m α i = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m y i y j α i α j < x ( i ) , x ( j ) > − b ∑ i = 1 m α i y ( i ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m y i y j α i α j < x ( i ) , x ( j ) > \mathcal{L}(w,b,\alpha)=\frac{1}{2}(\sum_{i=1}^{m}\alpha_iy^{i}x^{i})^T(\sum_{i=j}^{m}\alpha_jy^{j}x^{j})-\cdots\\ =\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}y^{i}y^{j}\alpha_i\alpha_j<x^{(i)},x^{(j)}>-\sum_{i=1}^{m}\sum_{j=1}^{m}y^{i}y^{j}\alpha_i\alpha_j<x^{(i)},x^{(j)}>+\sum_{i=1}^{m}\alpha_i\\ =\sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}y^{i}y^{j}\alpha_i\alpha_j<x^{(i)},x^{(j)}>-b\sum_{i=1}^{m}\alpha_iy^{(i)}\\= \sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}y^{i}y^{j}\alpha_i\alpha_j<x^{(i)},x^{(j)}> L(w,b,α)=21(i=1∑mαiyixi)T(i=j∑mαjyjxj)−⋯=21i=1∑mj=1∑myiyjαiαj<x(i),x(j)>−i=1∑mj=1∑myiyjαiαj<x(i),x(j)>+i=1∑mαi=i=1∑mαi−21i=1∑mj=1∑myiyjαiαj<x(i),x(j)>−bi=1∑mαiy(i)=i=1∑mαi−21i=1∑mj=1∑myiyjαiαj<x(i),x(j)>
min a W ( α ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m y i y j α i α j x ( i ) T x ( j ) \mathop {\min }\limits_{a}W(\alpha)=\sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}y^{i}y^{j}\alpha_i\alpha_j x^{(i)T}x^{(j)} aminW(α)=∑i=1mαi−21∑i=1m∑j=1myiyjαiαjx(i)Tx(j)
s . t      α i ≥ 0 ,    i = 1 , ⋯   , m s.t \,\,\,\,\alpha_i\ge0,\,\,i=1,\cdots,m s.tαi≥0,i=1,⋯,m
∑ i = 1 m α i y ( i ) = 0 \sum_{i=1}^{m}\alpha_iy^{(i)}=0 ∑i=1mαiy(i)=0
如果 ∑ i = 1 m α i y ( i ) ≠ 0 \sum_{i=1}^{m}\alpha_iy^{(i)}\neq0 ∑i=1mαiy(i)̸=0,那么 θ D ( α ) = ∞ \theta_{\mathcal{D}}(\alpha)=\infty θD(α)=∞,对于 max α > 0 θ D ( α ) \mathop {\max }\limits_{\alpha>0}\theta_{\mathcal{D}}(\alpha) α>0maxθD(α)如果 ∑ i = 1 m α i y ( i ) = 0 \sum_{i=1}^{m}\alpha_iy^{(i)}=0 ∑i=1mαiy(i)=0,那么 D = W ( α ) \mathcal{D}=W(\alpha) D=W(α)
首先计算 α \alpha α,进而可以根据 w = ∑ i = 1 m α i y ( i ) x ( i ) w=\sum_{i=1}^{m}\alpha_iy^{(i)}x^{(i)} w=∑i=1mαiy(i)x(i)计算出 w w w,最后计算 b b b。
b = − max i , y ( i ) = − 1 w ∗ T x ( i ) + min i , y ( i ) = 1 w ∗ T x ( i ) 2 b=-\frac{\mathop {\max }\limits_{i,y^{(i)=-1}}w^{*T}x^{(i)}+\mathop {\min }\limits_{i,y^{(i)=1}}w^{*T}x^{(i)}}{2} b=−2i,y(i)=−1maxw∗Tx(i)+i,y(i)=1minw∗Tx(i)
对于 b b b的求解公式的直观理解就是,找到最差的正样本于负样本,根据它们的位置就知道分隔平面放在哪里了。
假设已经求出了 w , b w,b w,b,对于一个新的样本点预测其类别 h w , b ( x ) = g ( w T x + b ) h_{w,b}(x)=g(w^Tx+b) hw,b(x)=g(wTx+b),我们知道 w = ∑ i = 1 m α i y i x i w=\sum_{i=1}^{m}\alpha_iy^{i}x^{i} w=∑i=1mαiyixi,那么 w T x + b = ∑ i = 1 m α i y i < x i , x > + b w^Tx+b=\sum_{i=1}^{m}\alpha_iy^{i}<x^{i},x>+b wTx+b=∑i=1mαiyi<xi,x>+b,因为大多数样本点对应的 α \alpha α都是0,因此只有支持向量参与计算才有意义。
Kernels
对于特征维度很高甚至是无限维的话( x ( i ) ∈ R ∞ x^{(i)}\in R^{\infty} x(i)∈R∞),因此核方法 < x ( i ) , x ( j ) > <x^{(i)},x^{(j)}> <x(i),x(j)>是一种高效计算的方法。当然这中方法也只是针对一些特定的特征空间成立。