-
感知机属于判别模型。
-
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+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),直到没有误分类数据为止