文章目录
1、线性回归
我们的目标是建立一个系统,将向量 x i x_i xi作为输入, 预测标量 y ∈ R y\in R y∈R作为输出,线性回归的输出是其输入的线性函数,令 f ( x i ) f(x_i) f(xi)表示模型预测y应该取得的值,我们定义输出为: f ( x ) = w x i + b f(x) = wx_i + b f(x)=wxi+b
其中, w i w_i wi是参数向量, b为偏置
均方误差
如何确定 w w w和 b b b呢,显然,关键在于如何衡量 f ( x ) f(x) f(x)与y之间的差别,我们可以通过均方误差来试图让均方误差最小化,即:
( w ∗ , b ∗ ) = a r g m i n ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 (w^*,b^*) = arg min_{(w, b)}\sum^{m}_{i=1}(f(x_i)-y_i)^2 (w∗,b∗)=argmin(w,b)∑i=1m(f(xi)−yi)2
均方误差对应了常用的欧几里得距离,基于均方误差最小化来进行模型求解的方法称为最小二乘法, 在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。
求解 w w w和 b b b:
分别对
w
w
w和
b
b
b求导,然后再对求导后的式子令其为0
, 可得到
w
w
w和
b
b
b的最优的闭式解。
更一般的我们可以扩展到多元线性回归,类似的求解步骤,但是由于 X T X X^TX XTX在现实任务中往往不是满秩矩阵,此时可能会解出多个 w ^ \hat{w} w^, 它们都能使得均方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项
另一种用来估计概率分布的参数值的方法是极大似然估计
极大似然估计
用途: 估计概率分布的参数值
具体定义:对于离散型(连续型)随机变量X, 假设其概率质量函数为 P ( x ; θ ) P(x;\theta) P(x;θ)(连续的为概率密度函数),其中 θ \theta θ为待估计的参数值,现有 x 1 , x 2 , x 3 , . . . , x n x_1, x_2, x_3,...,x_n x1,x2,x3,...,xn是来自X的n个独立同分布的样本,它们的联合概率为 L ( θ ) = ∏ i = 1 n P ( x i ; θ ) L(\theta) = \prod^n_{i=1}P(x_i;\theta) L(θ)=∏i=1nP(xi;θ)
其中 x 1 , x 2 , x 3 , . . . , x n x_1, x_2, x_3,...,x_n x1,x2,x3,...,xn是已知量, θ \theta θ是未知量,因此以上概率是一个关于 θ \theta θ的函数,称为 L ( θ ) L(\theta) L(θ)为样本的似然函数。
极大似然估计的直观想法是:使得观测样本出现概率最大的分布就是待求分布,也即使得似然函数
L
(
θ
)
L(\theta)
L(θ)取得最大值的
θ
∗
\theta^*
θ∗即为
θ
\theta
θ的估计值。
通过极大似然估计的方法我们同样可以得出与通过均方误差相同的结果,即:
( w ∗ , b ∗ ) = a r g m a x ( w , b ) l n L ( w , b ) = a r g m i n w , b ∑ i = 1 m ( y i − w x i − b ) 2 (w^*,b^*)=argmax_{(w,b)} ln L(w, b)=argmin_{w,b}\sum^m_{i=1}(y_i-wx_i-b)^2 (w∗,b∗)=argmax(w,b)lnL(w,b)=argminw,b∑i=1m(yi−wxi−b)2
求解过程同最小二乘法相同。
求解 w w w和 b b b:
分别对
w
w
w和
b
b
b求导,然后再对求导后的式子令其为0
, 可得到
w
w
w和
b
b
b的最优的闭式解。
2、 逻辑回归(对数几率回归)
为了做分类任务我们可以通过寻找一个单调可微函数将分类任务的真实标记与线性回归模型的预测值联系起来。
逻辑回归, 线性回归都是有监督的
为什么选用sigmoid函数做作为联系函数?
【最大熵的角度】
https://zhuanlan.zhihu.com/p/59519202
Maximum Entropy Model最大熵模型 - 简书
LR的本质为二分类下选取了某个特征函数的最大熵模型。
推导出损失函数:可以利用极大似然和信息论的角度进行推导
面试题解答:为什么逻辑斯蒂回归的输出值可以作为概率 - 秃头之路的文章 - 知乎
极大似然估计(推导损失函数)
首先确定概率质量函数(离散的为例),已知离散型随机变量 y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1}取值为1和0的概率分别建模为
p ( y = 1 ∣ x ^ ; β ) = e β T x ^ 1 + e β T x ^ = p 1 ( x ^ ; β ) p(y=1|\hat{x};\beta)=\frac{e^{\beta^T\hat{x}}}{1+e^{\beta^T\hat{x}}}=p_1(\hat{x};\beta) p(y=1∣x^;β)=1+eβTx^eβTx^=p1(x^;β)
p ( y = 0 ∣ x ^ ; β ) = 1 1 + e β T x ^ = p 0 ( x ^ ; β ) p(y=0|\hat{x};\beta)=\frac{1}{1+e^{\beta^T\hat{x}}}=p_0(\hat{x};\beta) p(y=0∣x^;β)=1+eβTx^1=p0(x^;β)
由以上概率取值可推得随机变量 y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1}的概率质量函数为
p ( y ∣ x ^ ; β ) = y ∗ p 1 ( x ^ ; β ) + ( 1 − y ) ∗ p 0 ( x ^ ; β ) p(y|\hat{x};\beta)=y* p_1(\hat{x};\beta)+(1-y)*p_0(\hat{x};\beta) p(y∣x^;β)=y∗p1(x^;β)+(1−y)∗p0(x^;β)
似然函数为: L ( β ) = ∏ i = 1 m p ( y i ∣ x i ^ ; β ) L(\beta)=\prod^m_{i=1}p(y_i|\hat{x_i};\beta) L(β)=∏i=1mp(yi∣xi^;β)
进一步对数似然为: l ( β ) = l n L ( β ) = ∑ i = 1 m l n p ( y i ∣ x i ^ ; β ) l(\beta)=lnL(\beta)=\sum^m_{i=1}ln p(y_i|\hat{x_i};\beta) l(β)=lnL(β)=∑i=1mlnp(yi∣xi^;β)
l ( β ) = l n L ( β ) = ∑ i = 1 m l n y ∗ p 1 ( x i ^ ; β ) + ( 1 − y i ) ∗ p 0 ( x i ^ ; β ) l(\beta)=lnL(\beta)=\sum^m_{i=1}ln y*p_1(\hat{x_i};\beta)+(1-y_i)*p_0(\hat{x_i};\beta) l(β)=lnL(β)=∑i=1mlny∗p1(xi^;β)+(1−yi)∗p0(xi^;β)
带入p1
和p0
,我们可以得到最终的损失函数
:
l ( β ) = ∑ i = 1 m ( y i β T x i ^ − l n ( 1 + e β T x i ^ ) ) l(\beta)=\sum^m_{i=1}(y_i\beta^T\hat{x_i}-ln(1+e^{\beta^T\hat{x_i}})) l(β)=∑i=1m(yiβTxi^−ln(1+eβTxi^))
由于损失函数通常为以最小化为优化目标,因此可以将最大化 l ( β ) l(\beta) l(β)等价于最小化 − l ( β ) -l(\beta) −l(β)
信息论
相对熵(KL散度):度量两个分布的差异,其典型使用场景是用来度量理想分布 p ( x ) p(x) p(x)和模拟分布 q ( x ) q(x) q(x)之间的差异。
D K L ( p ∣ ∣ q ) = ∑ x p ( x ) l o g b p ( x ) − ∑ x p ( x ) l o g b q ( x ) D_{KL}(p||q)=\sum_xp(x)log_bp(x)-\sum_xp(x)log_bq(x) DKL(p∣∣q)=∑xp(x)logbp(x)−∑xp(x)logbq(x)
从机器学习三要素中“策略”的角度来说,与理想分布最接近的模拟分布即为最优分布,因此可以通过最小化相对熵这个策略来求最优分布,由于理想分布p(x)是未知但固定的分布,所以 ∑ x p ( x ) l o g b p ( x ) \sum_xp(x)log_bp(x) ∑xp(x)logbp(x)为常量,那么最小化相对熵等价于最小化交叉熵
那么单个样本 y i y_i yi的交叉熵为:
− ∑ x p ( x ) l o g b q ( x ) -\sum_xp(x)log_bq(x) −∑xp(x)logbq(x)
− ∑ y i p ( y i ) l o g b q ( y i ) = − p ( 1 ) ∗ l o g b p 1 ( x ^ ; β ) − p ( 0 ) ∗ l o g b p 0 ( x ^ ; β ) = − y i ∗ l o g b p 1 ( x ^ ; β ) − ( 1 − y i ) ∗ l o g b p 0 ( x ^ ; β ) -\sum_{y_i}p(y_i)log_bq(y_i) = -p(1)*log_bp_1(\hat{x};\beta)-p(0)*log_bp_0(\hat{x};\beta)=-y_i*log_bp_1(\hat{x};\beta)-(1-y_i)*log_bp_0(\hat{x};\beta) −∑yip(yi)logbq(yi)=−p(1)∗logbp1(x^;β)−p(0)∗logbp0(x^;β)=−yi∗logbp1(x^;β)−(1−yi)∗logbp0(x^;β)
换成以e为底
− y i ∗ l n p 1 ( x ^ ; β ) − ( 1 − y i ) ∗ l n p 0 ( x ^ ; β ) -y_i*lnp_1(\hat{x};\beta)-(1-y_i)*lnp_0(\hat{x};\beta) −yi∗lnp1(x^;β)−(1−yi)∗lnp0(x^;β)
全体训练样本的交叉熵为
∑ i = 1 m [ − y i l n p 1 ( x i ^ ; β ) − ( 1 − y i ) l n p 0 ( x i ^ ; β ) ] \sum^m_{i=1}[-y_ilnp_1(\hat{x_i};\beta)-(1-y_i)lnp_0(\hat{x_i};\beta)] ∑i=1m[−yilnp1(xi^;β)−(1−yi)lnp0(xi^;β)]
类似地,带入p1和p0
= ∑ i = 1 m [ − y i l n ( e β T x i ^ − l n ( 1 1 + e β T x i ^ ) ) ] = ∑ i = 1 m ( − y i β T x i ^ + l n ( 1 + e β T x i ^ ) ) =\sum^m_{i=1}[-y_iln(e^{\beta^T\hat{x_i}}-ln(\frac{1}{1+e^{\beta^T\hat{x_i}}}))]=\sum^m_{i=1}(-y_i\beta^T\hat{x_i}+ln(1+e^{\beta^T\hat{x_i}})) =∑i=1m[−yiln(eβTxi^−ln(1+eβTxi^1))]=∑i=1m(−yiβTxi^+ln(1+eβTxi^))
同样也可以推导出相同的结果,该式为高阶可导连续凸函数,可以根据梯度下降法、牛顿法等进行求解最优解。
3、贝叶斯分类器
贝叶斯分类器
贝叶斯决策论
贝叶斯决策论是概率框架下实施决策的基本方法, 对分类任务来说, 在所有相关概率都已知的理性情形下, 贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。
假设有N种可能的类别标记,即 y = { c 1 , c 2 , c 3 , . . . , c N } y=\{c_1, c_2,c_3,...,c_N\} y={c1,c2,c3,...,cN}, λ i j \lambda_{ij} λij是将一个真实标记为 c j c_j cj的样本误分类为 c i c_i ci所产生的损失,基于后验概率 P ( c i ∣ x ) P(c_i|x) P(ci∣x)可获得将样本x分类为 c i c_i ci所产生的期望损失,即在样本x上的“条件风险”
R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i|x)=\sum^N_{j=1}\lambda_{ij}P(c_j|x) R(ci∣x)=∑j=1NλijP(cj∣x)
全部样本构成的总体风险为:
R ( h ) = E x [ R ( h ( x ) ∣ x ) ] R(h)=E_x[R(h(x)|x)] R(h)=Ex[R(h(x)∣x)]
其中,h为分类器模型,显然,分类效果越准确的h,其条件风险和总体风险也越小。
贝叶斯判定准则:为最小化总体风险R(h),只需在每个样本上选择那个能使条件风险R(c|x)最小的类别标记,即:
h ∗ ( x ) = a r g m i n c ∈ y P ( c ∣ x ) h^*(x)=argmin_{c\in y}P(c|x) h∗(x)=argminc∈yP(c∣x)
此时, h ∗ h^* h∗称为贝叶斯最优分类器
具体地,若目标是最小化分类错误率,误判损失 λ i j \lambda_{ij} λij在i=j的时候为0,其他情况下为1
此时,单个样本x的期望损失(条件风险)为
R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i|x)=\sum^N_{j=1}\lambda_{ij}P(c_j|x) R(ci∣x)=∑j=1NλijP(cj∣x)
又因为 ∑ j = 1 N P ( c j ∣ x ) = 1 \sum^N_{j=1}P(c_j|x)=1 ∑j=1NP(cj∣x)=1,则 R ( c i ∣ x ) = 1 − P ( c i ∣ x ) R(c_i|x)=1-P(c_i|x) R(ci∣x)=1−P(ci∣x)
于是,按照上述的推导,最小化分类错误率的贝叶斯最有分类器等价于 最大化后验概率
从贝叶斯决策论的角度:机器学习所要做的就是基于有限的训练样本集尽可能准确地估计出后验概率 P ( c ∣ x ) P(c|x) P(c∣x)
从机器学习自己的角度:给定一个样本x, 求一个能准确分类x的f(x),其有些算法可以看作是对后验概率建模P(c|x),而有些算法则是纯粹完成样本分类(SVM)
判别式模型:给定x, 直接建模P(c|x)来预测c
生成式模型:先对联合概率P(x,c)建模,然后再由此推导出P(c|x)
对于生成式模型,其建模思路为:
P ( c ∣ x ) = P ( x , c ) P ( x ) P(c|x)=\frac{P(x,c)}{P(x)} P(c∣x)=P(x)P(x,c)
再根据贝叶斯定理,上式可恒等变形为:
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) P(c|x)=\frac{P(c)P(x|c)}{P(x)} P(c∣x)=P(x)P(c)P(x∣c)
其中,P©是类先验概率,P(x|c)是样本x相对于类别标记c的类条件概率(似然函数),P(x)是用于归一化的证据因子
朴素贝叶斯分类器
基于贝叶斯公式来估计后验概率的主要困难在于:似然函数是所有属性的联合概率。
属性条件独立性假设:对已知类别,假设所有属性(特征)相互独立
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod^d_{i=1}P(x_i|c) P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)∏i=1dP(xi∣c)
其中,d为属性数目, x i x_i xi为x在第i个属性上的取值,基于贝叶斯判定准则:
h ∗ ( x ) = a r g m a x c ∈ y P ( c ∣ x ) = a r g m a x c ∈ y P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) h^*(x)=argmax_{c\in y}P(c|x)=argmax_{c\in y}\frac{P(c)}{P(x)}\prod^d_{i=1}P(x_i|c) h∗(x)=argmaxc∈yP(c∣x)=argmaxc∈yP(x)P(c)∏i=1dP(xi∣c)
由于对所有类别来说P(x)都相同,所以P(x)视为常量可以略去,则朴素贝叶斯最优分类器为:
h n b ( x ) = a r g m a x c ∈ y P ( c ) ∏ i = 1 d P ( x i ∣ c ) h_{nb}(x)=argmax_{c\in y}P(c)\prod^d_{i=1}P(x_i|c) hnb(x)=argmaxc∈yP(c)∏i=1dP(xi∣c)
从而朴素贝叶斯最优分类器等价于含 θ \theta θ参数的极大似然估计
半朴素贝叶斯分类器
为了降低贝叶斯公式中估计后验概率的困难,朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中这个假设往往很难成立,半朴素贝叶斯分类器的基本想法是:适当考虑一部分属性间的相互依赖信息,从而既不需进行完全概率计算,又不至于彻底忽略了比较强的属性依赖关系,独依赖估计是半朴素贝叶斯分类器最常见的策略:假设每个属性在类别之外最多仅依赖于一个其他属性,即:
P ( c ∣ x ) = P ( c ) ∏ i = 1 d P ( x i ∣ c , p a i ) P(c|x) = P(c)\prod^d_{i=1}P(x_i|c,pa_i) P(c∣x)=P(c)∏i=1dP(xi∣c,pai)
4、线性判别分析(LDA)
从几何的角度, 让全体训练样本经过投影后:
- 异类样本的中心尽可能远
- 同类样本的方差尽可能近
损失函数推导
经过投影后,异类样本的中心尽可能远
m a x ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 max||w^T\mu_0-w^T\mu_1||^2_2 max∣∣wTμ0−wTμ1∣∣22
(注:上式等价于每类的均值投影点尽可能的远。相当于前面乘了常数 ∣ w ∣ |w| ∣w∣,不影响结果。( m a x ∣ ∣ ∣ w ∣ ∗ ∣ μ 0 ∣ ∗ c o s θ 0 − ∣ w ∣ ∗ ∣ μ 1 ∣ ∗ c o s θ 1 ∣ ∣ 2 2 max|||w|*|\mu_0|*cos\theta_0-|w|*|\mu_1|*cos\theta_1||^2_2 max∣∣∣w∣∗∣μ0∣∗cosθ0−∣w∣∗∣μ1∣∗cosθ1∣∣22))
经过投影后,同类样本的协方差尽可能小
m i n w T Σ 0 w min w^T\Sigma_0w minwTΣ0w
- w T Σ 0 w = w T ( ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T ) w = ∑ x ∈ X 0 ( w T x − w T μ 0 ) ( x T w − μ 0 T w ) w^T\Sigma_0w=w^T(\sum_{x\in X_0}(x-\mu_0)(x-\mu_0)^T)w=\sum_{x\in X_0}(w^Tx-w^T\mu_0)(x^Tw-\mu^T_0w) wTΣ0w=wT(∑x∈X0(x−μ0)(x−μ0)T)w=∑x∈X0(wTx−wTμ0)(xTw−μ0Tw)
从而得出以下公式,
m a x J = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w = w T S b w w T S w w max J = \frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w}=\frac{w^TS_bw}{w^TS_ww} maxJ=wT(Σ0+Σ1)wwT(μ0−μ1)(μ0−μ1)Tw=wTSwwwTSbw
S b S_b Sb定义为类间散度矩阵, S w S_w Sw为类内散度矩阵
上式等价于 m i n − w T S b w min -w^TS_bw min−wTSbw, s . t . w T S w w = 1 s.t. w^TS_ww=1 s.t.wTSww=1
解上述等式约束,可利用拉格朗日乘子法进行求解
求解w
由朗格朗日乘子法可得拉格朗日函数为:
L ( w , λ ) = − w T S b w + λ ( w T S w w − 1 ) L(w,\lambda)=-w^TS_bw+\lambda(w^TS_ww-1) L(w,λ)=−wTSbw+λ(wTSww−1)
对w求偏导可得,
∂ L ( w , λ ) ∂ w = − ∂ ( w T S b w ) ∂ w + λ ∂ ( w T S w w − 1 ) ∂ w = − ( S b + S b T ) w + λ ( S w + S w T ) w \frac{\partial L(w,\lambda)}{\partial w}=-\frac{\partial(w^TS_bw)}{\partial w} + \lambda\frac{\partial(w^TS_ww-1)}{\partial w}=-(S_b+S_b^T)w + \lambda(S_w+S_w^T)w ∂w∂L(w,λ)=−∂w∂(wTSbw)+λ∂w∂(wTSww−1)=−(Sb+SbT)w+λ(Sw+SwT)w
由于 S b , S w S_b,S_w Sb,Sw是对称矩阵,所以
∂ L ( w , λ ) ∂ w = − 2 S b w + 2 λ S w w \frac{\partial{L(w,\lambda)}}{\partial w} = -2S_bw + 2\lambda S_ww ∂w∂L(w,λ)=−2Sbw+2λSww
令上式等于0,即可得
S b w = λ S w w S_bw=\lambda S_ww Sbw=λSww ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w = λ S w w (\mu_0-\mu_1)(\mu_0-\mu_1)^Tw=\lambda S_ww (μ0−μ1)(μ0−μ1)Tw=λSww
令 ( μ 0 − μ 1 ) T w = γ (\mu_0-\mu_1)^Tw = \gamma (μ0−μ1)Tw=γ(前面是列向量,后面是行向量,所以点乘为实数)
γ ( μ 0 − μ 1 ) = λ S w w \gamma(\mu_0-\mu_1)=\lambda S_ww γ(μ0−μ1)=λSww
w = γ λ S w − 1 ( μ 0 − μ 1 ) = S w − 1 ( μ 0 − μ 1 ) w=\frac{\gamma}{\lambda}S^{-1}_w(\mu_0-\mu_1)= S^{-1}_w(\mu_0-\mu_1) w=λγSw−1(μ0−μ1)=Sw−1(μ0−μ1)
5、支持向量机(SVM)
从几何角度, 对于线性可分数据集, 支持向量机就是找距离正负样本都最远的超平面, 相比于感知机(只是寻找可以分离正负样本的超平面), 其解释唯一的, 且不偏不倚, 泛化性能更好。
超平面
n维空间的超平面( w T x + b = 0 w^Tx+b=0 wTx+b=0,其中 w , x ∈ R n w,x\in R^n w,x∈Rn):
-
超平面方程不唯一
-
法向量w和位移项b确定一个唯一超平面
-
法向量w垂直于超平面(缩放w,b时,若缩放倍数为负数会改变法向量方向)
-
法向量w指向的那一半空间为正空间,另一半为负空间
-
任意点x到超平面的距离公式为 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=∣∣w∣∣∣wTx+b∣
几何间隔
对于给定的数据集X和超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0,定义数据集X中的任意一个样本点
( x i , y i ) , y i ∈ { − 1 , 1 } , i = 1 , 2 , . . . , m (x_i,y_i),y_i\in \{-1,1\},i=1,2,...,m (xi,yi),yi∈{−1,1},i=1,2,...,m关于超平面的几何间隔为:
γ i = y i ( w T x i + b ) ∣ ∣ w ∣ ∣ \gamma_i=\frac{y_i(w^Tx_i+b)}{||w||} γi=∣∣w∣∣yi(wTxi+b)
正确分类时, γ i > 0 \gamma_i>0 γi>0,几何间隔此时也等价于点到超平面的距离
没有正确分类时, γ i < 0 \gamma_i<0 γi<0
对于给定的数据集X和超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0,定义数据集X关于超平面的几何间隔为:
数据集X中所有样本点的几何间隔最小值
γ = m i n i = 1 , 2... , m γ i \gamma = min_{i=1,2...,m} \gamma_i γ=mini=1,2...,mγi
支持向量机模型
模型:给定线性可分数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔 γ \gamma γ
达到最大的那个超平面,然后套上一个sign函数实现分类功能
y = s i g n ( w T x + b ) = { 1 w T x + b > 0 − 1 w T x + b < 0 y=sign(w^Tx+b)=\begin{cases} 1 & w^Tx + b > 0\\ -1 & w^Tx+b < 0 \end{cases} y=sign(wTx+b)={1−1wTx+b>0wTx+b<0
所以其本质和感知机一样,仍然是在求一个超平面,几何间隔最大的超平面一定就是我们前面所说的距离正负样本都最远的超平面
原因有两点:
- 当超平面没有正确划分正负样本时:几何间隔最小的为误分类点,因此 γ < 0 \gamma<0 γ<0
- 当超平面正确划分超平面时: γ > = 0 \gamma >= 0 γ>=0,且越靠近中央 γ \gamma γ越大
策略与求解
给定线性可分数据集X,设X中几何间隔最小的样本为 ( x m i n , y m i n ) (x_{min},y_{min}) (xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题
假设该问题的最优解为 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗),那么 ( α w ∗ , α b ∗ ) (\alpha w^*,\alpha b^*) (αw∗,αb∗)也是最优解,且超平面也不变,因此还需要对 w , b w,b w,b做一定的限制才能使得上述优化问题有可解的唯一解,不仿设分子 y m i n ( w T x m i n + b ) = 1 y_{min}(w^Tx_{min}+b)=1 ymin(wTxmin+b)=1,因为对于特定的 ( x m i n , y m i n ) (x_{min},y_{min}) (xmin,ymin)来说,能使得 y m i n ( w T x m i n + b ) = 1 y_{min}(w^Tx_{min}+b)=1 ymin(wTxmin+b)=1的 α \alpha α有且只有一个,因此上述问题进一步转化为:
由于求 1 / ∣ ∣ w ∣ ∣ 1/||w|| 1/∣∣w∣∣的最大值相当于求 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2的最小值,所以上述目标函数等价于:
因为现在的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题,可以通过拉格朗日对偶性变换到对偶变量的优化问题,即通过求解与原问题等价的对偶问题得到原始问题的最优解,这就是线性可分条件下支持向量机的对偶算法,这样做的优点在于:对偶问题往往更容易求解,二是可以自然的引入核函数,进而推广到非线性分类问题。
参考以下:
拉格朗日对偶函数 Γ ( μ , λ ) \Gamma(\mu,\lambda) Γ(μ,λ)为拉格朗日函数 L ( x , μ , λ ) L(x,\mu,\lambda) L(x,μ,λ)的下确界。同时“弱对偶性”成立,进而参考主问题满足充分条件,得出该问题满足强对偶性成立,故满足KKT条件。
软间隔
在现实任务中,线性不可分的情形才是最常见的, 因此需要允许支持向量机犯错。
最终分类模型:
f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b f(x) = w^Tx + b = \sum^m_{i=1}\alpha_i y_i x^T_i x +b f(x)=wTx+b=i=1∑mαiyixiTx+b
发现分类新样本只需要跟支持向量做点积。
核函数
之前的SVM推导中,假设了输入空间是线性可分的(存在划分超平面)或者允许SVM犯错的超平面。现实中的任务往往非线性可分(不存在划分超平面),这时候就不能在这个空间上用SVM。
核方法 是一类把低维空间的非线性可分问题,转化为高维空间的线性可分问题的方法。核方法不仅仅用于SVM,还可以用于其他数据为非线性可分的算法。核方法的理论基础是Cover’s theorem,指的是对于非线性可分的训练集,可以大概率通过将其非线性映射到一个高维空间来转化成线性可分的训练集。
SVM中,令 ϕ(xi)
表示将 xi
映射后的线性向量,那么对偶问题是:
max α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) ⊺ ϕ ( x j ) subject to ∑ i = 1 m α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , … , m (1) \begin{equation}\begin{aligned}& \max_{\alpha}& &\sum_{i=1}^m \alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i \alpha_j y_i y_j \phi(x_i)^{\intercal} \phi(x_j)\\& \text{subject to}& & \sum_{i=1}^m \alpha_i y_i = 0 \\ & & & 0 \leqslant \alpha_i \leqslant C,\; i = 1,\dots,m\end{aligned}\end{equation}\tag{1} αmaxsubject toi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjϕ(xi)⊺ϕ(xj)i=1∑mαiyi=00⩽αi⩽C,i=1,…,m(1)
最终分类模型是:
f ( x ) = ∑ i = 1 m α i y i ϕ ( x i ) ⊺ ϕ ( x ) + b (2) f(x) = \sum_{i = 1}^m \alpha_iy_i\phi(x_i)^{\intercal} \phi(x) +b \tag{2} f(x)=i=1∑mαiyiϕ(xi)⊺ϕ(x)+b(2)
跟之前的SVM
相比,除了 xi
变成了 ϕ(xi)
,其他式子没有任何变化。
核函数: 设 X \mathcal{X} X是输入空间(即 x i ∈ X x_i \in \mathcal{X} xi∈X, X \mathcal{X} X是 R n R^n Rn的子集或离散集合),又设 H \mathcal{H} H为特征空间( H \mathcal{H} H是希尔伯特空间), 如果存在一个从 X \mathcal{X} X到 H \mathcal{H} H的映射,
ϕ ( x ) : X → H (3) \phi(x) : \mathcal{X} \to \mathcal{H} \tag{3} ϕ(x):X→H(3)
使得对所有 x , z ∈ X x,z \in \mathcal{X} x,z∈X ,函数 K ( x , z ) K(x,z) K(x,z)满足条件
K ( x , z ) = ⟨ ϕ ( x ) , ϕ ( z ) ⟩ (4) K(x,z) = \langle \phi(x),\phi(z) \rangle \tag{4} K(x,z)=⟨ϕ(x),ϕ(z)⟩(4)
则称 K 为核函数。其中 ϕ ( x ) \phi(x) ϕ(x) 为映射函数, ⟨ ⋅ , ⋅ ⟩ \langle \cdot,\cdot \rangle ⟨⋅,⋅⟩为内积。
即核函数输入两个向量,它返回的值跟两个向量分别作 ϕ \phi ϕ 映射然后点积的结果相同。
核技巧是一种利用核函数直接计算 ⟨ ϕ ( x ) , ϕ ( z ) ⟩ \langle \phi(x),\phi(z) \rangle ⟨ϕ(x),ϕ(z)⟩ ,以避开分别计算 $\phi(x) $和 $\phi(z) $,从而加速核方法计算的技巧。
得益于SVM对偶问题的表现形式,核技巧可以应用于SVM。(1)可以改成
max α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) subject to ∑ i = 1 m α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , … , m (5) \begin{equation}\begin{aligned}& \max_{\alpha}& &\sum_{i=1}^m \alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i \alpha_j y_i y_j K(x_i,x_j)\\& \text{subject to}& & \sum_{i=1}^m \alpha_i y_i = 0 \\ & & & 0 \leqslant \alpha_i \leqslant C,\; i = 1,\dots,m\end{aligned}\end{equation}\tag{5} αmaxsubject toi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjK(xi,xj)i=1∑mαiyi=00⩽αi⩽C,i=1,…,m(5)
(2)可改写为:
f ( x ) = ∑ i = 1 m α i y i K ( x i , x ) + b (6) f(x) = \sum_{i = 1}^m \alpha_iy_iK(x_i,x) +b \tag{6} f(x)=i=1∑mαiyiK(xi,x)+b(6)
核函数的选择是SVM的最大变数,如果核函数选择不适,那么 ϕ 将不能将输入空间映射到线性可分的特征空间
6、聚类
聚类:物以类聚,将相似的样本聚集到一起,使得同一类簇的样本尽可能接近,不同类簇的样本尽可能远离。
对“距离”的定义:
1、非负性:
d
i
s
t
(
x
i
,
x
j
)
>
=
0
dist(x_i,x_j) >=0
dist(xi,xj)>=0
2、同一性: d i s t ( x i , x j ) = 0 dist(x_i,x_j)=0 dist(xi,xj)=0当且仅当 x i = x j x_i=x_j xi=xj
3、对称性: d i s t ( x i , x j ) = d i s t ( x j , x i ) dist(x_i,x_j)=dist(x_j,x_i) dist(xi,xj)=dist(xj,xi)
4、直递性: d i s t ( x i , x j ) < = d i s t ( x i , x k ) + d i s t ( x k , x j ) dist(x_i,x_j)<=dist(x_i,x_k)+dist(x_k, x_j) dist(xi,xj)<=dist(xi,xk)+dist(xk,xj)
常用的距离度量-连续/离散有序
明可夫斯基距离:
d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dist_{mk}(x_i, x_j)=(\displaystyle\sum^n_{u=1}|x_{iu}-x_{ju}|^p)^{\frac{1}{p}} distmk(xi,xj)=(u=1∑n∣xiu−xju∣p)p1
p=2退化为欧式距离:
d i s t e d ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 2 = ( ∑ u = 1 n ∣ x i u − x j u ∣ 2 ) 1 2 dist_{ed}(x_i,x_j)=||x_i-x_j||_2=(\displaystyle\sum^n_{u=1}|x_{iu}-x_{ju}|^2)^{\frac{1}{2}} disted(xi,xj)=∣∣xi−xj∣∣2=(u=1∑n∣xiu−xju∣2)21
p=1退化为曼哈顿距离:
d i s t m a n ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 1 = ∑ u = 1 n ∣ x i u − x j u ∣ dist_{man}(x_i,x_j)=||x_i-x_j||_1=\displaystyle\sum^n_{u=1}|x_{iu}-x_{ju}| distman(xi,xj)=∣∣xi−xj∣∣1=u=1∑n∣xiu−xju∣
常用的距离度量-离散无序
VDM(Value Difference Metric)度量
Kmeans(原型聚类)无监督学习
原型指的是类结构能通过一组典型的特例刻画,比如男、女类似的。
给定样本集 D = { x 1 , x 2 , . . . , x m } D=\{x_1, x_2, ..., x_m\} D={x1,x2,...,xm},k均值算法针对聚类所得簇划分 C = c 1 , c 2 , c k C={c_1,c_2,c_k} C=c1,c2,ck,求解最小化平方误差问题:
E = ∑ i = 1 k ∑ x ∈ C i ∣ ∣ x − μ ∣ ∣ 2 2 E=\displaystyle\sum^k_{i=1}\sum_{x\in C_i}||x-\mu||^2_2 E=i=1∑kx∈Ci∑∣∣x−μ∣∣22
其中 μ i = 1 ∣ C i ∣ ∑ x ∈ C i \mu_i=\frac{1}{|C_i|}\sum_{x \in C_i} μi=∣Ci∣1∑x∈Ci,x表示的是簇 C i C_i Ci的均值向量
求解该式需要考虑样本集D所有可能的划分,是一个NP-hard问题,一般来说,我们采用迭代算法求解近似划分。
7、KNN(无监督)
KNN:k个最近的邻居, 即每个样本都可以用它最接近的k个邻居来代表
该算法的思想是: 一个样本与数据集中的k个样本最相似, 如果这k个样本中的大多数属于某一个类别, 则该样本也属于这个类别。
距离度量
在选择两个实例相似性时, 一般使用的欧氏距离
Lp距离定义:
K值选择
如果选择较小的k值, 就相当于用较小的邻域中的训练实例进行预测, 学习的近似误差会减小, 只有与输入实例较近的训练实例才会对预测结果起作用, 但缺点是学习的估计误差会增大, 预测结果会对近邻的实例点敏感。如果邻近的实例点恰巧是噪声, 预测就会出错。换句话说, K值减小就意味着整体模型变复杂, 分的不清楚, 容易过拟合
如果选择较大K值, 就相当于用较大邻域中的训练实例进行预测, 其优点是可以减少学习的估计误差, 但近似误差会增大,也就是对输入实例预测不准确, K值的增大就意味着整体模型变的简单。
近似误差:相当于训练集的训练误差
测试误差: 相当于测试集的测试误差
在应用中,K值一般取一个比较小的数值,通常采用交叉验证法来选取最优的K值。
流程:
1) 计算已知类别数据集中的点与当前点之间的距离
2) 按距离递增次序排序
3) 选取与当前点距离最小的k个点
4) 统计前k个点所在的类别出现的频率
5) 返回前k个点出现频率最高的类别作为当前点的预测分类