《统计学习方法》(李航) 感知机模型算法

本文详细介绍了感知机模型,作为二分类的线性模型,它通过寻找最优分离超平面实现数据的分类。感知机学习策略基于误分类点的最小化距离,采用随机梯度下降法进行优化。文章涵盖了原始形式和对偶形式的学习算法,并讨论了算法的收敛性,强调了在线性可分数据集上的应用。
摘要由CSDN通过智能技术生成

第二章   感知机

感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。

导入基于分类的损失函数,利用梯度下降算法对损失函数进行极小化,求得感知机模型。分为原始模式和对偶模式。

2.1  感知机模型

定义2.1(感知机)假设输入空间(特征空间)是\chi \in \mathbb{R}^n,输出空间是\gamma \in\begin{bmatrix}+1,-1 \end{bmatrix}。输入\vec x \in \chi表示实例的特征向量,对应于输入空间的点;输出\vec y \in \gamma表示实例的类别。由输入空间到输出空间的如下函数称为感知机:

f(x)=sign(w\bullet x+b)

其中,w和b称为感知机模型参数。w\in \mathbb{R}^n叫做权值或者权值向量,b\in\mathbb{R}叫做偏置。w \bullet x表示w和x的内积。sign是符号函数:

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

感知机属于是一种线性分类判别模型。感知机模型的假设空间为函数集合:\begin{Bmatrix} f|f(x)=w\bullet x+b \end{Bmatrix}

2.2  感知机学习策略

2.2.1  数据集的线性可分性

定义2.2(数据集的线性可分性)如果存在某个超平面S能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,则称数据集是线性可分的;否则数据集是线性不可分的。

2.2.2  感知机学习策略

感知机的损失函数是所以误分类点到超平面S的总距离,这是感知机所采用的。

输入空间\mathbb{R}^n中任一点x_0到超平面S的距离:

\frac{1}{||w||}|w\bullet x_0+b|,此处||w||是w的L2范数。

误分类点到达超平面S的距离为:-\frac{1}{||w||}y_i|w\bullet x_i+b|

忽略标量||w||,可以得到感知机模型的损失函数:

L(w,b)=-\sum_{x_i\in M}y_i(w\bullet x_i+b)

其中M为误分类点的集合。这个损失函数就是感知机模型的经验风险函数。显然它是非负的,当没有误分类点的时候,损失函数值就为0。

2.3  感知机学习算法

感知机学习问题转化为求解损失函数的最优化问题,最优化的方法为随机梯度下降法。

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

损失函数的梯度为:\nabla_wL(w,b)=-\sum_{x_i\in M}y_ix_i,\nabla_bL(w,b)=-\sum_{x_i\in M}y_i

感知机算法的原始形式:

输入:训练数据集T=\begin{Bmatrix}(x_1,y_1),(x_2,y_2),...,(x_N,y_N) \end{Bmatrix},其中x_i \in \chi =\mathbb{R}^n,y_i \in \gamma =\begin{Bmatrix} +1,-1 \end{Bmatrix},i=1,2,...,N,学习率0<\eta\leq1

输出:w,b;感知机模型f(x)=sign(w\bullet x+b)

(1)选取初值w_0,b_0

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

(3)如果y_i(w\bullet x_i+b)\leq 0

w\leftarrow w+\eta y_ix_i

b\leftarrow b+\eta y_i

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

感知机学习算法由于采用不同的初值或选取不同的误分类点,最终模型解可能不同。

2.3.2  算法的收敛性

2.3.3  感知机算法的对偶形式

对偶形式的基本想法是,将w和b表示为实例x_i和标记y_i的线性组合形式,通过求解其系数求得w和b。

输入:线性可分的训练数据集T=\begin{Bmatrix}(x_1,y_1),(x_2,y_2),...,(x_N,y_N) \end{Bmatrix},其中x_i \in \chi =\mathbb{R}^n,y_i \in \gamma =\begin{Bmatrix} +1,-1 \end{Bmatrix},i=1,2,...,N,学习率0<\eta\leq1

输出:\alpha,b;感知机模型f(x)=sign(\sum_{j=1}^N \vec \alpha_jy_jx_j\bullet x+b),\vec \alpha_j=(\alpha_1,\alpha_2,...,\alpha_N)^T

(1)\alpha\leftarrow 0,b\leftarrow 0

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

(3)如果y_i(\sum_{j=1}^N \vec \alpha_jy_jx_j\bullet x+b)\leq 0

\vec \alpha_i\leftarrow \vec \alpha_i +\eta

b\leftarrow b+\eta y_i

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

APPLECHARLOTTE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值