李航 统计学习方法 第2章 感知机

第2章 感知机

介绍感知机模型, 叙述感知机的学习策略, 特别是损失函数; 最后介绍感知机学习算法,包括原始形式和对偶形式, 证明算法的收敛性.

感知机模型

f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x + b) f(x)=sign(wx+b)是模型函数

w w w b b b是模型参数, 分别叫权值和偏置.

感知机是判别模型.假设空间是线性分类器集合

{ f ∣ f ( x ) = w ⋅ x + b } \{f|f(x)=w\cdot x+b \} {ff(x)=wx+b}

w ⋅ x + b = 0 w\cdot x + b=0 wx+b=0 确定一个超平面

感知机学习策略

线性可分数据集的定义

  • 定义损失函数, 并将损失函数极小化.
  • 损失函数可以使用误分类点到超平面的总距离

损失函数的定义为 L ( w , b ) = − ∑ y i ( w ⋅ x i + b ) L(w,b)=-\sum y_i(w\cdot x_i + b) L(w,b)=yi(wxi+b)

  1. 感知机学习算法

最优化方法是随机梯度下降法,包括原始形式和对偶形式, 证明在训练数据线性可分的条件下, 感知机学习算法的收敛性.

  1. 算法的原始形式

min ⁡ w , b L ( w , b ) = − ∑ y i ( w ⋅ x i + b ) \min\limits_{w,b}L(w, b)=-\sum y_i(w\cdot x_i + b) w,bminL(w,b)=yi(wxi+b)

感知机学习算法是误分类驱动的, 具体采用随机梯度下降法. 首先, 选一个超平面, 然后用梯度下降法不断极小化目标函数. 极小化一次随机选一个误分类点使其梯度下降.假设误分类点集合是固定的.梯度的定义

▽ w L ( w , b ) = − ∑ x i ∈ M y i x i \triangledown_w L(w, b) = -\sum\limits_{x_i\in M}y_i x_i wL(w,b)=xiMyixi

▽ b L ( w , b ) = − ∑ x i ∈ M y i \triangledown_b L(w, b)=-\sum\limits_{x_i\in M}y_i bL(w,b)=xiMyi随机选取一个误分类点 ( x i , y i ) (x_i, y_i) (xi,yi)对参数进行更新.

w ← w + η y i x i w \gets w+ \eta y_i x_i ww+ηyixi

b ← b + η y i b\gets b + \eta y_i bb+ηyi

其中的 η \eta η是学习率, 通过迭代可以期待损失函数不断减小, 直到为0.

感知机学习过程如下

  1. 初始化 w , b w, b w,b
  2. 在训练集中选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
  3. 如果 y i ( w ⋅ x i + b ) ≤ 0 y_i(w\cdot x_i + b) \leq 0 yi(wxi+b)0
    1. w ← w + η y i x i w \gets w+ \eta y_i x_i ww+ηyixi
    2. b ← b + η y i b\gets b + \eta y_i bb+ηyi
  4. 跳转到2, 直到训练集中没有误分类点

上面是原始形式, 感知机学习算法简单且易于实现.

算法的收敛性

经过有限次迭代可以得到一个将训练数据集完全正确划分的超平面及感知机模型.

为了方便推导, 将偏置 b b b加入到权重向量 w w w, 计作 w ^ = ( w T , b ) T \hat{w}=(w^T, b)^T w^=(wT,b)T, 同样也将输入向量扩充, 加入常数1, 记作 x ^ = ( x T , 1 ) T \hat{x}=(x^T, 1)^T x^=(xT,1)T, w ^ ⋅ x ^ = w ⋅ x + b \hat{w}\cdot \hat{x} = w\cdot x + b w^x^=wx+b

如果训练数据集线性可分, 有定理

  1. 存在满足条件 ∥ w ^ o p t ∥ = 1 \parallel\hat{w}_{opt}\parallel=1 w^opt=1的超平面 w ^ o p t ⋅ x ^ = 0 \hat{w}_{opt}\cdot \hat{x}=0 w^optx^=0将训练数据完全正确分开, 且存在 γ > 0 \gamma>0 γ>0, 使得 y i ( w ^ o p t ⋅ x i ^ ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ y_i(\hat{w}_{opt}\cdot\hat{x_i})=y_i(w_{opt}\cdot x_i + b_{opt}) \geq \gamma yi(w^optxi^)=yi(woptxi+bopt)γ
  2. R = max ⁡ 1 ≤ i ≤ N ∥ x i ^ ∥ R=\max\limits_{1\leq i \leq N}\parallel\hat{x_i}\parallel R=1iNmaxxi^, 则感知机算法在训练数据集上的误分类次数 k k k满足不等式 k ≤ ( R γ ) 2 k\leq (\frac{R}{\gamma})^2 k(γR)2

感知机学习算法的对偶形式

将参数表示为数据点得线性组合形式.

输入的学习率 η \eta η不一定是1.

模型 f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=sign(\sum\limits^N_{j=1}\alpha_jy_jx_j\cdot x + b) f(x)=sign(j=1Nαjyjxjx+b)

  1. α ← 0 \alpha\gets0 α0, b ← 0 b\gets0 b0
  2. 选取数据
  3. 如果 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ≤ 0 y_i(\sum\limits^N_{j=1}\alpha_j y_j x_j \cdot x_i + b)\leq0 yi(j=1Nαjyjxjxi+b)0
    1. α i ← α i + η \alpha_i \gets \alpha_i + \eta αiαi+η
    2. b ← b + η y i b \gets b + \eta y_i bb+ηyi

本章概要

  1. 感知机根据输入实例的特征向量对其进行二类分类的线性模型: f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x + b) f(x)=sign(wx+b)
  2. 感知机学习的策略是极小化损失函数: min ⁡ w , b L ( w , b ) = − ∑ y i ( w ⋅ x i + b ) \min\limits_{w,b}L(w, b)=-\sum y_i(w\cdot x_i + b) w,bminL(w,b)=yi(wxi+b)
  3. 感知机学习算法基于随机梯度下降法对损失函数进行最优化求解, 有原始形式和对偶形式. 一次随机选取一个误分类点使其梯度下降
  4. 当训练数据集线性可分时, 感知机学习算法收敛.当训练集线性可分时, 存在无穷多个解, 解由于不同的初值或不同的迭代顺序而可能有所不同.

习题

  1. 感知机是线性模型, 不能表示异或, 为什么?
  2. 从训练集求解感知机模型的例子
  3. 证明定理:样本集线性可分的充分必要条件是正实例点集构成的凸壳与负实例点集构成的凸壳互不相交.

你可能感兴趣的:(学习,机器学习,算法)