统计机器学习-感知机

感知机是二分类的线性分类模型,即通过一个超平面将数据集分割在两侧,同在一个侧的为同一个分类,一般上侧的为正例,下侧的为负例。

感知机的定义

假设输入空间(特征空间)是,输出空间是。输入表示实例的特征向量,对应于输入空间(特征空间)的点;输出表示实例的类别。由输入空间到输出空间的如下函数

称为感知机。其中,和为感知机模型参数,叫做权值或权值向量,叫做偏置,表示和的内积。是符号函数,即

并且假设数据是完全线性可分的,即可以通过一个超平面,将数据完全正确的分割在其两侧。当数据线性不可分时,感知机算法不收敛。

感知机的损失函数

假设为误分类点的集合,则感知机的损失可以表示为

是的范数。最小化该损失的目的是,最小化误分类点到超平面的距离之和。因为点到平面的距离公式

当误分类时,如果,模型给出的预测应该是,此时,反之同理,所以是误分类点到超平面的距离。由于对于某个超平面,固定,所以不考虑这一项,公式(1)中的损失可以简化为

感知机的学习算法

感知机学习通常使用梯度下降算法,分为原始形式和对偶形式,对偶形式相比原始形式,提高了计算效率。

使用梯度下降,首先计算参数的梯度,然后向负梯度的方向更新参数:

随机选取一个误分类点,对进行更新:

其中是步长,又叫学习率。

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

输入:训练数据集,其中,,;学习率;

输出:;感知机模型。

(1)选取初值

(2)在训练数据中选取数据

(3)如果,即误分类,此时更新参数

(4)转至(2),直到训练集中没有误分类点。

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

由原始形式可以看出,当模型收敛时,假设参数通过第个样本更新了次,对于个样本,参数的更新可以表示为:

假设参数的初值都选取为0,并且令,则参数可以表示为

越大说明根据第个样本更新的越多,这个样本就越难区分,对决定超平面影响也最大。此时感知机模型可以表示为:

下面给出感知及学习算法的对偶形式:

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

输入:训练数据集,其中,,;学习率;

输出:;感知机模型,其中。

(1),

(2)在训练集中选取数据

(3)如果,即误分类,此时更新参数

(4)转至(2)直到没有误分类数据。

这种方式相比原始形式判断误分类的方式,的方式可以把的结果预存在矩阵中,加快判断的速度。满足下面形式的矩阵叫做矩阵:

你可能感兴趣的:(统计机器学习-感知机)