《机器学习》周志华(西瓜书)学习笔记 第六章 支持向量机

机器学习 周志华 学习笔记

总目录

The more fluent you become in math,the more unstoppable you will be in anying you want to do in life

第六章 支持向量机

6.1 间隔与支持向量

给定训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)\} D={ (x1,y1),(x2,y2),,(xm,ym)}, y i ϵ { − 1 , + 1 } y_i \epsilon\{-1,+1\} yiϵ{ 1,+1}

分类学习的最基本思想就是:基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开

在样本空间中,划分超平面可以通过以下线性方程表示:
w T x + b = 0 w^Tx+b=0 wTx+b=0
其中

  • w = ( w 1 , w 2 , ⋯   , w d ) w=(w_1,w_2,\cdots,w_d) w=(w1,w2,,wd) 为法向量,决定了超平面的方向;
  • b为位移项,决定了超平面与原点之间的距离。

显然,划分超平面可被法向量 w w w b b b确定,下面我们将其记为 ( w , b ) (w,b) (w,b)

样本空间任意衣点 x x x到超平面 ( w , x ) \bm{(w,x)} (w,x)的距离可写为:
γ = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ \gamma=\frac{|w^Tx+b|}{||w||} γ=wwTx+b

假设超平面 ( w , b ) \bm{(w,b)} (w,b)能将训练样本正确分类,即对于 ( x i , y i ) ϵ D (x_i,y_i)\epsilon D (xi,yi)ϵD,若 y i = + 1 y_i=+1 yi=+1,则有
ω T x i + b &gt; 0 \bm{\omega^Tx_i} + b \gt 0 ωTxi+b>0,若 y i = − 1 y_i=-1 yi=1,则有 ω T x i + b &lt; 0 \bm{\omega^Tx_i} + b \lt 0 ωTxi+b<0.

ω T x i + b ≥ + 1 , y i = + 1 \omega^Tx_i+b \geq +1,y_i=+1 ωTxi+b+1,yi=+1
ω T x i + b ≤ − 1 , y i = − 1 \omega ^Tx_i+b \leq-1,y_i=-1 ωTxi+b1,yi=1
距离超平面最近的这几个训练样本点使上式等号成立,他们被称为“支持向量”,两个异类支持向量到超平面的距离之和为"间隔"(margin):
γ = 2 ∣ ∣ ω ∣ ∣ \gamma=\frac{2}{||\omega||} γ=ω2
在这里插入图片描述
欲找到具有“最大间隔”(maximum margin)的划分超平面,即:
max ⁡ w , b 2 ∣ ∣ ω ∣ ∣ \max_{w,b}{\frac{2}{||\omega||}} w,bmaxω2

s . t .   y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , ⋯ &ThinSpace; , m s.t. \ y_i(\omega^Tx_i+b)\geq1,i=1,2,\cdots,m s.t. yi(ωTxi+b)1,i=1,2,,m

显然,为了最大化间隔,仅需最大化 ∣ ∣ ω ∣ ∣ − 1 ||\omega||^{-1} ω1,这等价于最小化 ∣ ∣ ω ∣ ∣ 2 ||\omega||^2 ω2,于是,上式可重写为:
min ⁡ w , b 1 2 ∣ ∣ ω ∣ ∣ 2 \min_{w,b}{\frac{1}{2}}{||\omega||^2} w,bmin21ω2
s . t .   y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , ⋯ &ThinSpace; , m s.t.\ y_i(\omega^Tx_i+b)\geq1,i=1,2,\cdots,m s.t. yi(ωTxi+b)1,i=1,2,,m
这就是支持向量机(Support Vector Machine)的基本型

6.2 对偶问题
  • 上述问题是一个凸二次规划问题,能直接用现成的优化计算包求解。但是我们可以有更加高效的方法.对上式使用拉格朗日乘子法可得到其“对偶问题”(dual problem)

对上式的每条约束添加拉格朗日乘子 α i ≥ 0 \alpha_i \ge 0 αi0 ,该问题的拉格朗日函数可写为:
L ( w , b , α ) = 1 2 ∣ ∣ ω 2 ∣ ∣ + ∑ i = 1 m α i ( 1 − y i ( ω T x i + b ) ) L(w,b,\alpha)=\frac{1}{2}{||\omega^2||}+{\sum_{i=1}^{m}\alpha_i(1-y_i(\omega^Tx_i+b))} L(w,b,α)=21ω2+i=1mαi(1yi(ωTxi+b))

ω \bm{\omega} ω b b b求偏导为零可得:
ω = ∑ i = 1 m α i y i x i \omega=\sum_{i=1}^m\alpha_iy_ix_i ω=i=1mαiy

### 关于《机器学习周志华西瓜课后习题解析 #### 不同章节的习题特点与解决方法 对于不同章节中的具体题目,解决方案各有侧重。例如,在第九章中提到的内容涉及较为复杂的模型评估和技术应用[^1]。 #### 构建不剪枝决策树的具体案例分析 当处理特定的数据集如西瓜数据3.0α时,构建不剪枝决策树的过程不同于简单的决策桩。这里需要考虑更多的节点分裂标准以及如何全面地利用特征属性进行划分,而不是仅仅依赖单一条件做出判断[^2]。 #### 计算假设空间大小的方法探讨 针对西瓜分类问题中的假设空间计算,如果采用最多包含k个合取式的析合范式,则可以通过组合数学的方式估计可能存在的假设数量。这涉及到对给定条件下所有潜在模式的理解和量化[^3]。 #### 版本空间的概念及其求解过程说明 版本空间是指既能够解释已有观察又尽可能泛化到未见实例的一组假设集合。通过移除那些无法匹配已知正例或反而能解释负例的候选方案,可以逐步缩小这一范围直至找到最优解[^4]。 ```python def calculate_hypothesis_space_size(attributes, values_per_attribute): """ Calculate the size of hypothesis space given attributes and their possible value counts. :param attributes: List of attribute names :param values_per_attribute: Dictionary mapping each attribute to its number of distinct values :return: Total number of hypotheses in the space """ total_combinations = 1 for attr in attributes: if attr in values_per_attribute: total_combinations *= (values_per_attribute[attr] + 1) # Include wildcard '*' return total_combinations - 1 # Exclude completely wild card case '* * ...' # Example usage based on provided information from reference [3] attributes = ["色泽", "根蒂", "敲声"] value_counts = {"色泽": 2, "根蒂": 2, "敲声": 2} print(f"The estimated number of possible hypotheses is {calculate_hypothesis_space_size(attributes, value_counts)}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值