机器学习总结三:SVM原理推导与案例

机器学习算法总结

一、Bagging之决策树、随机森林原理与案例

二、boosting之GBDT、XGBT原理推导与案例

三、SVM原理推导与案例

四、逻辑回归与反欺诈检测案例

五、聚类之K-means


三、SVM

1. 原理推导(硬间隔)

1.1分类问题代数化

**svm原理一句话概括:找出一个最优的直线(或超平面)去隔离不同类别样本数据,达到分类目的。**

机器学习总结三:SVM原理推导与案例_第1张图片

                图1                                 图2

图1: 找出一条直线将样本完美地划分成两类(注意这样的直线有很多,称为决策边界)。

图2:最优的划分直线满足虚线(超平面)之间距离d最大(容错性高,直观体现支持向量(虚线上的点)的重要性)。

图1:设设x1,x2为决策边界上w^T*x+b=0的两个点,则:
w T ∗ X 1 + b = 0 w T ∗ X 2 + b = 0 w T ∗ ( X 1 − X 2 ) = 0 w ⃗ ⊥ ( X 1 ⃗ − X 2 ⃗ ) 即 垂 直 于 决 策 边 界 w^T*X_1+b=0\\w^T*X_2+b=0\\w^T*(X_1-X_2)=0\\\vec{w}\perp(\vec{X_1}-\vec{X_2})即垂直于决策边界 wTX1+b=0wTX2+b=0wT(X1X2)=0w (X1 X2 )
图2:将决策边界向上平移和向下平移k得到虚线超平面,则
w T ∗ X + b = k w T ∗ X + b = − k 等 式 两 边 除 以 k w T ∗ X + b = 1 w T ∗ X + b = 1 注 : 1 、 − 1 分 别 表 示 平 行 于 决 策 边 界 的 虚 线 到 决 策 边 界 的 相 对 距 离 , 不 是 具 体 距 离 w^T*X+b=k\\w^T*X+b=-k\\等式两边除以k\\w^T*X+b=1\\w^T*X+b=1\\注:1、-1分别表示平行于决策边界的虚线到决策边界的相对距离,不是具体距离 wTX+b=kwTX+b=kkwTX+b=1wTX+b=111线
**图2:**设Xp、Xn分别为正例和负例样本的支持向量,则:
w T ∗ X p + b = 1 w T ∗ X n + b = − 1 w T ∗ ( X p − X n ) = 2 d = ( X p − X n ) ∗ w ⃗ ∣ w ⃗ ∣ = 2 ∣ w ⃗ ∣ 因 为 一 个 向 量 ( X p − X n ) 点 乘 一 个 单 位 向 量 w ⃗ ∣ w ⃗ ∣ 等 于 在 单 位 向 量 上 的 投 影 w^T*X_p+b=1\\w^T*X_n+b=-1\\w^T*(X_p-X_n)=2\\d=(X_p-X_n)*\frac{\vec{w}}{|\vec{w}|}=\frac{2}{|\vec{w}|} \\因为一个向量(X_p-X_n)点乘一个单位向量\frac{\vec{w}}{|\vec{w}|}等于在单位向量上的投影 wTXp+b=1wTXn+b=1wT(XpXn)=2d=(XpXn)w w =w 2(XpXn)w w
为了最优的分类效果和容错性,需求解满足分类正确前提下距离d的最大值。
分 类 正 确 : f ( w , b ) = { w x i + b ≥ 1 , i f y i = 1 w x i + b ≤ − 1 , i f y i = − 1 x i 、 y i 真 实 样 本 特 征 和 标 签 简 化 表 示 : y i ( w x i + b ) ≥ 1 1 − y i ( w x i + b ) ≤ 0 分类正确:f(w,b) = \begin{cases} wx_i+b\geq1, & if y_i=1 \\ wx_i+b\leq-1, & if y_i=-1 \end{cases} \\x_i、y_i真实样本特征和标签\\ 简化表示:y_i(wx_i+b)\geq1\\1-y_i(wx_i+b)\leq0 f(w,b)={wxi+b1,wxi+b1,ifyi=1ifyi=1xiyiyi(wxi+b)11yi(wxi+b)0
求解最优决策边界代数化问题为:
d m a x = m i n 1 2 ∣ w ⃗ ∣ = m i n 1 2 w ⃗ 2 s . t : 1 − y i ( w x i + b ) ≤ 0 d_{max}=min\frac{1}{2}|\vec{w}|=min\frac{1}{2}\vec{w}^2\\ s.t:1-y_i(wx_i+b)\leq0 dmax=min21w =min21w 2s.t1yi(wxi+b)0

1.2 带有约束的凸优化最优解问题

最优决策边界的代数化表示是一个带有约束的凸优化最优解问题,使用拉格朗日因子法求解(专门求解带约束的最优化问题的方法)。

原始问题对应拉格朗日函数为:
L ( w , b , λ ) = 1 2 w T ∗ w + ∑ i = 0 n λ i [ 1 − y i ( w T ∗ x i + b ) ] λ ≥ 0 L(w,b,\lambda)=\frac{1}{2}w^T*w+\sum_{i=0}^n\lambda_i[1-y_i(w^T*x_i+b)]\\\lambda\geq0 L(w,b,λ)=21wTw+i=0nλi[1yi(wTxi+b)]λ0
且有:
原 始 问 题 : m i n 1 2 w ⃗ 2 = = = m i n w , b m a x λ L ( w , b , λ ) ( λ ≥ 0 ) 原始问题:min\frac{1}{2}\vec{w}^2===min_{w,b}max_\lambda L(w,b,\lambda)(\lambda\geq0) min21w 2===minw,bmaxλL(w,b,λ)(λ0)
证明:
∵ m a x λ L ( w , b , λ ) = { + ∞ , i f 约 束 不 满 足 时 即 1 − y i ( w t ∗ x i + b ) > 0 1 2 w T ∗ w , i f 约 束 满 足 时 即 1 − y i ( w t ∗ x i + b ) ≤ 0 ∴ m i n w , b m a x λ L ( w , b , λ ) = m i n w , b { + ∞ , 1 2 w T ∗ w } = m i n 1 2 w T ∗ w 且 约 束 条 件 满 足 \because max_\lambda L(w,b,\lambda) = \begin{cases} +\infty, & if 约束不满足时即1-y_i(w_t*x_i+b)>0 \\ \frac{1}{2}w^T*w, & if 约束满足时即1-y_i(w_t*x_i+b)\leq0 \end{cases}\\ \therefore min_{w,b}max_\lambda L(w,b,\lambda)=min_{w,b}\{+\infty,\frac{1}{2}w^T*w\}=min\frac{1}{2}w^T*w且约束条件满足 maxλL(w,b,λ)={+,21wTw,if1yi(wtxi+b)>0if1yi(wtxi+b)0minw,bmaxλL(w,b,λ)=minw,b{+,21wTw}=min21wTw
所以:原始问题可以表示为:
求 解 极 小 极 大 值 问 题 : m i n w , b m a x λ L ( w , b , λ ) ( λ ≥ 0 ) 求解极小极大值问题:min_{w,b}max_\lambda L(w,b,\lambda)(\lambda\geq0) minw,bmaxλL(w,b,λ)(λ0)

1.3 对偶问题

极小极大值转化为对偶问题再求解

好处:

  1. 改变算法复杂度. 对偶问题往往更容易求解.(原始问题求解与特征维度相关,对偶问题计算量与样本量相关)

  2. 转化为对偶问题得到内积的形式, 引入核函数, 进而推广到非线性分类问题.

原始问题对应的对偶问题
求 解 极 大 极 小 值 问 题 : m a x λ m i n w , b L ( w , b , λ ) ( λ ≥ 0 ) 求解极大极小值问题:max_\lambda min_{w,b}L(w,b,\lambda)(\lambda\geq0) maxλminw,bL(w,b,λ)(λ0)
原始问题与对偶问题之间关系:原始问题>=对偶问题

证明:
m a x λ L ( w , b , λ ) ≥ L ( w , b , λ ) ≥ m i n w , b L ( w , b , λ ) 设 P = m a x λ L ( w , b , λ ) ; Q = m i n w , b L ( w , b , λ ) P ≥ Q 恒 成 立 m i n w , b P ≥ m a x λ Q 即 : m i n w , b m a x λ L ( w , b , λ ) ( λ ≥ 0 ) ≥ m a x λ m i n w , b L ( w , b , λ ) ( λ ≥ 0 ) max_\lambda L(w,b,\lambda)\geq L(w,b,\lambda)\geq min_{w,b} L(w,b,\lambda)\\ 设P=max_\lambda L(w,b,\lambda);Q=min_{w,b} L(w,b,\lambda)\\P\geq Q恒成立\\ min_{w,b}P\geq max_\lambda Q\\即:min_{w,b}max_\lambda L(w,b,\lambda)(\lambda\geq0)\geq max_\lambda min_{w,b}L(w,b,\lambda)(\lambda\geq0) maxλL(w,b,λ)L(w,b,λ)minw,bL(w,b,λ)P=maxλL(w,b,λ);Q=minw,bL(w,b,λ)PQminw,bPmaxλQminw,bmaxλL(w,b,λ)(λ0)maxλminw,bL(w,b,λ)(λ0)
当原问题为凸优化问题,约束条件线性,满足KKT条件时:原始问题===对偶问题(具体深入了解百度拉格朗日对偶问题,最好先学习拉格朗日因子法,对偶函数,再学习SVM,才能完全理解)

1.4 求解对偶问题

1. 先 求 m i n w , b L ( w , b , λ ) L ( w , b , λ ) = 1 2 w T ∗ w + ∑ i = 0 n λ i [ 1 − y i ( w T ∗ x i + b ) ] ( λ ≥ 0 ) L ( w , b , λ ) = 1 2 w T ∗ w + ∑ i = 0 n λ i [ 1 − y i ( w T ∗ x i + b ) ] = 1 2 w T ∗ w + ∑ i = 0 n λ i − ∑ i = 0 n λ i y i x i w t − ∑ i = 0 n λ i y i b δ L ( w , b , λ ) δ w = w − ∑ i = 0 n λ i x i y i = 0 − − > w = ∑ i = 0 n λ i x i y i δ L ( w , b , λ ) δ b = − ∑ i = 0 n λ i y i = 0 带 入 w 、 b 一 阶 导 m i n w , b L ( w , b , λ ) = − 1 2 w T ∗ w + ∑ i = 0 n λ i = − 1 2 w T ∗ w + ∑ i = 0 n λ i = − 1 2 ∑ i = 0 n ∑ j = 0 n λ i λ j y i y j x i x j + ∑ i = 0 n λ i \begin{array}{l} 1.先求 min_{w,b} L(w,b,\lambda)\\L(w,b,\lambda)=\frac{1}{2}w^T*w+\sum_{i=0}^n\lambda_i[1-y_i(w^T*x_i+b)](\lambda\geq0)\\L(w,b,\lambda)=\frac{1}{2}w^T*w+\sum_{i=0}^n\lambda_i[1-y_i(w^T*x_i+b)]=\frac{1}{2}w^T*w+\sum_{i=0}^n\lambda_i-\sum_{i=0}^n\lambda_iy_ix_iw^t-\sum_{i=0}^n\lambda_iy_ib\\ \frac{\delta L(w,b,\lambda)}{\delta w}=w-\sum_{i=0}^n\lambda_ix_iy_i=0-->w=\sum_{i=0}^n\lambda_ix_iy_i\\ \frac{\delta L(w,b,\lambda)}{\delta b}=-\sum_{i=0}^n\lambda_iy_i=0\\带入w、b一阶导\\min_{w,b} L(w,b,\lambda)=-\frac{1}{2}w^T*w+\sum_{i=0}^n\lambda_i=-\frac{1}{2}w^T*w+\sum_{i=0}^n\lambda_i=-\frac{1}{2}\sum_{i=0}^n\sum_{j=0}^n\lambda_i\lambda_j y_iy_jx_ix_j+\sum_{i=0}^n\lambda_i \end{array} 1.minw,bL(w,b,λ)L(w,b,λ)=21wTw+i=0nλi[1yi(wTxi+b)]λ0L(w,b,λ)=21wTw+i=0nλi[1yi(wTxi+b)]=21wTw+i=0nλii=0nλiyixiwti=0nλiyibδwδL(w,b,λ)=wi=0nλixiyi=0>w=i=0nλixiyiδbδL(w,b,λ)=i=0nλiyi=0wbminw,bL(w,b,λ)=21wTw+i=0nλi=21wTw+i=0nλi=21i=0nj=0nλiλjyiyjxixj+i=0nλi

2. 再 求 m a x λ m i n w , b L ( w , b , λ ) m a x λ L ( λ ) = − 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i ⃗ x j ⃗ + ∑ i = 1 n λ i \begin{array}{l}\hspace{100cm}\\ 2. 再求max_\lambda min_{w,b} L(w,b,\lambda)\\ \begin{matrix}max \\\lambda\end{matrix} L(\lambda)=-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j\vec{x_i}\vec{x_j}+\sum_{i=1}^n\lambda_i \end{array} 2.maxλminw,bL(w,b,λ)maxλL(λ)=21i=1nj=1nλiλjyiyjxi xj +i=1nλi

重要结论1:w、b结果与λ相关,λ结果与样本特征内积相关*

1.5 smo(Sequential minimal optimization)快速求解λ

λi的个数与样本量相关,样本量大时,计算量很大,采用计算更快的smo算法。
S M O 是 一 种 解 决 此 类 支 持 向 量 机 优 化 问 题 的 迭 代 算 法 。 由 于 目 标 函 数 为 凸 函 数 , 一 般 的 优 化 算 法 都 通 过 梯 度 方 法 一 次 优 化 一 个 变 量 求 解 二 次 规 划 问 题 的 最 大 值 , 但 是 , 对 于 以 上 问 题 , 由 于 限 制 条 件 − ∑ i = 0 n λ i y i = 0 存 在 , 当 某 个 λ 从 λ o l d 更 新 到 λ n e w 时 , 上 述 限 制 条 件 即 被 打 破 。 为 了 克 服 以 上 的 困 难 , S M O 采 用 一 次 更 新 两 个 变 量 的 方 法 。 最 后 根 据 λ 求 出 w 、 b 。 \begin{array}{l} SMO是一种解决此类支持向量机优化问题的迭代算法。由于目标函数为凸函数,\\ 一般的优化算法都通过梯度方法一次优化一个变量求解二次规划问题的最大值,\\ 但是,对于以上问题,由于限制条件 -\sum_{i=0}^n\lambda_iy_i=0存在,\\ 当某个\lambda从 λ^{old}更新到λ^{new}时,上述限制条件即被打破。\\ 为了克服以上的困难,SMO采用一次更新两个变量的方法。最后根据λ求出w、b。 \end{array} SMOi=0nλiyi=0λλoldλnewSMOλwb
5.1 关于λ的最大化问题,转化为最小化问题
m a x λ L ( λ ) = − 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i ⃗ x j ⃗ + ∑ i = 1 n λ i m i n λ L ( λ ) = 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i ⃗ x j ⃗ − ∑ i = 1 n λ i 已 知 条 件 : λ ≥ 0 ; w = ∑ i = 1 n λ i y i x i ( 上 一 步 对 w 求 导 所 得 ) ; ∑ i = 1 n λ i y i = 0 ( 上 一 步 对 b 求 导 所 得 ) \begin{array}{l}\hspace{100cm}\\ max_\lambda L(\lambda)=-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j\vec{x_i}\vec{x_j}+\sum_{i=1}^n\lambda_i \\ min_\lambda L(\lambda)=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j\vec{x_i}\vec{x_j}-\sum_{i=1}^n\lambda_i\\ 已知条件:\lambda\geq0;\\ w=\sum_{i=1}^n\lambda_iy_ix_i(上一步对w求导所得);\sum_{i=1}^n\lambda_iy_i=0(上一步对b求导所得) \end{array} maxλL(λ)=21i=1nj=1nλiλjyiyjxi xj +i=1nλiminλL(λ)=21i=1nj=1nλiλjyiyjxi xj i=1nλiλ0w=i=1nλiyixiw;i=1nλiyi=0b
5.2 设λ1、λ2为变量,其他λ为定值,则:
∵ ∑ i = 1 n λ i y i = 0 ∴ λ 1 y 1 + λ 2 y 2 + ∑ i = 3 n λ i y i = 0 设 ∑ i = 3 n = − C , 则 λ 1 y 1 + λ 2 y 2 = C ( C 为 常 数 ) ∴ λ 1 = ( C − λ 2 y 2 ) y 1 ( 公 式 3 下 面 会 使 用 ) 注 意 y i ∈ [ 1 , − 1 ] , y i 2 = 1 , 消 去 y 1 时 , 要 等 式 两 边 乘 以 y 1 , 不 要 除 \begin{array}{l}\hspace{100cm}\\ \because \sum_{i=1}^n\lambda_iy_i=0\\ \therefore\lambda_1y_1+\lambda_2y_2+\sum_{i=3}^n\lambda_iy_i=0\\ 设\sum_{i=3}^n=-C,则\lambda_1y_1+\lambda_2y_2=C(C为常数)\\ \therefore \lambda_1=(C-\lambda_2y_2)y_1(公式3下面会使用)\\ 注意y_i\in[1,-1],y_i^2=1,消去y_1时,要等式两边乘以y_1,不要除 \end{array} i=1nλiyi=0λ1y1+λ2y2+i=3nλiyi=0i=3n=C,λ1y1+λ2y2=C(C)λ1=(Cλ2y2)y1(3使)yi[1,1],yi2=1,y1y1

决 策 函 数 : f ( x i ) = w T x i + b ∵ w = ∑ i = 1 n λ i y i x i ∴ f ( x 1 ) = ∑ i = 1 n λ i y i x i T ∗ x 1 + b = λ 1 y 1 x 1 T ∗ x 1 + λ 2 y 2 x 2 T ∗ x 1 + ∑ i = 3 n λ i y i x i T ∗ x 1 + b ∴ f ( x 2 ) = ∑ i = 1 n λ i y i x i T ∗ x 2 + b = λ 1 y 1 x 1 T ∗ x 2 + λ 2 y 2 x 2 T ∗ x 2 + ∑ i = 3 n λ i y i x i T ∗ x 2 + b ∑ i = 3 n λ i y i x i ⃗ . x 1 ⃗ = f ( x 1 ) − λ 1 y 1 x 1 ⃗ . x 1 ⃗ − λ 2 y 2 x 2 ⃗ . x 1 ⃗ − b ( 公 式 1 下 面 会 使 用 ) ∑ i = 3 n λ i y i x i ⃗ . x 2 ⃗ = f ( x 2 ) − λ 1 y 1 x 1 ⃗ . x 2 ⃗ − λ 2 y 2 x 2 ⃗ . x 2 ⃗ − b ( 公 式 2 下 面 会 使 用 ) \begin{array}{l}\hspace{100cm}\\ 决策函数:f(x_i)=w^Tx_i+b\\ \because w=\sum_{i=1}^n\lambda_iy_ix_i\\ \therefore f(x_1)=\sum_{i=1}^n\lambda_iy_ix_i^T*x_1+b=\lambda_1y_1x_1^T*x_1+\lambda_2y_2x_2^T*x_1+\sum_{i=3}^n\lambda_iy_ix_i^T*x_1+b\\ \therefore f(x_2)=\sum_{i=1}^n\lambda_iy_ix_i^T*x_2+b=\lambda_1y_1x_1^T*x_2+\lambda_2y_2x_2^T*x_2+\sum_{i=3}^n\lambda_iy_ix_i^T*x_2+b\\ \sum_{i=3}^n\lambda_iy_i\vec{x_i}.\vec{x_1}=f(x_1)-\lambda_1y_1\vec{x_1}.\vec{x_1}-\lambda_2y_2\vec{x_2}.\vec{x_1}-b(公式1下面会使用)\\ \sum_{i=3}^n\lambda_iy_i\vec{x_i}.\vec{x_2}=f(x_2)-\lambda_1y_1\vec{x_1}.\vec{x_2}-\lambda_2y_2\vec{x_2}.\vec{x_2}-b(公式2下面会使用) \end{array} f(xi)=wTxi+bw=i=1nλiyixif(x1)=i=1nλiyixiTx1+b=λ1y1x1Tx1+λ2y2x2Tx1+i=3nλiyixiTx1+bf(x2)=i=1nλiyixiTx2+b=λ1y1x1Tx2+λ2y2x2Tx2+i=3nλiyixiTx2+bi=3nλiyixi .x1 =f(x1)λ1y1x1 .x1 λ2y2x2 .x1 b(1使)i=3nλiyixi .x2 =f(x2)λ1y1x1 .x2 λ2y2x2 .x2 b(2使)

5.3 提取λ1、λ2进行求解
1. 化 简 求 λ 的 代 数 式 m i n λ L ( λ ) = 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i ⃗ x j ⃗ − ∑ i = 1 n λ i m i n λ L ( λ 1 , λ 2 ) = 1 2 λ 1 λ 1 y 1 y 1 x 1 ⃗ x 1 ⃗ + 1 2 λ 1 λ 2 y 1 y 2 x 1 ⃗ x 2 ⃗ + 1 2 ∑ j = 3 n λ 1 λ j y 1 y j x 1 ⃗ x j ⃗ + 1 2 λ 2 λ 1 y 2 y 1 x 2 ⃗ x 1 ⃗ + 1 2 λ 2 λ 2 y 2 y 2 x 2 ⃗ x 2 ⃗ + 1 2 ∑ j = 3 n λ 2 λ j y 2 y j x 2 ⃗ x j ⃗ + 1 2 ∑ i = 3 n λ i λ 1 y i y 1 x i ⃗ x 1 ⃗ + 1 2 ∑ i = 3 n λ i λ 2 y i y 2 x i ⃗ x 2 ⃗ + 1 2 ∑ i = 3 n ∑ j = 3 n λ i λ j y i y j k i j − λ 1 − λ 2 − ∑ i = 3 n λ i 1.1 设 x i ⃗ x j ⃗ = k i j m i n λ L ( λ 1 , λ 2 ) = 1 2 λ 1 2 k 11 + 1 2 λ 1 λ 2 y 1 y 2 k 12 + 1 2 ∑ j = 3 n λ 1 λ j y 1 y j k 1 j + 1 2 λ 2 λ 1 y 2 y 1 k 21 + 1 2 λ 2 2 k 22 + 1 2 ∑ j = 3 n λ 2 λ j y 2 y j k 2 j + 1 2 ∑ i = 3 n λ i λ 1 y i y 1 k i 1 + 1 2 ∑ i = 3 n λ i λ 2 y i y 2 k i 2 + 1 2 ∑ i = 3 n ∑ j = 3 n λ i λ j y i y j k i j − λ 1 − λ 2 − ∑ i = 3 n λ i 1.2 删 除 常 量 , 合 并 相 等 项 m i n λ L ( λ 1 , λ 2 ) = 1 2 λ 1 2 k 11 + 2 ∗ 1 2 λ 1 λ 2 y 1 y 2 k 12 + 1 2 λ 2 2 k 22 + 2 ∗ 1 2 ∑ i = 3 n λ i λ 1 y i y 1 k i 1 + 2 ∗ 1 2 ∑ i = 3 n λ i λ 2 y i y 2 k i 2 − λ 1 − λ 2 m i n λ L ( λ 1 , λ 2 ) = 1 2 λ 1 2 k 11 + λ 1 λ 2 y 1 y 2 k 12 + 1 2 λ 2 2 k 22 + λ 1 y 1 ∑ i = 3 n λ i y i k i 1 + λ 2 y 2 ∑ i = 3 n λ i y i k i 2 − λ 1 − λ 2 2. 带 入 公 式 3 m i n λ L ( λ 2 ) = 1 2 ( C − λ 2 y 2 ) 2 k 11 + ( C − λ 2 y 2 ) λ 2 y 2 k 12 + 1 2 λ 2 2 k 22 + ( C − λ 2 y 2 ) ∑ i = 3 n λ i y i k i 1 + λ 2 y 2 ∑ i = 3 n λ i y i k i 2 − ( C − λ 2 y 2 ) y 1 − λ 2 δ ′ L ( λ 2 ) δ λ 2 = − C y 2 k 11 + k 11 λ 2 + C y 2 k 12 − 2 k 12 λ 2 + k 22 λ 2 − y 2 ∑ i = 3 n λ i y i k i 1 + y 2 ∑ i = 3 n λ i y i k i 2 + y 1 y 2 − 1 = 0 k 11 λ 2 − 2 k 12 λ 2 + k 22 λ 2 = 1 + C y 2 k 11 − C y 2 k 12 + y 2 ∑ i = 3 n λ i y i k i 1 − y 2 ∑ i = 3 n λ i y i k i 2 − y 1 y 2 ( k 11 − 2 k 12 + k 22 ) λ 2 = y 2 ( y 2 + C k 11 − C k 12 + ∑ i = 3 n λ i y i k i 1 − ∑ i = 3 n λ i y i k i 2 − y 1 ) ( 其 中 : 1 ⇒ y 2 y 2 ) 3. 代 入 公 式 1 、 公 式 2 ∑ i = 3 n λ i y i k i 1 − ∑ i = 3 n λ i y i k i 2 = ( f ( x 1 ) − λ 1 o l d y 1 x 1 ⃗ . x 1 ⃗ − λ 2 o l d y 2 x 2 ⃗ . x 1 ⃗ − b ) − ( f ( x 2 ) − λ 1 o l d y 1 x 1 ⃗ . x 2 ⃗ − λ 2 o l d y 2 x 2 ⃗ . x 2 ⃗ − b ) = f ( x 1 ) − λ 1 o l d y 1 k 11 − λ 2 o l d y 2 k 21 − f ( x 2 ) + λ 1 o l d y 1 k 12 + λ 2 o l d y 2 k 22 λ 1 o l d y 1 + λ 2 o l d y 2 = C ( k 11 − 2 k 12 + k 22 ) λ 2 n e w = y 2 ( y 2 + ( λ 1 o l d y 1 + λ 2 o l d y 2 ) k 11 − ( λ 1 o l d y 1 + λ 2 o l d y 2 ) k 12 + f ( x 1 ) − λ 1 o l d y 1 k 11 − λ 2 o l d y 2 k 21 − f ( x 2 ) + λ 1 o l d y 1 k 12 + λ 2 o l d y 2 k 22 − y 1 ) λ 2 n e w = y 2 [ y 2 − f ( x 2 ) − ( y 1 − f ( x 1 ) ) + λ 2 o l d y 2 ( k 11 − 2 k 12 + k 22 ) ] k 11 − 2 K 12 + k 22 = λ 2 o l d + y 2 [ y 2 − f ( x 2 ) − ( y 1 − f ( x 1 ) ] k 11 − 2 K 12 + k 22 λ 2 n e w = λ 2 o l d + y 2 ( E 2 − E 1 ) k 11 − 2 K 12 + k 22 ( E 1 、 E 2 真 实 标 签 与 决 策 函 数 结 果 之 差 ) \begin{array}{l}\hspace{100cm}\\ 1.化简求\lambda的代数式\\ \begin{matrix}min \\\lambda\end{matrix} L(\lambda)=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j\vec{x_i}\vec{x_j}-\sum_{i=1}^n\lambda_i\\ \begin{matrix}min \\\lambda\end{matrix} L(\lambda_1,\lambda_2)=\frac{1}{2}\lambda_1\lambda_1y_1y_1\vec{x_1}\vec{x_1}+\frac{1}{2}\lambda_1\lambda_2y_1y_2\vec{x_1}\vec{x_2}+\frac{1}{2}\sum_{j=3}^n\lambda_1\lambda_jy_1y_j\vec{x_1}\vec{x_j}+ \frac{1}{2}\lambda_2\lambda_1y_2y_1\vec{x_2}\vec{x_1}+\frac{1}{2}\lambda_2\lambda_2y_2y_2\vec{x_2}\vec{x_2}+\frac{1}{2}\sum_{j=3}^n\lambda_2\lambda_jy_2y_j\vec{x_2}\vec{x_j}+\frac{1}{2}\sum_{i=3}^n\lambda_i\lambda_1y_iy_1\vec{x_i}\vec{x_1}+\frac{1}{2}\sum_{i=3}^n\lambda_i\lambda_2y_iy_2\vec{x_i}\vec{x_2}+\frac{1}{2}\sum_{i=3}^n\sum_{j=3}^n\lambda_i\lambda_jy_iy_jk_{ij} -\lambda_1-\lambda_2-\sum_{i=3}^n\lambda_i\\ \\ 1.1 设\vec{x_i}\vec{x_j}=k_{ij}\\ \begin{matrix}min \\\lambda\end{matrix} L(\lambda_1,\lambda_2)=\frac{1}{2}\lambda_1^2k_{11}+\frac{1}{2}\lambda_1\lambda_2y_1y_2k_{12}+\frac{1}{2}\sum_{j=3}^n\lambda_1\lambda_jy_1y_jk_{1j}+\frac{1}{2}\lambda_2\lambda_1y_2y_1k_{21}+\frac{1}{2}\lambda_2^2k_{22}+\frac{1}{2}\sum_{j=3}^n\lambda_2\lambda_jy_2y_jk_{2j}+\frac{1}{2}\sum_{i=3}^n\lambda_i\lambda_1y_iy_1k_{i1}+\frac{1}{2}\sum_{i=3}^n\lambda_i\lambda_2y_iy_2k_{i2}+\frac{1}{2}\sum_{i=3}^n\sum_{j=3}^n\lambda_i\lambda_jy_iy_jk_{ij} -\lambda_1-\lambda_2-\sum_{i=3}^n\lambda_i\\ \\ 1.2 删除常量,合并相等项\\ \begin{matrix}min \\\lambda\end{matrix} L(\lambda_1,\lambda_2)=\frac{1}{2}\lambda_1^2k_{11}+2*\frac{1}{2}\lambda_1\lambda_2y_1y_2k_{12}+\frac{1}{2}\lambda_2^2k_{22}+2*\frac{1}{2}\sum_{i=3}^n\lambda_i\lambda_1y_iy_1k_{i1}+2*\frac{1}{2}\sum_{i=3}^n\lambda_i\lambda_2y_iy_2k_{i2} -\lambda_1-\lambda_2\\ \begin{matrix}min \\\lambda\end{matrix} L(\lambda_1,\lambda_2)=\frac{1}{2}\lambda_1^2k_{11}+\lambda_1\lambda_2y_1y_2k_{12}+\frac{1}{2}\lambda_2^2k_{22}+\lambda_1y_1\sum_{i=3}^n\lambda_iy_ik_{i1}+\lambda_2y_2\sum_{i=3}^n\lambda_iy_ik_{i2} -\lambda_1-\lambda_2\\ \\ 2.带入公式3\\ \begin{matrix}min \\\lambda\end{matrix} L(\lambda_2)=\frac{1}{2}(C-\lambda_2y_2)^2k_{11}+(C-\lambda_2y_2)\lambda_2y_2k_{12}+\frac{1}{2}\lambda_2^2k_{22}+(C-\lambda_2y_2)\sum_{i=3}^n\lambda_iy_ik_{i1}+\lambda_2y_2\sum_{i=3}^n\lambda_iy_ik_{i2} -(C-\lambda_2y_2)y_1-\lambda_2\\ \frac{\delta'L(\lambda_2)}{\delta \lambda_2}=-Cy_2k_{11}+k_{11}\lambda_2+Cy_2k_{12}-2k_{12}\lambda_2+k_{22}\lambda_2-y_2\sum_{i=3}^n\lambda_iy_ik_{i1}+y_2\sum_{i=3}^n\lambda_iy_ik_{i2}+y_1y_2-1=0\\ k_{11}\lambda_2-2k_{12}\lambda_2+k_{22}\lambda_2=1+Cy_2k_{11}-Cy_2k_{12}+y_2\sum_{i=3}^n\lambda_iy_ik_{i1}-y_2\sum_{i=3}^n\lambda_iy_ik_{i2}-y_1y_2\\ (k_{11}-2k_{12}+k_{22})\lambda_2=y_2(y_2+Ck_{11}-Ck_{12}+\sum_{i=3}^n\lambda_iy_ik_{i1}-\sum_{i=3}^n\lambda_iy_ik_{i2}-y_1)(其中:1\Rightarrow y_2y_2)\\ \\ 3.代入公式1、公式2\\ \sum_{i=3}^n\lambda_iy_ik_{i1}-\sum_{i=3}^n\lambda_iy_ik_{i2}=(f(x_1)-\lambda_1^{old}y_1\vec{x_1}.\vec{x_1}-\lambda_2^{old}y_2\vec{x_2}.\vec{x_1}-b)-(f(x_2)-\lambda_1^{old}y_1\vec{x_1}.\vec{x_2}-\lambda_2^{old}y_2\vec{x_2}.\vec{x_2}-b)=f(x_1)-\lambda_1^{old}y_1k_{11}-\lambda_2^{old}y_2k_{21}-f(x_2)+\lambda_1^{old}y_1k_{12}+\lambda_2^{old}y_2k_{22}\\ \lambda_1^{old}y_1+\lambda_2^{old}y_2=C\\ (k_{11}-2k_{12}+k_{22})\lambda_2^{new}=y_2(y_2+(\lambda_1^{old}y_1+\lambda_2^{old}y_2)k_{11}-(\lambda_1^{old}y_1+\lambda_2^{old}y_2)k_{12}+f(x_1)-\lambda_1^{old}y_1k_{11}-\lambda_2^{old}y_2k_{21}-f(x_2)+\lambda_1^{old}y_1k_{12}+\lambda_2^{old}y_2k_{22}-y_1)\\ \lambda_2^{new}=\frac{y_2[y_2-f(x_2)-(y_1-f(x_1))+\lambda_2^{old}y_2(k_{11}-2k_{12}+k_{22})]}{k_{11}-2K_{12}+k_{22}}=\lambda_2^{old}+\frac{y_2[y2-f(x_2)-(y_1-f(x_1)]}{k_{11}-2K_{12}+k_{22}}\\\\ \lambda_2^{new}=\lambda_2^{old}+\frac{y_2(E_2-E_1)}{k_{11}-2K_{12}+k_{22}} (E_1、E_2真实标签与决策函数结果之差) \end{array} 1.λminλL(λ)=21i=1nj=1nλiλjyiyjxi xj i=1nλiminλL(λ1,λ2)=21λ1λ1y1y1x1 x1 +21λ1λ2y1y2x1 x2 +21j=3nλ1λjy1yjx1 xj +21λ2λ1y2y1x2 x1 +21λ2λ2y2y2x2 x2 +21j=3nλ2λjy2yjx2 xj +21i=3nλiλ1yiy1xi x1 +21i=3nλiλ2yiy2xi x2 +21i=3nj=3nλiλjyiyjkijλ1λ2i=3nλi1.1xi xj =kijminλL(λ1,λ2)=21λ12k11+21λ1λ2y1y2k12+21j=3nλ1λjy1yjk1j+21λ2λ1y2y1k21+21λ22k22+21j=3nλ2λjy2yjk2j+21i=3nλiλ1yiy1ki1+21i=3nλiλ2yiy2ki2+21i=3nj=3nλiλjyiyjkijλ1λ2i=3nλi1.2minλL(λ1,λ2)=21λ12k11+221λ1λ2y1y2k12+21λ22k22+221i=3nλiλ1yiy1ki1+221i=3nλiλ2yiy2ki2λ1λ2minλL(λ1,λ2)=21λ12k11+λ1λ2y1y2k12+21λ22k22+λ1y1i=3nλiyiki1+λ2y2i=3nλiyiki2λ1λ22.3minλL(λ2)=21(Cλ2y2)2k11+(Cλ2y2)λ2y2k12+21λ22k22+(Cλ2y2)i=3nλiyiki1+λ2y2i=3nλiyiki2(Cλ2y2)y1λ2δλ2δL(λ2)=Cy2k11+k11λ2+Cy2k122k12λ2+k22λ2y2i=3nλiyiki1+y2i=3nλiyiki2+y1y21=0k11λ22k12λ2+k22λ2=1+Cy2k11Cy2k12+y2i=3nλiyiki1y2i=3nλiyiki2y1y2(k112k12+k22)λ2=y2(y2+Ck11Ck12+i=3nλiyiki1i=3nλiyiki2y1)(1y2y2)3.12i=3nλiyiki1i=3nλiyiki2=(f(x1)λ1oldy1x1 .x1 λ2oldy2x2 .x1 b)(f(x2)λ1oldy1x1 .x2 λ2oldy2x2 .x2 b)=f(x1)λ1oldy1k11λ2oldy2k21f(x2)+λ1oldy1k12+λ2oldy2k22λ1oldy1+λ2oldy2=C(k112k12+k22)λ2new=y2(y2+(λ1oldy1+λ2oldy2)k11(λ1oldy1+λ2oldy2)k12+f(x1)λ1oldy1k11λ2oldy2k21f(x2)+λ1oldy1k12+λ2oldy2k22y1)λ2new=k112K12+k22y2[y2f(x2)(y1f(x1))+λ2oldy2(k112k12+k22)]=λ2old+k112K12+k22y2[y2f(x2)(y1f(x1)]λ2new=λ2old+k112K12+k22y2(E2E1)E1E2

重要结论2:


λ 2 n e w = λ 2 o l d + y 2 ( E 2 − E 1 ) k 11 − 2 K 12 + k 22 λ i 更 新 只 与 真 实 标 签 y i 、 真 实 标 签 y i 与 预 测 值 f ( x i ) 差 值 和 样 本 x i x j 内 积 相 关 \lambda_2^{new}=\lambda_2^{old}+\frac{y_2(E_2-E_1)}{k_{11}-2K_{12}+k_{22}}\\ \lambda_i更新只与真实标签y_i、真实标签y_i与预测值f(x_i)差值和样本x_ix_j内积相关 λ2new=λ2old+k112K12+k22y2(E2E1)λiyiyif(xi)xixj

1.6 核函数

6.1 分类中问题

机器学习总结三:SVM原理推导与案例_第2张图片

有 些 分 类 问 题 不 是 线 性 可 分 的 ( 如 左 图 异 或 问 题 ) , 进 行 高 维 映 射 后 ( 右 图 ) ( x 1 , x 2 ) − − > ( x 1 , x 2 , x 1 ∗ x 2 ) 线 性 可 分 。 \begin{array}{l}有些分类问题不是线性可分的(如左图异或问题), \\进行高维映射后(右图) (x_1,x_2)--> (x_1,x_2,x_1*x_2)\\线性可分。 \end{array} 线()x1,x2>x1,x2,x1x2线

对偶问题求λ的极值亦随之变化。
m i n λ L ( λ ) = 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i ⃗ x j ⃗ − ∑ i = 1 n λ i \begin{matrix}min \\\lambda\end{matrix} L(\lambda)=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j\vec{x_i}\vec{x_j}-\sum_{i=1}^n\lambda_i minλL(λ)=21i=1nj=1nλiλjyiyjxi xj i=1nλi

− − > m i n λ L ( λ ) = 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ϕ ( x i ⃗ ) ϕ ( x j ⃗ ) − ∑ i = 1 n λ i ϕ ( X ) 是 样 本 X 的 高 维 映 射 函 数 注 : 缺 陷 样 本 进 行 高 维 映 射 后 , 可 以 解 决 线 性 不 可 分 问 题 , 但 计 算 量 大 大 增 加 ( 需 先 高 维 映 射 再 求 样 本 点 内 积 ) --> \begin{matrix}min \\\lambda\end{matrix} L(\lambda)=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j\phi(\vec{x_i})\phi(\vec{x_j})-\sum_{i=1}^n\lambda_i \\ \phi(X)是样本X的高维映射函数 \\ 注:缺陷样本进行高维映射后,可以解决线性不可分问题,但计算量大大增加(需先高维映射再求样本点内积) >minλL(λ)=21i=1nj=1nλiλjyiyjϕ(xi )ϕ(xj )i=1nλiϕ(X)X线()

6.2 核函数作用 :将高维特征的计算转化到低维计算

样 本 1 : ( x 1 , x 2 ) − − > ( x 1 2 , x 2 2 , 2 x 1 x 2 ) 样 本 2 : ( z 1 , z 2 ) − − > ( z 1 2 , z 2 2 , 2 z 1 z 2 ) ϕ ( X ) ϕ ( Z ) = x 1 2 z 1 2 + x 2 2 z 2 2 + 2 x 1 x 2 z 2 z 2 K < X , Z > ( 核 函 数 ) = ( X ∗ Z ) 2 = x 1 2 z 1 2 + x 2 2 z 2 2 + 2 x 2 x 2 z 1 z 2 ϕ ( x ) ϕ ( z ) = K < X , Z > 特 征 高 维 映 射 后 , 再 求 内 积 和 直 接 使 用 核 函 数 带 入 样 本 点 求 解 结 果 一 样 则 求 λ 最 优 解 问 题 , 可 改 写 如 下 : m i n λ L ( λ ) = 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j K < x i ⃗ , x j ⃗ > − ∑ i = 1 n λ i 核 函 数 巧 妙 的 避 过 了 样 本 特 征 先 进 行 高 维 映 射 , 再 求 内 积 的 过 程 , 只 需 要 将 核 函 数 K 带 入 最 优 化 问 题 求 解 即 可 \begin{array}{l} 样本1:(x_1,x_2) -->(x_1^2,x_2^2,\sqrt{2}x_1x_2)\\ 样本2:(z_1,z_2) -->(z_1^2,z_2^2,\sqrt{2}z_1z_2)\\ \phi(X)\phi(Z)=x_1^2z_1^2+x_2^2z_2^2+2x_1x_2z_2z_2\\ K(核函数)=(X*Z)^2=x_1^2z_1^2+x_2^2z_2^2+2x_2x_2z_1z_2\\ \\ \phi(x)\phi(z)=K\\ 特征高维映射后,再求内积和直接使用核函数带入样本点求解结果一样\\ \\ 则求λ最优解问题,可改写如下: \begin{matrix}min \\\lambda\end{matrix} L(\lambda)=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_jK<\vec{x_i},\vec{x_j}>-\sum_{i=1}^n\lambda_i \\核函数巧妙的避过了样本特征先进行高维映射,再求内积的过程,只需要将核函数K带入最优化问题求解即可 \end{array} 1:(x1,x2)>(x12,x22,2 x1x2)2(z1,z2)>(z12,z22,2 z1z2)ϕ(X)ϕ(Z)=x12z12+x22z22+2x1x2z2z2K<X,Z>()=(XZ)2=x12z12+x22z22+2x2x2z1z2ϕ(x)ϕ(z)=K<X,Z>使λ

你可能感兴趣的:(机器学习,支持向量机,算法)