最近在补一些机器学习的基础知识,所以就刷了一下李航博士的《统计学习方法》。那么刷一本书怎么才能彻底呢,当然是刷题了。幸好作者在每一章留有课后题,在这里尝试做一下。

(一想到这部分内容可能会被完爆我好几条街的大神看到就觉得好害羞 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄。个人水平有限,望大神指正)


在做题之前先吐槽一下第7章的内容,本章介绍了支持向量机的相关知识,内容安排合理,讲解清楚,是很棒的入门材料。不过在刷书的过程中遇到了一些小疑问,我准备把这些小疑问和大家分享一下。有些通过查文献找到了答案,有些还没有解决,希望路过的大神指点。

1、P104在推导拉格朗日函数L(w,b,α)L(w,b,\alpha)L(w,b,α)极小值的过程中,如何确定所求得的极值点(导数等于0的点)就是L(w,b,α)L(w,b,\alpha)L(w,b,α)的极小值而不是极大值呢?是否可以证明一下其所对应的二次型在这一情况下只能取极小值?

2、p120式7.82下面那句话如果严格说来应该是“对于不完备的赋范向量空间SSS,一定可以找到一个完备的赋范向量空间HHH,使得SSS在HHH中稠密”

3、P130式7.116下面那段话,原文的意思是如果0<αinew<C0<\alpha_i^{\text{new}}<C0<αinew​<C,那么b1new=b2newb_1^{\text{new}}=b_2^{\text{new}}b1new​=b2new​。我尝试证明一下这但是死活搞不出来。后来转念一想,P112最下面的部分不是已经说明了bbb的值不唯一么。为什么这里就变成b1new=b2newb_1^{\text{new}}=b_2^{\text{new}}b1new​=b2new​一定成立了呢?

后来经过查阅Platt的原始文献"Fast training of support vector machines using sequential minimal optimization"发现原文中是这么说的:“when b1b_1b1​ and b2b_2b2​ are vaild, they are equal”(b1,b2b_1, b_2b1​,b2​是原作者使用的记号,也就相当于b1new,b2newb_1^{\text{new}}, b_2^{\text{new}}b1new​,b2new​)。所以我觉得原文中的内容是不是这个意思:“如果b1new,b2newb_1^{\text{new}}, b_2^{\text{new}}b1new​,b2new​都复合条件,那么用哪个作为最终结果都是一样的”。不知这部分理解是否正确,求大神指点。

4、P130在SMO算法中,应该在第一步也将bbb初始化为0


进入正题,下面的答案是我自己做的,有时候会偷懒╮( ̄▽ ̄)╭,请见谅。

1.1 比较感知机的对偶形式与线性可分支持向量机的对偶形式。

这是一个开放问题,如何比较这两种模型的对偶形式呢。我思前想后决定首先把这两个对偶形式写出来:

给定一个训练数据集
T={(x1,y1),(x2,y2),…,(xN,yN)}T=\{(x_1, y_1), (x_2, y_2), \dots, (x_N, y_N) \}T={(x1​,y1​),(x2​,y2​),…,(xN​,yN​)}
其中,xi∈X=Rn,yi∈Y={−1,1},i=1,2,…,Nx_i\in \mathcal{X} = R^n, y_i \in \mathcal{Y} =\{-1,1\}, i=1,2, \dots,Nxi​∈X=Rn,yi​∈Y={−1,1},i=1,2,…,N。

根据本书前面的内容:感知机学习算法是求参数w,bw,bw,b,使其为以下损失函数极小化问题的解:

min⁡w,bL(w,b)=−∑xi∈Myi(w⋅xi+b)\min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)w,bmin​L(w,b)=−xi​∈M∑​yi​(w⋅xi​+b)

其中MMM为误分类点的集合。上式称为感知机算法的原始形式,事实上, 如果使用P114页所介绍的[∗]+[*]_+[∗]+​函数,可以将上述原始形式写为:

min⁡w,bL(w,b)=∑i=1N[−yi(w⋅xi+b)]+\min_{w,b}L(w,b)=\sum_{i=1}^N[-y_i(w\cdot x_i+b)]_+w,bmin​L(w,b)=i=1∑N​[−yi​(w⋅xi​+b)]+​

如果将w,bw,bw,b表示为实例xix_ixi​和标记yiy_iyi​的线性组合的形式,即:

w=∑j=1Nαjyjxjb=∑j=1Nαjyj\begin{align} w&=\sum_{j=1}^N\alpha_jy_jx_j\\ b&=\sum_{j=1}^N\alpha_jy_j\end{align}wb​=j=1∑N​αj​yj​xj​=j=1∑N​αj​yj​​​

其中αj>0,j=1,2,…,N\alpha_j>0, j=1,2, \dots, Nαj​>0,j=1,2,…,N那么上述原始形式可以写为如下的对偶形式:

min⁡w,bL(w,b)=∑i=1N[−yi(w⋅xi+b)]+=∑i=1N[−yi(∑j=1Nαjyjxj⋅xi+∑j=1Nαjyj)]+=∑i=1N[−∑j=1Nαjyiyj(xj⋅xi+1)]+\begin{align} \min_{w,b}L(w,b)&=\sum_{i=1}^N[-y_i(w\cdot x_i+b)]_+\\ &=\sum_{i=1}^N[-y_i(\sum_{j=1}^N\alpha_jy_jx_j\cdot x_i+\sum_{j=1}^N\alpha_jy_j)]_+\\ &=\sum_{i=1}^N[-\sum_{j=1}^N\alpha_jy_iy_j(x_j\cdot x_i+1)]_+ \end{align}w,bmin​L(w,b)​=i=1∑N​[−yi​(w⋅xi​+b)]+​=i=1∑N​[−yi​(j=1∑N​αj​yj​xj​⋅xi​+j=1∑N​αj​yj​)]+​=i=1∑N​[−j=1∑N​αj​yi​yj​(xj​⋅xi​+1)]+​​​

事实上,上述最优化问题可以通过求L(w,b)L(w,b)L(w,b)关于α\alphaα的导数,然后使用梯度下降法得到。但是P34页所给出的求解步骤与此过程等价,并且也更简便。

相比之下,线性可分支持向量机的原始形式是求解w,bw,bw,b,使其为如下最优化问题的解:

min⁡w,b12∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0,i=1,2,…,N\begin{align}\min_{w,b}\quad&\frac{1}{2}||w||^2 \\ \text{s.t.} \quad&y_i(w\cdot x_i+b)-1\ge0, i=1,2,\dots,N \end{align}w,bmin​s.t.​21​∣∣w∣∣2yi​(w⋅xi​+b)−1≥0,i=1,2,…,N​​

上述最优化问题的对偶问题为:

min⁡α12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαis.t.∑i=1Nαiyi=0αi≥0,i=1,2,…,N\begin{align}\min_\alpha \quad &\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\sum_{i=1}^N\alpha_i\\ \text{s.t.} \quad &\sum_{i=1}^N\alpha_iy_i=0\\ &\alpha_i \ge 0, i=1,2, \dots, N \end{align}αmin​s.t.​21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)−i=1∑N​αi​i=1∑N​αi​yi​=0αi​≥0,i=1,2,…,N​​

最终w,bw, bw,b的值可通过下式计算

w=∑i=1Nαiyixib=yj−∑i=1Nαiyi(xi⋅xj)\begin{align}w&=\sum_{i=1}^N\alpha_iy_ix_i \\ b&=y_j-\sum_{i=1}^N\alpha_iy_i(x_i\cdot x_j) \end{align}wb​=i=1∑N​αi​yi​xi​=yj​−i=1∑N​αi​yi​(xi​⋅xj​)​​

可以看出,在线性可分支持向量机的对偶形式中,www也是被表示为实例xix_ixi​和标记yiy_iyi​的线性组合的形式。


1.2 已知正例点x1=(1,2)Tx_1=(1,2)^\text{T}x1​=(1,2)T,x2=(2,3)Tx_2=(2,3)^\text{T}x2​=(2,3)T,x3=(3,3)Tx_3=(3,3)^\text{T}x3​=(3,3)T,负例点x4=(2,1)Tx_4=(2,1)^\text{T}x4​=(2,1)T,x5=(3,2)Tx_5=(3,2)^\text{T}x5​=(3,2)T,试求最大间隔分离超平面和分类决策函数,并在图上画出分离超平面、间隔边界及支持向量。

这个问题的解答就直接用书上给的步骤就好。这里直接用sklearn提供的包算一下结果:

from sklearn import svm
x=[[1, 2], [2, 3], [3, 3], [2, 1], [3, 2]]
y=[1, 1, 1, -1, -1]
clf = svm.SVC(kernel='linear',C=10000)
clf.fit(x, y)
print clf.coef_
print clf.intercept_

最终的结果是:

>>> [[-1  2]]
[-2]

然后可以使用matplotlib画图:

import matplotlib.pyplot as plt
import numpy as np
plt.scatter([i[0] for i in x], [i[1] for i in x], c=y)
xaxis = np.linspace(0, 3.5)
w = clf.coef_[0]
a = -w[0] / w[1]
y_sep = a * xaxis - (clf.intercept_[0]) / w[1]
b = clf.support_vectors_[0]
yy_down = a * xaxis + (b[1] - a * b[0])
b = clf.support_vectors_[-1]
yy_up = a * xaxis + (b[1] - a * b[0])
plt.plot(xaxis, y_sep, 'k-')
plt.plot(xaxis, yy_down, 'k--')
plt.plot(xaxis, yy_up, 'k--')
plt.scatter (clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=150, facecolors='none', edgecolors='k')
plt.show()


1.3 线性支持向量机还可以定义为以下形式:
min⁡w,b,ξ12∣∣w∣∣2+C∑i=1Nξi2s.t.yi(w⋅xi+b)≥1−ξi,i=1,2,…,Nξi≥0,i=1,2,…,N\begin{align} \min_{w,b,\xi} \quad & \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i^2 \\ \text{s.t.} \quad &y_i(w\cdot x_i+b)\ge 1-\xi_i, i=1, 2, \dots, N\\ &\xi_i\ge 0, i=1, 2, \dots, N \end{align}w,b,ξmin​s.t.​21​∣∣w∣∣2+Ci=1∑N​ξi2​yi​(w⋅xi​+b)≥1−ξi​,i=1,2,…,Nξi​≥0,i=1,2,…,N​​
试求其对偶形式。

解:
大部分过程与书上一样,可以仿照书中的步骤写出最优化问题所对应的拉格朗日函数:
L(w,b,ξ,α,μ)=12∣∣w∣∣2+C∑i=1Nξi2−∑i=1Nαi(yi(w⋅xi+b)−1+ξi)−∑i=1NμiξiL(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i^2 -\sum_{i=1}^N\alpha_i(y_i(w\cdot x_i+b)-1+\xi_i)-\sum_{i=1}^N\mu_i\xi_iL(w,b,ξ,α,μ)=21​∣∣w∣∣2+Ci=1∑N​ξi2​−i=1∑N​αi​(yi​(w⋅xi​+b)−1+ξi​)−i=1∑N​μi​ξi​
其中αi≥0,μi≥0\alpha_i\ge0, \mu_i\ge0αi​≥0,μi​≥0.

对偶问题是拉格朗日函数的极大极小问题。首先求LLL对w,b,ξw,b,\xiw,b,ξ的极小:

∇wL(w,b,ξ,α,μ)=w−∑i=1Nαiyixi=0∇bL(w,b,ξ,α,μ)=−∑i=1Nαiyi=0∇ξiL(w,b,ξ,α,μ)=2Cξi−αi−μi=0\begin{align} \nabla_wL(w,b,\xi,\alpha,\mu)&=w-\sum_{i=1}^N\alpha_iy_ix_i=0\\ \nabla_bL(w,b,\xi,\alpha,\mu)&=-\sum_{i=1}^N\alpha_iy_i=0\\ \nabla_{\xi_i}L(w,b,\xi,\alpha,\mu)&=2C\xi_i-\alpha_i-\mu_i=0 \end{align}∇w​L(w,b,ξ,α,μ)∇b​L(w,b,ξ,α,μ)∇ξi​​L(w,b,ξ,α,μ)​=w−i=1∑N​αi​yi​xi​=0=−i=1∑N​αi​yi​=0=2Cξi​−αi​−μi​=0​​

把上述等式代入L(w,b,ξ,α,μ)L(w,b,\xi,\alpha,\mu)L(w,b,ξ,α,μ)的表达式中,得:
min⁡w,b,ξL(w,b,ξ,α,μ)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi−14C∑i=1N(αi+μi)2\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i-\frac{1}{4C}\sum_{i=1}^N(\alpha_i+\mu_i)^2w,b,ξmin​L(w,b,ξ,α,μ)=−21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)+i=1∑N​αi​−4C1​i=1∑N​(αi​+μi​)2

在对min⁡w,b,ξL(w,b,ξ,α,μ)\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)minw,b,ξ​L(w,b,ξ,α,μ)求α\alphaα的极大,即得对偶问题:
max⁡α,μ−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi−14C∑i=1N(αi+μi)2s.t.∑i=1Nαiyi=0αi≥0μi≥0αi+μi≥0\begin{align} \max_{\alpha, \mu} \quad & -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i-\frac{1}{4C}\sum_{i=1}^N(\alpha_i+\mu_i)^2\\ \text{s.t.}\quad& \sum_{i=1}^N\alpha_iy_i=0\\ &\alpha_i \ge 0\\ &\mu_i \ge 0 \\ &\alpha_i+\mu_i \ge0 \end{align}α,μmax​s.t.​−21​i=1∑N​j=1∑N​αi​αj​yi​yj​(xi​⋅xj​)+i=1∑N​αi​−4C1​i=1∑N​(αi​+μi​)2i=1∑N​αi​yi​=0αi​≥0μi​≥0αi​+μi​≥0​​


1.4 证明内积的正整数幂函数:
K(x,z)=(x⋅z)pK(x,z)=(x\cdot z)^pK(x,z)=(x⋅z)p
是正定核函数,这里ppp是正整数,x,z∈Rnx,z\in R^nx,z∈Rn.

证明:
首先定义映射f:Rn↦Rnpf: R^n \mapsto R^{n^p}f:Rn↦Rnp:
f([x1,x2,…,xn])=(xj1,xj2,…,xjp∣j1,…,jp∈{1,…,n})f([x_1, x_2, \dots, x_n])=(x_{j_1}, x_{j_2}, \dots, x_{j_p}| j_1, \dots, j_p \in \{1, \dots, n\})f([x1​,x2​,…,xn​])=(xj1​​,xj2​​,…,xjp​​∣j1​,…,jp​∈{1,…,n})

举个栗子:如果n=2n=2n=2,p=2p=2p=2,那么有:
f([x1,x2])=(x12,x22,x1x2,x2x1)f([x_1, x_2]) = (x_1^2, x_2^2, x_1x_2, x_2x_1)f([x1​,x2​])=(x12​,x22​,x1​x2​,x2​x1​)

注意fff的定义式中各单项式xj1,xj2,…,xjpx_{j_1}, x_{j_2}, \dots, x_{j_p}xj1​​,xj2​​,…,xjp​​是有序的,意思是我们认为x1x2x_1x_2x1​x2​和x2x1x_2x_1x2​x1​是不同的。

显然对于∀x,z∈Rn\forall x,z\in R^n∀x,z∈Rn,有:
K(x,z)=f(x)⋅f(z)K(x,z)=f(x)\cdot f(z)K(x,z)=f(x)⋅f(z)

所以对∀a1,a2,…,an∈R\forall a_1, a_2, \dots, a_n \in R∀a1​,a2​,…,an​∈R,$x_1, x_2, \dots, x_n \in R^n $有:
∑i,j=1naiajK(xi,xj)=∑i,j=1naiajf(xi)f(xj)=(∑iaif(xi))⋅(∑jajf(xj))=∣∑iaif(xi)∣2≥0\begin{align} \sum_{i,j=1}^na_ia_jK(x_i,x_j)&=\sum_{i,j=1}^na_ia_jf(x_i)f(x_j)\\ &=\left(\sum_ia_if(x_i) \right)\cdot \left( \sum_ja_jf(x_j) \right)\\ &=\left| \sum_ia_if(x_i)\right|^2 \ge 0 \end{align}i,j=1∑n​ai​aj​K(xi​,xj​)​=i,j=1∑n​ai​aj​f(xi​)f(xj​)=(i∑​ai​f(xi​))⋅(j∑​aj​f(xj​))=∣∣​i∑​ai​f(xi​)∣∣​2≥0​​

所以可证K(x,z)=(x⋅z)pK(x,z)=(x\cdot z)^pK(x,z)=(x⋅z)p是正定核函数。

ps:写证明还是用笔和纸方便,两分钟写好的内容码上来可费劲了。小抱怨一下。

《统计学习方法》第7章 课后题答案相关推荐

  1. 李航《统计学习方法》第二章课后答案链接

    李航<统计学习方法>第二章课后答案链接 李航 统计学习方法 第二章 课后 习题 答案 http://blog.csdn.net/cracker180/article/details/787 ...

  2. 李航《统计学习方法》第一章课后答案链接

    李航<统计学习方法>第一章课后答案链接 李航 统计学习方法 第一章 课后 习题 答案 http://blog.csdn.net/familyshizhouna/article/detail ...

  3. 无机化学(第四版)(上册、下册)课后答案 宋天佑 徐家宁 程功臻 王莉版答案解析 高等教育出版社 第5章课后题答案 习题解答

    无机化学(第四版)(上册.下册)课后答案 宋天佑 徐家宁 程功臻 王莉版答案解析 高等教育出版社 第5章课后题答案 完整版答案看文章末尾处 上册 第1章 化学基础知识 第2章 化学热力学基础 第3章 ...

  4. 是一种以计算机为工具 应用决策科学,管理信息系统第十一章课后题答案1

    管理信息系统第十一章课后题答案 第十一章决策支持系统 11.1请为DSS做简要特征描述. 答:DSS是一种以计算机为工具,应用决策科学及有关学科的理论.方法与技术,以人机交互方式辅助决策者解决半结构化 ...

  5. 李航老师《统计学习方法》第二版第三章课后题答案

    其他章节答案请参考我的汇总统计学习方法答案汇总,都是自己写的. 1.参照图3.1,在二维空间中给出实例点,画出 kkk 为1和2时的 kkk 近邻法构成的空间划分,并对其进行比较,体会 kkk 值的选 ...

  6. 李航老师《统计学习方法》第八章课后习题答案

    其他章节答案请参考我的汇总统计学习方法答案汇总,都是自己写的. 8.1.题目太长,懒得打字了 因为训练数据实例的维度比书中的例子8.1的实例的维度大,也就是特征的数目比较多,因而需要进行特征选择.我在 ...

  7. 数据库原理第四章课后题答案(第四版)

    一.选择题 1. B    2. B    3. D    4. B    5. C 6. D    7. B    8. D    9. D    10. D 11. A   12.C   13.D ...

  8. 计算机网络第八版——第二章课后题答案(超详细)

    第二章 该答案为博主在网络上整理,排版不易,希望大家多多点赞支持.后续将会持续更新(可以给博主点个关注~ 第一章 答案 [2-01]物理层要解决哪些问题?物理层的主要特点是什么? 解答:物理层考虑的是 ...

  9. python嵩天第七章课后题答案_python语言程序设计嵩天第七章答案

    参考答案如下 直流负反馈可以稳定电路的静态工作点,嵩天交流负反馈可以改善放大器的动态性能. 餐厅环境准备包括:程序( ).背景音乐.通风及温度的准备. 设计下列代码的输出结果是______var a ...

  10. 编译原理陈火旺第三版第六章课后题答案

    下面的答案仅供参考! 1.按照表6.1所示的属性文法,构造表达式(4*7+1) *2的附注语法树. 答: 首先考虑最底最左边的内部结点,它对应于产生式F→digit,相应的语义规则为F. val: = ...

最新文章

  1. proxy实现 mysql 读写分离
  2. 远望智库未来产业研究院与资本实验室联合发布《2021全球区块链应用市场报告》...
  3. java 继承 私有变量_java – 继承和私有变量
  4. 150. 逆波兰表达式求值---JAVA---LeetCode
  5. PICT实现组合测试用例
  6. Redis进阶实践之二十 Redis的配置文件使用详解
  7. c语言中字符数字加'0',C语言中的NULL与转义字符'\0'以及数值0的关系
  8. Vue使用wangEditor 封装成独立组件实现富文本编辑器
  9. mysql——解压版安装详解
  10. 哼唱也能识别歌名 音乐APP听歌识曲谁家强
  11. jquery gotop插件
  12. 网付扫码点餐新福利,消费者点餐可获微信支付金币奖励
  13. WeNet 丨 WeTextProcessing
  14. 学完教程,不知道接下去从哪里开始做自己的第一个APP,怎么办?酷课堂iOS交流群问答(201902期)
  15. C波段、KU波段与雨衰现象
  16. 老年人智能手机APP开发界面设计具体策略
  17. Bootstrap-表格合并单元格
  18. 如何用iMazing软件将苹果手机数据备份及功能详解
  19. 【学习笔记】要学的东西
  20. 什么是死锁和如何解决死锁

热门文章

  1. CSDN页面完美格式打印
  2. xlinx ISE的程序下载
  3. java情话代码,程序员浪漫的二进制表白代码
  4. 32、多租户(multi-tenancy)
  5. xy苹果助手未受信任_【iOS教程】不用电脑 安装苹果软件
  6. 程序员面试必备的网络编程知识
  7. PSP XREADER 1.63下载(PSP阅读器)v1.6最新版 含安装/使用方法
  8. 云原生 - 阿里云 SLB、CDN、SCDN、DCDN 区别在哪?如何选择?
  9. SCDN如何有效防御CC攻击和DDOS攻击的
  10. 常见图片格式总结--网页设计必备