西瓜书第六章学习笔记


tip:此笔记需要配合《西瓜书》一同食用!

1. 知识脉络

在这里插入图片描述

2. 对知识脉络的一些补充

2.1 间隔与支持向量

  1. 为什么红色超平面鲁棒性最好:将多个划分超平面进行平移,红色超平面可移动的范围最大

  2. 对式6.3推导的一些补充及解读:在这里插入图片描述
    w和b是可以等价缩放的(平行移动),缩放后的超平面还是这个面,缩放后取到等号‘=’时,则是超平面分别移到正例(= +1)边界和反例(=-1)边界上的时候。

  3. 对式6.4的一些补充说明
    2的来源是:(正样例类别数 - 负样例类别数)* ω =2,因为在上个补充里已经把正例和负例缩放平移成+1和-1了,二者相减得到2

  4. 对式6.6的一些补充说明:间隔γ看起来只与ω有关,但事实上b通过约束(等价缩放)隐式地影响着ω的取值,进而对间隔产生影响。

2.2 对偶问题

  1. 对式6.8-6.10的一些补充说明:此处对式6.6使用拉格朗日乘数方法将2个变量m个约束的求极值问题转变为2+m个变量的无约束问题。对每个约束添加拉格朗日乘子ai(i=1,2,…,m),一共有m个。得到拉格朗日乘数函数:在这里插入图片描述
    注意到这是一个不等式约束求解,应用拉格朗日乘数法求极值时需要满足KTT条件,当一个优化问题包含多个不等式式时,应满足:在这里插入图片描述
    这里第一个式子是不等式约束方程,第二个式子是对应方程的拉格朗日乘数的要求,第三个式子是对二者成积的要求(这里能够证明:当最优值在约束平面内部时即:g(x)<0时,等价为μj=0。当最优值在约束平面边界时,g(x)=0。综合起来就是,不管最优值在哪,μ*g(x)=0,推到多个约束方程就是第三个式子的形式,证明见《西瓜书》附录B1)。这是因为对于不等式约束的拉格朗日乘数方程体现不出不等式的约束,需要额外的方程来体现这种约束关系。
    将其展开得到:在这里插入图片描述
    (对象向量求导前导不变后导转置),得到式6.9和式6.10在这里插入图片描述

  2. 对式6.8-6.11的一些补充说明:将式在这里插入图片描述
    代入式在这里插入图片描述
    得到式:
    在这里插入图片描述
    则有式6.6的对偶问题:在这里插入图片描述
    即为式6.11:在这里插入图片描述
    约束条件是:在这里插入图片描述
    就将找到最大的ω和b的文题转化成了找到最大的α的问题。对于任意训练样本总有αi = 1或者αi = 0。对于非支持向量,αi = 0;对于支持向量,αi = 1。即支持向量机只和支持向量有关。

  3. 这里说明一下拉格朗日对偶问题:一个对偶函数就是拉格朗日乘数函数对被优化的变量求偏导并令其为零得到对偶函数的表达形式。假设拉格朗日乘数函数的最优值p*,对于任意的μj>0和任意的λi(μj和λi分别是不等式约束可等式约束的乘子)都有,拉格朗日乘数函数的对偶函数的取值是:d*<=p的。这意味着对偶函数给出了主函数最优值的下界,这就将对拉格朗日乘数函数对变量的优化问题转换成了对拉格朗日乘数函数的对偶函数对参数μj和λi的优化问题。而拉格朗日乘数函数的对偶函数优化问题(对偶问题)总是凸优化问题,不论拉格朗日乘数函数(主问题)凸性如何。对于d<p时称为“弱对偶性”成立,对于d=p*时称为“强对偶性”成立。对于一般问题,“强对偶性”不成立,但当主问题是凸优化问题且其可行域中至少有一点使得不等式约束严格成立,则“强对偶性”成立。“强对偶性”成立时,原变量和对偶变量存在数值关系,解决了对偶问题,等同于解决了主问题。(详见西瓜书附录B1)

  4. 对SMO算法的一些补充:详见我的另外一篇博客手推SVM及SMO算法实现

    扫描二维码关注公众号,回复: 8971529 查看本文章

2.3 核函数

  1. 核矩阵的形式在这里插入图片描述
    每个元素都是对应样例的核函数计算结果。

  2. 什么是半正定矩阵?:若有n阶方阵A,对任意非零向量X = [x1, x2, … , xn], 都有X.TAX >= 0, 则称A为半正定矩阵。

  3. 核函数选择基本经验:核函数的选择是支持向量机的最大变数,也很关键。对于文本数据通常选用线性核;情况不明时刻先尝试高斯核

  4. 核函数的一些性质在这里插入图片描述

2.4 软间隔与正则化

  1. 对与替代损失函数的自变量z的一些看法:替代损失函数中的自变量z是不同的,其本质是对约束条件的具现。解释如下:
    硬间隔约束条件方程:在这里插入图片描述
    我们假设变量z = yi*(np.dot(ω.T, xi) + b) - 1。就是对上式移项,并将不等号改为等号并令为z, z是关于xi和yi的方程,这里我们假设ω和b为固定了的常量。
    样本(xi,yi)符合这个约束时,即 yi*(np.dot(ω.T, xi) + b) >=1,z>= 0
    样本(xi,yi)不符合这个约束时,即 yi*(np.dot(ω.T, xi) + b)<1,z<0
    引入0/1损失函数:在这里插入图片描述
    当样本(xi,yi)符合约束时取值为0;当样本(xi,yi)不符合约束时取值为1,注意这里的定义,要将损失函数取值和样本符合约束与否联系起来,才能理解不同替代损失函数中z的代入是什么。
    因为0/1损失函数(就是上图里面的那个)非凸,非连续,数学性质不好,很难已用现有数学工具和计算机处理,故将其用别的相似的函数进行替代,称为替代函数:在这里插入图片描述
    但是这些替代函数中的z和0/1损失函数中的z并不是一个东西,我们以hinge损失为例,我们在下图中找到hinge损失对应图像。
    在这里插入图片描述
    这些函数图像都与0/1损失函数类似,而我们要关注的就是这些函数取值为0时,对应的z的值。对于0/1损失函数来说,当其取值为0时候,z(0/1)>0, 对应的是样本符合约束,此时z(0/1) = yi*(np.dot(ω.T, xi) + b) - 1,(0/1)代表这是来自0/1损失函数中的z。对于hinge损失来说,此函数取值为零时,z(hinge)>=1, 对应的同样也是样本符合约束,那么此时z(hinge) = z(0/1) + 1 = [yi*(np.dot(ω.T, xi) + b) - 1] + 1 = yi*(np.dot(ω.T, xi) + b),故yi*(np.dot(ω.T, xi) + b)才是hinge损失中z(hinge)对应的约束的具现。
    其他损失函数类同。

  2. 松弛变量:松弛变量的具体值是一些样本越过边界的欧氏距离,用松弛变量来衡量出错样本的出错程度,即那些出错样本跨过支持向量边界多少。而C是对出错样本出错程度的容忍度,C越大,容忍度越低,C无穷大时候不能容忍任何出错样本;C越小,容忍度越高。同时修改约束条件为:在这里插入图片描述
    来确定支持向量的边界。

  3. 对式6.39的一些补充在这里插入图片描述

4.对式6.40的一些补充在这里插入图片描述在这里插入图片描述

  1. 对结构风险的补充:本文的结构风险是指总体风险中直接对应于结构模型的部分。是用于描述模型本身的某些性质。
    而如何对经验风险最小化(采取什么样的正则化项)表述了我们希望获得一个何种性质的模型。
    同时该项的存在有助于削减假设空间,从而降低了最小化训练误差的过拟合风险。
    从贝叶斯估计的角度来看,正则化项可认为是提供了模型的先验概率。
  2. 对经验风险的补充:用于描述模型与训练数据的契合程度

2.5 支持向量回归SVR

  1. 对6.50式的一点补充:请参见对式6.39的一些补充,这两个极为类似。
  2. 对6.51式的补充在这里插入图片描述在这里插入图片描述
  3. 对6.51式的补充在这里插入图片描述在这里插入图片描述
  4. 取平均值的b的计算方法在这里插入图片描述

6.6 核方法

  1. 对表示定理中alptha的一个解释:alptha表征第i个样本的权重。在SVM中,只有对应支持向量的样本alptha才不为零,其余样本权重alptha都是零。
  2. KLDA中应用核方法的解释:虽然书中和各个博客对什么是已知的什么是未知的阐述都不太明晰,但是我觉得在核方法中,核函数ω是已知的,这样的映射空间Φ也就是已知的了,只不过映射空间Φ不太让人在直观上理解,故用核函数ω来表示映射空间Φ。
  3. 在KLDA中的更多疑问:请点击链接下载西瓜书注释并参见第六章注释。

补充:支持向量机与神经网络的联系

SVM与NN有密切联系,对于一个将隐藏层神经元数目设置为样本数且每个训练样本只对应一个神经元节点,则以高斯径向基函数为激活函数的RBF网络恰与高斯基SVM的预测函数相同

参考

周志华《机器学习》
南瓜书PumpkinBook
西瓜书注释
机器学习西瓜书

发布了39 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/UEVOLIshy/article/details/90580362