感知机
-
感知机属于判别模型。
-
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1两个值。
感知机模型
- 感知机:
假设输入空间是\(X \subseteq R^n\),输出空间是\(y=\{ +1, -1\}\)。
输入空间到输出空间的如下函数称为感知机。
其中,w和b为感知机模型参数,\(w \subseteq R^n\)为权值,\(b \subseteq R^n\)为偏置。sign是函数符号,即
-
几何解释:
线性方程\(w \cdot x + b =0\)对应于特征空间\(R^n\)中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两部分。位于两部分中的点分别被氛围正、负两类。因此,超平面S称为分离超平面。 -
感知机学习,通过训练数据集求的感知机模型中w和b。通过感知机模型来对新输入的实例进行类别预测。
感知机学习策略
- 数据集的先行可分性:存在某个超平面S可以将数据集中的正、负实例完全的划分到超平面的两侧,则称为训练数据集可分。
感知机学习策略
-
假设训练数据集可分,感知机学习旨在确定感知机模型中的w和b参数。需要一个学习策略,即定义损失函数,并将损失函数最小化。
-
损失函数的推导
输入空间中任意一点\(x_0\)到分离超平面S的距离为(\(||w||\)是w的二范数):
对于误分类数据\((x_i, y_i)\)来说,\(-y_i (w \cdot x_i + b) > 0\)成立。 因此,误分类点到超平面的距离是:
则,所有误分类点到分离超平面的距离总和为
不考虑\(-\frac {1} {||w||}\),后面的就是感知机学习的损失函数。
- 感知机损失函数
给定训练集
以及类别集合
感知机学习的损失函数定义为
其中,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\)
- 选择初始值\(w_0, b_0\)
- 在训练集中选择数据\((x_i, y_i)\)
- 如果\(y_i(w \cdot x_i + b) \leq 0\)
- 转至(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,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可以标识为:
- 感知机学习算法的对偶形式
输入:线性可分的数据集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\)
- \(a=0, b=0\)
- 在训练集中选择数据\((x_i, y_i)\)
- 如果\(y_i (\sum _{j=1}^{N} \alpha_j y_j x_j \cdot x_i + b) \leq 0\)则
- 转至(2),直到没有误分类数据为止