感知机

  • 感知机属于判别模型

  • 感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1两个值。

感知机模型

  • 感知机
    假设输入空间是\(X \subseteq R^n\),输出空间是\(y=\{ +1, -1\}\)
    输入空间到输出空间的如下函数称为感知机。

\[f(x) = sign(w \cdot x + b) \]

其中,w和b为感知机模型参数,\(w \subseteq R^n\)为权值,\(b \subseteq R^n\)为偏置。sign是函数符号,即

\[sign(x) = \left\{\begin{matrix} +1, x \geq 0 \\ -1, x < 0 \end{matrix}\right. \]

  • 几何解释
    线性方程\(w \cdot x + b =0\)对应于特征空间\(R^n\)中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两部分。位于两部分中的点分别被氛围正、负两类。因此,超平面S称为分离超平面。

  • 感知机学习,通过训练数据集求的感知机模型中w和b。通过感知机模型来对新输入的实例进行类别预测。


感知机学习策略

  • 数据集的先行可分性:存在某个超平面S可以将数据集中的正、负实例完全的划分到超平面的两侧,则称为训练数据集可分。

感知机学习策略

  • 假设训练数据集可分,感知机学习旨在确定感知机模型中的w和b参数。需要一个学习策略,即定义损失函数,并将损失函数最小化。

  • 损失函数的推导
    输入空间中任意一点\(x_0\)到分离超平面S的距离为(\(||w||\)是w的二范数):

\[\frac {1} {||w||} |w \cdot x_0 + b| \]

对于误分类数据\((x_i, y_i)\)来说,\(-y_i (w \cdot x_i + b) > 0\)成立。 因此,误分类点到超平面的距离是:

\[-\frac {1} {||w||} y_i (w \cdot x_i + b) \]

则,所有误分类点到分离超平面的距离总和为

\[-\frac {1} {||w||} \sum _{x_i \in M} y_i (w \cdot x_i + b) \]

不考虑\(-\frac {1} {||w||}\),后面的就是感知机学习的损失函数。

  • 感知机损失函数
    给定训练集

\[T = \{ (x_1, y_1), ..., (x_N, y_N) \} \]

以及类别集合

\[y = \{-1, +1\} \]

感知机学习的损失函数定义为

\[L(w, b) = -\sum _{x_i \in M} y_i (w \cdot x_i + b) \]

其中,M为误分类点的集合。这个损失函数就是感知机学习的经验风险函数。


感知机学习算法

感知机学习算法的原始形式

  • 训练问题转化为损失函数极小化问题:\(min_{w,b} L(w, b)\)

  • 梯度下降法(gradient descent):首先任意选择一个超平面\(w_0,b_0\),然后用梯度下降发不断的极小化目标函数(损失函数)。极小化过程中不是一次使用M中所有的误分类点的梯度下降,而是一次随机选择一个误分类点使其梯度下降。

  • 感知机学习算法的原始形式
    输入:训练数据集T;学习速率\(\eta, 0<\eta \leq 1\)
    输出:w, b;感知机模型\(f(x) = w \cdot x + b\)

  1. 选择初始值\(w_0, b_0\)
  2. 在训练集中选择数据\((x_i, y_i)\)
  3. 如果\(y_i(w \cdot x_i + b) \leq 0\)

\[w \Leftarrow w + \eta y_i x_i$$ $$b \Leftarrow b + \eta y_i \]

  1. 转至(2),直到训练集中没有误分类点。
  • 感知机由于采用不同的初值或选择不同的误分类点,解可以不同。

感知机算法的收敛性

  • 根据Novikoff定理,如果训练数据集T是线性可分的,则存在分离超平面\(\hat{w}_{opt} \cdot \hat{x} = w_{opt} \cdot x + b_{opt} = 0\)将训练数据集完全正确分开。

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

  • 对偶形式的基本思想是,将w和b表示为实例\(x_i\)和标记\(y_i\)的线性组合的形式,通过求解其参数而求的w和b。假设初始值\(w_0, b_0\)均为0。对于误分类点\((x_i, y_i)\)通过

\[w \Leftarrow w + \eta y_i x_i$$ $$b \Leftarrow b + \eta y_i \]

逐步修改w,b。假设修改n次,则w,b关于\((x_i, y_i)\)的增量分别为\(\alpha_i y_i x_i\)\(\alpha_i y_i\),其中\(\alpha_i = n_i \eta\)。由此得出最后学习到的w,b可以标识为:

\[w = \sum _{i=1}^{N} \alpha_i y_i x_i$$ $$b = \sum _{i=1}^{N} \alpha_i y_i \]

  • 感知机学习算法的对偶形式
    输入:线性可分的数据集T,\(y\),学习速率\(\eta\)
    输出:a,b;感知机模型\(f(x) = sign( \sum _{j=1}^{N} \alpha_j y_j x_j \cdot x + b)\),其中\(\alpha = (\alpha_1, ..., \alpha_N)^T\)
  1. \(a=0, b=0\)
  2. 在训练集中选择数据\((x_i, y_i)\)
  3. 如果\(y_i (\sum _{j=1}^{N} \alpha_j y_j x_j \cdot x_i + b) \leq 0\)

\[\alpha_i = \alpha_i + \eta$$ $$b= b + \eta y_i \]

  1. 转至(2),直到没有误分类数据为止
posted @ 2016-08-10 14:53  英吹斯汀ING  阅读(264)  评论(0编辑  收藏  举报