文章目录
第五节 支持向量机与神经网络
统计学事机器学习与模式识别的重要基础
- 传统统计学:研究渐近理论,即在样本充分多时效果较好,样本有限时则面临很多问题(过拟合 over-fitting)
- 统计学习理论 STL:研究有限样本情况下的机器学习问题
5.1 统计学习理论概要 SLT
5.1.1机器学习问题
-
针对分类问题的表示:
-
已知:训练样本集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n) \} T={(x1,y1),(x2,y2),...,(xn,yn)}
其中, x i ∈ R n x_i\in R^n xi∈Rn 表示第 i i i 个样本的特征向量。 y i ∈ { − 1 , 1 } y_i\in\{-1,1\} yi∈{−1,1} 表示第 i i i 个样本的类别标签(假设为两类问题)
-
目标:根据训练样本学习 R n R^n Rn 上的实值函数 g ( x ) g(x) g(x),用符号函数 f ( x ) = sgn ( g ( x ) ) f(x)=\operatorname{sgn} (g(x)) f(x)=sgn(g(x)) 判断任意模式所属的类别。
-
-
框架:
- 产生器 ( G ) (G) (G):产生随机向量 x x x 属于 R n R^n Rn,它们是从固定但未知的概率分布函数 F ( x ) F(x) F(x) 中独立抽取的。
- 训练器系统 ( S ) (S) (S):对每个输入向量 x x x 返回一个输出值 y y y,产生输出的根据是同样固定但未知的条件分布函数 F ( y ∣ x ) F(y|x) F(y∣x)
- 学习机器 ( L M ) (LM) (LM):能够实现一定预测的待求的函数集 { f ( x , α ) , α ∈ A } \{f(x, \alpha),\alpha\in A\} {f(x,α),α∈A},该函数用于预测任意输入向量 x x x 的输出。
-
概述:从给定的函数集 { f ( x , α ) , α ∈ A } \{f(x, \alpha),\alpha\in A\} {f(x,α),α∈A} 中,选择出能够最好地逼近训练器响应的函数。
-
目的:根据 n n n 个独立同分布的观测样本 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } \{(x_1,y_1),(x_2,y_2),...,(x_n,y_n) \} {(x1,y1),(x2,y2),...,(xn,yn)} 在一组函数 { f ( x , α ) } \{f(x,\alpha) \} {f(x,α)} 中求出一个最优函数 f ( x , α ∗ ) f(x,\alpha^*) f(x,α∗) 对训练器的响应进行预测,使得期望风险函数 R ( α ) R(\alpha) R(α) 最小
R ( α ) = ∫ L ( y , f ( x , α ) ) d P ( x , y ) 其 中 L ( y , f ( x , α ) ) 为 损 失 函 数 \color{red}R(\alpha)=\int L(y,f(x,\alpha))\;dP(x,y)\\ 其中 L(y,f(x,\alpha))为损失函数 R(α)=∫L(y,f(x,α))dP(x,y)其中L(y,f(x,α))为损失函数
其中,样本分布函数 P ( x , y ) P(x,y) P(x,y) 未知,损失函数 L ( y , f ( x , α ) ) L(y,f(x,\alpha)) L(y,f(x,α)) 根据具体的机器学习问题定义。 -
三类基本问题:
-
(监督)模式识别:系统输出类别标号
-
损失函数:
L ( y , f ( x , α ) ) = { 0 , y = f ( x , α ) 1 , y ≠ f ( x , α ) L(y,f(x,\alpha))=\begin{cases}0,\qquad y=f(x,\alpha)\\1,\qquad y\ne f(x,\alpha) \end{cases} L(y,f(x,α))={0,y=f(x,α)1,y=f(x,α) -
期望风险:平均错误率(最小错误率贝叶斯决策)
-
-
函数拟合:
- 损失函数:
L ( y , f ( x , α ) ) = ( y − f ( x , α ) ) 2 L(y,f(x,\alpha))=(y-f(x,\alpha))^2 L(y,f(x,α))=(y−f(x,α))2
- 损失函数:
-
概率密度估计:使概率密度函数 p ( x , α ) p(x,\alpha) p(x,α) 能够最优描述训练样本集。
- 损失函数:解为
p
(
x
,
α
)
p(x,\alpha)
p(x,α) 最大似然估计
L ( p ( x , α ) ) = − log p ( x , α ) L(p(x,\alpha))=-\log p(x,\alpha) L(p(x,α))=−logp(x,α)
- 损失函数:解为
p
(
x
,
α
)
p(x,\alpha)
p(x,α) 最大似然估计
-
5.1.2 经验风险最小化 ERM
本质:利用最小化经验风险代替最小化期望风险的目标
-
引入问题:由于概率分布 F ( x , y ) F(x,y) F(x,y) 未知,因此对于最小化期望风险函数 R ( α ) R(\alpha) R(α) 的目标,只能利用从 F ( x , y ) F(x,y) F(x,y) 中采样的已知训练样本信息,这导致了定义的期望风险是无法直接计算和最小化的。
-
解决原理:根据概率论中的大数定理,可用算术平均代替数据期望,于是定义了经验风险来逼近期望风险
R e m p ( α ) = 1 n ∑ i = 1 n L ( y i , f ( x i , α ) ) \color{red}R_{emp}(\alpha)=\dfrac{1}{n}\sum\limits_{i=1}^nL(y_i,f(x_i,\alpha)) Remp(α)=n1i=1∑nL(yi,f(xi,α)) -
经验风险最小化原则 Empirical Risk Minimization:对参数 α \alpha α 求经验风险 R e m p ( α ) R_{emp}(\alpha) Remp(α) 的最小值代替求期望风险 R ( α ) R(\alpha) R(α) 的最小值。
- 局限性(缺点):
- 只能说明了当样本趋于无穷多时经验风险将在概率意义上趋近于期望风险,无法保证两个风险取最小值时的参数 α \alpha α 是同一点,更不能保证经验风险能够趋近于期望风险。
- 即使有办法使这些条件在样本数无穷大时得到保证,也无法认定在这些前提下得到的经验风险最小化方法在样本数有限时仍能得到好的结果。
- 局限性(缺点):
-
结构风险最小化 Structure Risk Minimization: J ( f ) J(f) J(f) 表示模型的复杂度,作为罚项加入
R s r m ( α ) = 1 n ∑ i = 1 n L ( y i , f ( x i , α ) ) + λ J ( f ) \color{color}R_{srm}(\alpha)=\dfrac{1}{n}\sum\limits_{i=1}^nL(y_i,f(x_i,\alpha))+\lambda J(f) Rsrm(α)=n1i=1∑nL(yi,f(xi,α))+λJ(f)
5.1.3 统计学习理论 SLT
-
机器学习的推广能力(泛化能力):对未来输出进行正确预测的能力
- 过拟合:复杂的学习机器能降低训练误差,但是可能导致推广能力的下降。
-
注意:有限样本下的机器学习的一些问题
- 传统的统计分析都是在假设样本数趋于无穷的情况下进行的 (例:最近邻分类器的误差函数)。
- 经验风险最小并不意味着期望风险最小。
- 复杂性:不仅与研究的系统有关,而且要和有限的学习样本相适应。
- 学习精度 VS 推广性:复杂的学习机器虽然可使学习误差更小,却易丧失推广性。(过拟合)
-
统计学习理论 Statistical Learning Theory:
-
价值:是目前针对有限样本统计估计和预测学习的最佳理论,从理论上系统地研究了
- 经验风险最小化原则成立的条件
- 有限样本下经验风险与期望风险的关系
- 如何利用这些理论找到新的学习原则和方法等
-
主要内容:
- 学习过程一致性:一个基于经验风险最小化原则的学习过程,满足怎样的条件时,它的经验风险与实际风险趋向一致。
- 学习过程收敛速度:如果学习过程的经验风险与实际风险趋向一致,那么它们间的接近速度随着训练样本数的增加,是如何变化的,哪些因素控制着它们接近的速度。
- 控制学习过程泛化能力:采用前两部分的结论改进学习过程;提出结构风险最小化原则,可以使学习过程的经验风险与实际风险最终并且尽可能快地趋向一致。
- 构造学习算法:在分类和拟合问题中构造现实的学习算法。它遵循结构风险最小化原则从而较传统算法有更好的泛化能力。支持向量机SVM是基于该理论最早实现的,也是目前最有影响的分类回归算法之一。
-
发展历史:
内容 年份 人物 感知器 1958 Frank Rosenblatt 证明感知器对线性可分问题一定会收敛 1963 Novikoff VC熵和VC维 1968 Vapnik和Chervonenkis SRM 归纳原则 1974 Vapnik和Chervonenkis ERM 归纳原则和最大似然方法一致性的充分必要条件 1989 Vapnik和Chervonenkis SLT 1995 /
-
5.2 支持向量机 SVM
基本模型:在特征空间上的间隔最大的线性分类器
学习策略:间隔最大化
本质:是解一个二次规划问题
-
SVM的基本原理:最优分类面 H H H 要求分界面权向量 w ∗ w^* w∗ 不但能将两类正确分开(训练错误率为0),且分类间隔 d d d 最大。
- 进一步理解:分类间隔不是由所有训练集样本决定的,而是由距离分类边界最近的几个特殊的样本(即支持向量)决定的。正是支持向量支撑起线性分类器在最大分类间隔意义下的最优解。
-
SVM的应用:人脸检测、识别;手写数字识别
-
目前研究领域:
- SVM增量学习算法的研究:当有新的训练样本时,如何利用其更新已经训练好的支持向量机
- SVM多类分类器算法:经典支持向量机是两类分类器,如何扩展到多类问题
-
SVM的实现:
- LibSVM
- sklearn库
5.2.1 线性支持向量机
-
最优分类超平面 Optimal Separating Hyperplane:对于线性可分问题,一般有无数多解向量可作为有效的分类超平面(例感知器算法采用不同初值和迭代参数可得到不同的解向量)
-
最优超平面/最优分界面 H H H:一个超平面,若它能将训练样本无误地分开并且两类样本中离此超平面最近的样本(支持向量)与超平面的距离最大,则将这个超平面称做最优分类超平面,简称最优超平面。
-
H 1 , H 2 H_1,H_2 H1,H2:过两类样本中离分界面最近的点且平行于最优分界面的超平面。
-
支持向量(Support Vector) x s x_s xs:位于 H 1 , H 2 H_1,H_2 H1,H2 上的样本。
-
分类间隔(Margin of Classification) d d d: H 1 , H 2 H_1,H_2 H1,H2 之间的距离。
-
-
线性SVM详细推导:给定训练样本 { ( x i , y i ) ∣ i = 1 , 2 , . . . , n } \{(x_i,y_i)|i=1,2,...,n \} {(xi,yi)∣i=1,2,...,n},其中样本的特征向量 x i ∈ R d x_i\in R^d xi∈Rd 为 d d d 维向量,类别标号 y i ∈ { + 1 , − 1 } y_i\in \{+1,-1\} yi∈{+1,−1}。
由于样本线性可分,故存在最优分类超平面 g ( x ) = ( w T x ) + w 0 = 0 g(x)=(w^Tx)+w_0 =0 g(x)=(wTx)+w0=0,于是样本满足
{ w T x i + w 0 > 0 当 y i = + 1 w T x i + w 0 < 0 当 y i = − 1 \begin{cases}\begin{aligned} &w^Tx_i+w_0>0&& 当\;y_i=+1\\ &w^Tx_i+w_0<0&& 当\;y_i=-1 \end{aligned}\end{cases} {wTxi+w0>0wTxi+w0<0当yi=+1当yi=−1-
正规化:对于支持向量 x s x_s xs,不妨固定 ∣ g ( x s ) ∣ = 1 |g(x_s)|=1 ∣g(xs)∣=1,则对于所有向量,可得约束条件
{ w T x i + w 0 ≥ 1 当 y i = + 1 w T x i + w 0 ≤ − 1 当 y i = − 1 \begin{cases}\begin{aligned} &w^Tx_i+w_0 \ge1&& 当\;y_i=+1\\ &w^Tx_i+w_0 \le -1&& 当\;y_i=-1 \end{aligned}\end{cases} {wTxi+w0≥1wTxi+w0≤−1当yi=+1当yi=−1
此时,支持向量满足
{ w T x s + + w 0 = 1 w T x s − + w 0 = − 1 \begin{cases}\begin{aligned} &w^Tx_s^+ + w_0 =1\\ &w^Tx_s^- + w_0 =-1 \end{aligned}\end{cases} {wTxs++w0=1wTxs−+w0=−1 -
计算间隔:
-
根据判别函数的几何意义,样本到决策面的距离为 g ( x ) ∣ ∣ w ∣ ∣ \dfrac{g(x)}{||w||} ∣∣w∣∣g(x)
-
为使最优权向量权向量 w ∗ w^* w∗ 拥有最大间隔,可将分类面居中放置,即 g ( x s + ) ∣ ∣ w ∣ ∣ = g ( x s − ) ∣ ∣ w ∣ ∣ \dfrac{g(x_s^+)}{||w||}=\dfrac{g(x_s^-)}{||w||} ∣∣w∣∣g(xs+)=∣∣w∣∣g(xs−)。于是间隔 d = g ( x s + ) ∣ ∣ w ∣ ∣ + g ( x s − ) ∣ ∣ w ∣ ∣ \color{red}d=\dfrac{g(x_s^+)}{||w||}+\dfrac{g(x_s^-)}{||w||} d=∣∣w∣∣g(xs+)+∣∣w∣∣g(xs−)
-
由于优化目标为
max d \color{red} \max\; d maxd
当固定 ∣ g ( x s ) ∣ = 1 \color{red}\left|g(x_s)\right|=1 ∣g(xs)∣=1 时,则有 d = 2 ∣ ∣ w ∣ ∣ \color{red}d=\dfrac{2}{||w||} d=∣∣w∣∣2。此时目标变为 min ∣ ∣ w ∣ ∣ \min\; ||w|| min∣∣w∣∣,进一步可变为二次优化问题 m i n 1 2 ∣ ∣ w ∣ ∣ 2 min \;\dfrac{1}{2}||w||^2 min21∣∣w∣∣2
-
-
目标函数:原始带约束的二次优化问题
min ∣ ∣ w ∣ ∣ 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + w 0 ) ≥ 1 {\color{red}\min\limits_{||w||}} \;\dfrac{1}{2}||w||^2\\ s.t.\quad y_i(w^Tx_i + w_0)\ge 1 ∣∣w∣∣min21∣∣w∣∣2s.t.yi(wTxi+w0)≥1
运用拉格朗日乘数法 Lagrange Multipliers变形为
min ∣ ∣ w ∣ ∣ L ( w , b , α i ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 n α i [ y i ( w T x i + w 0 ) − 1 ] s . t . α i ≥ 0 {\color{red}\min\limits_{||w||}} \; L(w,b,\alpha_i)=\dfrac{1}{2}||w||^2-\sum\limits_{i=1}^n \alpha_i\left[y_i(w^Tx_i + w_0)-1\right]\\ s.t. \quad \alpha_i\ge 0 ∣∣w∣∣minL(w,b,αi)=21∣∣w∣∣2−i=1∑nαi[yi(wTxi+w0)−1]s.t.αi≥0
化为无约束优化问题
S ∗ = min ∣ ∣ w ∣ ∣ max α L ( w , w 0 , α i ) S^*={\color{red}\min\limits_{||w||}\max\limits_{\alpha}} \; L(w,w_0,\alpha_i)\\ S∗=∣∣w∣∣minαmaxL(w,w0,αi)
化简 L ( w , w 0 , α i ) L(w,w_0,\alpha_i) L(w,w0,αi) 得
L ( w , w 0 , α i ) = 1 2 w T w + ∑ i = 1 n α i − ∑ i = 1 n α i y i w T x i − ∑ i = 1 n α i y i w 0 L(w,w_0,\alpha_i)=\dfrac{1}{2}w^Tw+\sum\limits_{i=1}^n \alpha_i-\sum\limits_{i=1}^n \alpha_iy_iw^Tx_i-\sum\limits_{i=1}^n \alpha_iy_iw_0 L(w,w0,αi)=21wTw+i=1∑nαi−i=1∑nαiyiwTxi−i=1∑nαiyiw0
根据前置知识:拉格朗日对偶性,写出 S ∗ S^* S∗ 的拉格朗日对偶问题 Lagrange Duality
D ∗ = max α min ∣ ∣ w ∣ ∣ L ( w , w 0 , α i ) D^*={\color{red}\max\limits_{\alpha}\min\limits_{||w||}} \; L(w,w_0,\alpha_i) D∗=αmax∣∣w∣∣minL(w,w0,αi) -
转化对偶问题:对于 min ∣ ∣ w ∣ ∣ L ( w , w 0 , α i ) \min\limits_{||w||} \; L(w,w_0,\alpha_i) ∣∣w∣∣minL(w,w0,αi),根据偏导数为零,有
1. ∇ w L = 0 \nabla_wL=0 ∇wL=0,得到 ∂ L ∂ w = 1 2 ⋅ 2 w − ∑ i = 1 n α i y i x i = 0 \dfrac{\partial L}{\partial w}=\dfrac{1}{2}\cdot 2w-\sum\limits_{i=1}^n \alpha_iy_ix_i=0 ∂w∂L=21⋅2w−i=1∑nαiyixi=0,解得 w = ∑ i = 1 n α i y i x i \color{red}w=\sum\limits_{i=1}^n \alpha_iy_ix_i w=i=1∑nαiyixi
2. ∇ w 0 L = 0 \nabla_{w_0}L=0 ∇w0L=0,得到 ∂ L ∂ w 0 = − ∑ i = 1 n α i y i = 0 \dfrac{\partial L}{\partial w_0}=-\sum\limits_{i=1}^n \alpha_iy_i=0 ∂w0∂L=−i=1∑nαiyi=0,解得 ∑ i = 1 n α i y i = 0 \color{red}\sum\limits_{i=1}^n \alpha_iy_i=0 i=1∑nαiyi=0
代入 L ( w , w 0 , α i ) L(w,w_0,\alpha_i) L(w,w0,αi) 函数得到
min ∣ ∣ w ∣ ∣ L ( w , w 0 , α i ) = 1 2 w T ∑ i = 1 n α i y i x i + ∑ i = 1 n α i − w T ∑ i = 1 n α i y i x i − 0 = − 1 2 ( ∑ i = 1 n α i y i x i ) T ( ∑ i = 1 n α i y i x i ) + ∑ i = 1 n α i = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j ⋅ y i y j ⋅ x i T x j \begin{aligned} \min\limits_{||w||} \;L(w,w_0,\alpha_i)&=\dfrac{1}{2}w^T\sum\limits_{i=1}^n \alpha_iy_ix_i +\sum\limits_{i=1}^n \alpha_i-w^T\sum\limits_{i=1}^n \alpha_i y_i x_i - 0 \\ &=-\dfrac{1}{2}\left(\sum\limits_{i=1}^n \alpha_iy_ix_i \right)^T \left(\sum\limits_{i=1}^n \alpha_iy_ix_i\right) +\sum\limits_{i=1}^n \alpha_i\\ &={\color{red}\sum\limits_{i=1}^n \alpha_i-\dfrac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n \alpha_i\alpha_j\cdot y_iy_j\cdot x_i^Tx_j}\\ \end{aligned} ∣∣w∣∣minL(w,w0,αi)=21wTi=1∑nαiyixi+i=1∑nαi−wTi=1∑nαiyixi−0=−21(i=1∑nαiyixi)T(i=1∑nαiyixi)+i=1∑nαi=i=1∑nαi−21i=1∑nj=1∑nαiαj⋅yiyj⋅xiTxj
此时对偶问题转化为
D ∗ = max α ( ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j ⋅ y i y j ⋅ x i T x j ) s . t . α i ≥ 0 , ∑ i = 1 n α i y i = 0 D^*={\color{red} \max\limits_{\alpha}} \left(\sum\limits_{i=1}^n \alpha_i-\dfrac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n \alpha_i\alpha_j\cdot y_iy_j\cdot x_i^Tx_j\right) \\ s.t.\quad \alpha_i\ge0,\; \sum\limits_{i=1}^n\alpha_iy_i=0 D∗=αmax(i=1∑nαi−21i=1∑nj=1∑nαiαj⋅yiyj⋅xiTxj)s.t.αi≥0,i=1∑nαiyi=0 -
KKT条件:根据弱对偶关系,有 S ∗ ≤ D ∗ S^*\le D^* S∗≤D∗。要使强对偶关系 S ∗ = D ∗ S^*=D^* S∗=D∗ 成立,即 D ∗ D^* D∗ 的最优解恰为 S ∗ S^* S∗ 的最优解,需满足前置知识:**Karush-Kuhn-Tucker (KKT)**条件,即
{ α i ≥ 0 y i ( w T x i + w 0 ) − 1 ≥ 0 α i ( y i ( w T x i + w 0 ) − 1 ) = 0 互 补 松 弛 性 \begin{cases} \alpha_i\ge 0\\ y_i\left(w^Tx_i + w_0\right)-1\ge 0\\ \color{red}\alpha_i\left(y_i\left(w^Tx_i + w_0\right)-1\right)=0\qquad 互补松弛性 \end{cases} ⎩⎪⎨⎪⎧αi≥0yi(wTxi+w0)−1≥0αi(yi(wTxi+w0)−1)=0互补松弛性- 首先,根据以上三个条件发现,需要 α i = 0 \alpha_i=0 αi=0 或 y i ( w T x i + w 0 ) − 1 = 0 y_i\left(w^Tx_i + w_0\right)-1=0 yi(wTxi+w0)−1=0。由于只有支持向量满足 y i ( w T x i + w 0 ) − 1 = 0 y_i\left(w^Tx_i + w_0\right)-1=0 yi(wTxi+w0)−1=0,故只有支持向量对应的 α i ≠ 0 \alpha_i\ne 0 αi=0。
- 于是可以计算出权向量 w ∗ = ∑ x i ∈ { x + , x − } α i y i x i w^*=\sum\limits_{\color{red}x_i\in \{x^+,x^- \} } \alpha_iy_ix_i w∗=xi∈{x+,x−}∑αiyixi,进而根据多个支持向量 x s x_s xs 联立方程 { y i ( w T x i + w 0 ) = 1 ∣ x i ∈ { x + , x − } } \left\{y_i(w^Tx_i+w_0)=1|x_i\in\{x^+,x^-\} \right\} {yi(wTxi+w0)=1∣xi∈{x+,x−}} 可计算出 w 0 w_0 w0
-
判别函数:发现线性支持向量机的求解和运用依赖于支持向量所对应的样本和样本之间的内积。
g ( x ) = w T x + w 0 = ∑ x i ∈ { x + , x − } α i x i T x + w 0 g(x)=w^Tx+w_0=\sum\limits_{x_i\in \{x^+,x^- \} } \alpha_i {\color{red}x^T_ix}+w_0 g(x)=wTx+w0=xi∈{x+,x−}∑αixiTx+w0
其中支持向量定义为
y s ( ∑ i = 1 n α i y i ⋅ x i T x s + w 0 ) = 1 y_s\left(\sum\limits_{i=1}^{n}\alpha_iy_i\cdot {\color{red}x_i^Tx_s}+w_0\right)=1 ys(i=1∑nαiyi⋅xiTxs+w0)=1 -
-
近似线性可分问题:当部分样本被线性判别函数错分时(线性不可分不严重时),引入非负松弛变量放松约束条件
y i [ w T x i + w 0 ] + ξ i ≥ 1 y_i\left[w^Tx_i+w_0 \right]{\color{red}+\xi_i}\ge 1 yi[wTxi+w0]+ξi≥1-
错分程度:样本的松弛变量之和 ∑ i = 1 n ξ i \color{red}\sum\limits_{i=1}^{n}\xi_i i=1∑nξi 来衡量训练样本集上被错分的程度
注意:这里被错分指的是 y i [ w T x i + w 0 ] < 1 y_i\left[w^Tx_i+w_0 \right]< \color{red}1 yi[wTxi+w0]<1 而不是 y i [ w T x i + w 0 ] < 0 y_i\left[w^Tx_i+w_0 \right]< 0 yi[wTxi+w0]<0
-
优化目标:间隔尽量大;错分样本程度尽量小
目标函数:
min ∣ ∣ w ∣ ∣ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i s . t . y i ( w T x i + w 0 ) + ξ i ≥ 1 , ξ i ≥ 0 \color{red}\min\limits_{||w||} \;\dfrac{1}{2}||w||^2 + C\sum\limits_{i=1}^{n}\xi_i \\ s.t.\quad y_i(w^Tx_i + w_0)+\xi_i\ge 1,\quad \xi_i\ge 0 ∣∣w∣∣min21∣∣w∣∣2+Ci=1∑nξis.t.yi(wTxi+w0)+ξi≥1,ξi≥0
其中 1 2 ∣ ∣ w ∣ ∣ 2 \dfrac{1}{2}||w||^2 21∣∣w∣∣2 代表经验风险, ∑ i = 1 n ξ i \sum\limits_{i=1}^{n}\xi_i i=1∑nξi 代表泛化能力, C C C 体现两者间的平衡折中。
-
5.2.2 非线性支持向量机
若数据完全线性不可分,则线性支持向量机的效果变得不理想。
-
线性不可分问题:
- 根据广义线性判别函数,可对任意高次判别函数通过适当变换,化为广义线性判别函数 g ( x ) = a T y g(x)=a^Ty g(x)=aTy 来处理。其中 a T y a^Ty aTy 是 y y y 的线性函数, a T y = 0 a^Ty=0 aTy=0 在 Y Y Y 空间确定了通过原点的超平面,便可以利用线性判别函数的简单性来解决复杂问题。
- 将数据映射到更高维的空间,可以使线性不可分数据变成线性可分的
-
非线性SVM的基本思想:
- 将线性不可分数据映射到高维空间(非线性变换),使它们变成线性可分的
- 再在高维空间中训练线性支持向量机
5.2.2.1 核函数 Kernels
提供了一种利用低维空间中的数据计算其在高维空间中内积的有效途径
-
核函数的推导:根据线性支持向量机的分类器
g ( x ) = sgn ( w T x + w 0 ) = sgn ( ∑ i = 1 n α i y i ( x i ⋅ x ) + w 0 ) g(x)=\operatorname{sgn}\left(w^Tx+w_0\right)=\operatorname{sgn}\left(\sum\limits_{i=1}^{n} \alpha_i y_i{\color{red}(x_i\cdot x)} +w_0 \right) g(x)=sgn(wTx+w0)=sgn(i=1∑nαiyi(xi⋅x)+w0)对特征 x x x 进行非线性变换 z = φ ( x ) z=\varphi(x) z=φ(x),则新特征空间里的决策函数为
g ( x ) = sgn ( w T z + w 0 ) = sgn ( ∑ i = 1 n α i y i ( φ ( x i ) ⋅ φ ( x ) ) + w 0 ) g(x)=\operatorname{sgn}\left(w^Tz+w_0\right)=\operatorname{sgn}\left(\sum\limits_{i=1}^{n} \alpha_i y_i{\color{red}(\varphi(x_i)\cdot \varphi(x))} +w_0 \right) g(x)=sgn(wTz+w0)=sgn(i=1∑nαiyi(φ(xi)⋅φ(x))+w0)并不需要知道由低维到高维空间的映射函数 ,只需要知道在高维空间中的内积计算公式即可
此时优化问题的对偶问题转化为
max α ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j ⋅ y i y j ⋅ φ ( x i ) T φ ( x j ) s . t . α i ≥ 0 , ∑ i = 1 n α i y i = 0 \max\limits_{\alpha}\quad \sum\limits_{i=1}^n \alpha_i-\dfrac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n \alpha_i\alpha_j\cdot y_iy_j\cdot \color{red}\varphi(x_i)^T \varphi(x_j) \\ s.t.\quad \alpha_i\ge0,\; \sum\limits_{i=1}^n\alpha_iy_i=0 αmaxi=1∑nαi−21i=1∑nj=1∑nαiαj⋅yiyj⋅φ(xi)Tφ(xj)s.t.αi≥0,i=1∑nαiyi=0
于是支持向量的定义为
y s ( ∑ i = 1 n α i y i ⋅ φ ( x i ) T φ ( x s ) + w 0 ) = 1 y_s\left(\sum\limits_{i=1}^{n}\alpha_iy_i\cdot {\color{red}\varphi(x_i)^T \varphi(x_s)}+w_0\right)=1 ys(i=1∑nαiyi⋅φ(xi)Tφ(xs)+w0)=1
综上,非线性变换对支持向量机的影响是将两个样本在原特征空间的内积 x i ⋅ x = x i T x x_i\cdot x=x_i^Tx xi⋅x=xiTx 转换为在新空间中的内积 φ ( x i ) ⋅ φ ( x s ) = φ ( x i ) T φ ( x s ) \varphi(x_i)\cdot \varphi(x_s)=\varphi(x_i)^T \varphi(x_s) φ(xi)⋅φ(xs)=φ(xi)Tφ(xs) -
定义:
K ( x i , x j ) = d e f φ ( x i ) T φ ( x j ) \color{red} K(x_i,x_j) \overset{\underset{def}{}}{=} \varphi(x_i)^T \varphi(x_j) K(xi,xj)=defφ(xi)Tφ(xj) -
优点:
- 由于可在原空间计算核函数 K ( x i , x j ) K(x_i,x_j) K(xi,xj),这样就避免了在高维空间的内积计算,节省了计算量。
- 实计上,只需要知道在高维空间中的内积计算公式 K ( x i , x j ) K(x_i,x_j) K(xi,xj),并不需要设计由低维到高维空间的映射函数 φ ( x ) \varphi(x) φ(x)
-
条件:Mercer条件
-
常见核函数:
-
多项式核函数 Polynomial Kernel:实现 q q q 阶多项式判别函数
K ( x i , x j ) = ( x i T x j + c ) q K(x_i,x_j)=(x_i^Tx_j+c)^q K(xi,xj)=(xiTxj+c)q -
高斯核函数 Gaussian Kernel:也称径向基核函数 Radial Basis Function,实现与径向基网络相同的决策函数
K ( x i , x j ) = exp { − ∣ ∣ x i − x j ∣ ∣ 2 σ 2 } K(x_i,x_j)=\exp \left\{-\dfrac{||x_i-x_j||^2}{\sigma^2} \right\} K(xi,xj)=exp{−σ2∣∣xi−xj∣∣2} -
Sigmoid核函数:实现包含一个隐层的多层感知机神经网络
K ( x i , x j ) = tanh ( β 0 x i T x j + β 1 ) K(x_i,x_j)=\tanh(\beta_0\; x_i^Tx_j+\beta_1) K(xi,xj)=tanh(β0xiTxj+β1)
-
-
核函数的选择:
- 多项式核和高斯核(RBF核)是最常用的
- 领域或经验知识可以帮助选择合适的核
5.3 人工神经网络 Artificial Neural Networks
-
人工神经元:生物神经元(细胞体 + 突触 + 树突 + 轴突)的简化模型。
来自外界环境或其他细胞的电信号通过突触传递给神经元,当细胞收到的信号总和超过一定的阈值后,细胞被激活,通过轴突向下一个细胞发送电信号,完成对外界信息的加工。
-
人工神经网络:
y = sgn ( ∑ i = 1 n w i x i + w 0 ) y=\operatorname{sgn} \left(\sum\limits_{i=1}^n w_ix_i+w_0\right) y=sgn(i=1∑nwixi+w0)
其中 x x x 称作神经元的输入, w w w 称作神经元的权值, sgn \operatorname{sgn} sgn 称作神经元的传递函数, y y y 称作神经元的输出。
- Hebb学习规则:如果神经网络中某一神经元与另一直接相连的神经元同时处于兴奋状态,那么这两个神经元之间的连接强度应该加强。
-
神经网络的优势:
- 具有较强的鲁棒性,对噪声和形变比较鲁棒
- 具有很强的自适应能力
- 融合特征提取和分类任务进行端到端的学习
- 采用并行工作方式
-
发展史:利用每层的神经元拟合复杂的函数
- 1943年:心理学家McCulloch等人提出了形式神经元的数学模型,成为人工神经网络的开端。
- 1959年:Rosenblatt提出了感知器模型,首次把神经网络的研究付诸实践。
- 1986年:Rumelhart等提出了多层感知机和反向传播算法。
- 1989年:Yann LeCun提出了一种用反向传导进行更新的卷积神经网络 LeNet。
- 1997年:Sepp Hochreiter等人提出了长短时记忆网络。
- 2006年:Geoffrey Hinton训练了一个深度置信网络,由此揭开了深度神经网络的研究热潮。
-
支持向量机 VS 神经网络:
- SVM的理论基础比神经网络NN更坚实,更像一门严谨的“科学”(三要素:问题的表示,问题的解决,证明)
- SVM:有严格的数学推理
- NN:强烈依赖于工程技巧
- SVM的推广能力取决于“经验风险值”和“置信范围值”,NN不能控制两者中的任何一个。与SVM相比,NN不像一门科学,更像一门工程技巧,但并不意味着它就一定不好。NN设计者用高超的工程技巧弥补了数学上的缺陷:设计特殊的结构,利用启发式算法,有时能得到出人意料的好结果。
- SVM的理论基础比神经网络NN更坚实,更像一门严谨的“科学”(三要素:问题的表示,问题的解决,证明)
5.3.1 反向传播网络 BP
- 反向传播网络 Back-Propagation:采用误差反向传播的多层感知器(MLP)
- 关键问题:如何根据输出端的误差确定网络中各层的参数
- 最佳答案:梯度下降算法+反向传播算法
5.3.2 卷积神经网络 CNN
参考文章:CNN是怎样工作的
-
结构:由卷积,激活,和池化三种结构组成。
执行分类任务时,将CNN的输出作为全连接层的输入,来实现从输入数据到标签的映射。
-
卷积层 Convolutional:
- 卷积核按一定的步长遍历整幅图像
- 卷积核与矩阵对应元素相乘,求所有元素之和。
-
激励层 ReLU(修正线性单元 Rectified Linear Units):
- 对卷积层的结果做非线性映射
- 用的激活函数有Sigmoid函数 g ( z ) = 1 1 + e − z g(z)=\dfrac{1}{1+e^{-z}} g(z)=1+e−z1 ,ReLU,Tanh等
-
池化层 Pooling:
- 对上一层的结果做下采样,起到降维,减少参数量的作用
- 常用池化方法:最大池化,平均池化
-
-
典型CNN: