浙江大学《机器学习》MOOC课程笔记 支持向量机SVM(二)

    科技2023-09-17  98

    原问题(PRIME PROBLEM)和对偶问题(DUAL PROBLEM) [半懂不懂一知半解懵懵懂懂]

    拉格朗日乘子法

    Step.1原函数 假设有K个不等式,m个等式 Step.2定义拉格朗日函数 L ( w , α , β ) L(w,\alpha,\beta) L(w,α,β) 为每条约束条件添加拉格朗日乘子 α i ≥ 0 \alpha_i≥0 αi0

    Step.3对偶函数

    L ( w , α , β ) L(w,\alpha,\beta) L(w,α,β)遍历所有定义域上的 w w w,找到使 L ( w , α , β ) L(w,\alpha,\beta) L(w,α,β)最小的,同时将这个最小的函数值赋值给 θ ( α , β ) \theta(\alpha,\beta) θ(α,β)

    定理 1.定理一:对偶定理(DUALITY THEOREM)证明:

    引申:对偶差距(DUALITY GAP)

    2.定理二:强对偶定理(STRONG DUALITY THEOREM)

    转化为对偶问题

    将SVM的优化问题改造为原问题 为了让改进至目前的SVM的优化问题满足强对偶定理,而原问题中的 g i ( w ) ≤ 0 g_i(w)≤0 gi(w)0,故首先要将SVM的两个限制条件由 ≥ 0 ≥0 0进行改造

    此时原问题中的 而不等式 g i ( w ) ≤ 0 g_i(w)≤0 gi(w)0被分成了两部分

    由于问题中全为不等式,故不存在 h i ( w ) = 0 h _i(w)=0 hi(w)=0项。

    按照对偶问题的定义将对偶问题写成如下形式: 其中 α i , β i \alpha_i,\beta_i αi,βi分别是改造两个 g i ( w ) ≤ 0 g_i(w)≤0 gi(w)0条件的系数,类比于原问题中的拉格朗日乘子 α i \alpha_i αi

    如何将原问题化为对偶问题 由于要对 ( w , δ i , b ) (w, δ _i,b) (w,δi,b)分别遍历求最小值,所以对三个变量分别求导并令导数 = 0 =0 =0(由于 w w w为向量,故使用向量求导准则) 将求得的三个式子带入表达式中,可以将SVM的原问题转化为对偶问题:

    算法流程 [这个好难懂诶(#`O′)]

    1.如何求解上述对偶问题 2.基于对偶问题给出SVM算法的统一流程

    根据核函数的公式,只需要知道核函数的值,而无需知道具体的 ϕ ( x i ) , ϕ T ( x i ) \phi(x_i),\phi^T(x_i) ϕ(xi),ϕT(xi),带入公式求解出所有的 α i ( i = 1 \alpha_i(i=1 αi(i=1~ N ) N) N)后,可以根据求出 w w w 注意 由于 ϕ ( x i ) \phi(x_i) ϕ(xi)不知道是否具有显示表达式,所以 w w w也不知道是否具有显示表达式。

    如何求b 首先,

    其次,根据KKT条件,对所有的 i ( 1 i(1 i(1~ N ) N) N),可以得到两个 g i ( w ) g_i(w) gi(w)分式 = 0 =0 =0 { β i δ i = 0 → ( c − α i ) δ i = 0 α i [ 1 + δ i − y i w T ϕ ( X i ) − y i b ] = 0 \left\{ \begin{aligned} &\beta_iδ_i=0 → (c-\alpha_i)δ_i=0& \\ &\alpha_i[1+δ_i-y_iw^T\phi(X_i)-y_ib]=0& \\ \end{aligned} \right. {βiδi=0(cαi)δi=0αi[1+δiyiwTϕ(Xi)yib]=0 并且同时,如果对某个i, α i ≠ 0 \alpha_i≠0 αi=0 α i ≠ c \alpha_i≠c αi=c,则根据KKT条件,必有 { δ i = 0 1 + δ i − y i w T ϕ ( X i ) − y i b = 0 \left\{ \begin{aligned} &δ_i=0 & \\ &1+δ_i-y_iw^T\phi(X_i)-y_ib=0& \\ \end{aligned} \right. {δi=01+δiyiwTϕ(Xi)yib=0

    由于等式 1 + δ i − y i w T ϕ ( X i ) − y i b = 0 1+δ_i-y_iw^T\phi(X_i)-y_ib=0 1+δiyiwTϕ(Xi)yib=0中的项, y i w T ϕ ( X i ) = ∑ j = 1 N α i y i y j K ( X j , X i ) y_iw^T\phi(X_i)=\sum_{j=1}^N \alpha_iy_iy_jK(X_j,X_i) yiwTϕ(Xi)=j=1NαiyiyjK(Xj,Xi) 注意 如果 α i = 0 \alpha_i=0 αi=0,则该样本不会出现在公式的求和中出现,也就不会对 f ( x ) f(x) f(x)产生影响,如果 α i > 0 \alpha_i>0 αi0,则必有 y i f ( x i ) = 1 y_if(x_i)=1 yif(xi)=1,所对应的样本点位于最大间隔边界上,是一个支持向量。 所以只需要找到 0 < α i < c 0<\alpha_i<c 0<αi<c,那么 b b b的求解公式为:

    对于一个测试样本X,如何获得其预测的类别 1.“核函数戏法” 2.只通过核函数,也能求得SVM算法最终预测的类别 3.SVM训练和测试的流程(基于对偶问题的求解) a.训练过程 ①输入训练数据

    ②求 α i ( i = 1 \alpha_i(i=1 αi(i=1~ N ) N) N)

    ③求 b b b

    b.测试过程

    课后思考题

    浙江大学《机器学习》 mooc课程

    Processed: 0.015, SQL: 8