统计学习方法笔记-感知机学习方法
Posted sinowind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计学习方法笔记-感知机学习方法相关的知识,希望对你有一定的参考价值。
感知机(Perceptron)
1.感知机模型
1.1感知机定义
输入空间$ \\mathcalX \\subseteq \\mathbbR^n$ ,输出空间\\(\\mathcalY\\)=+1, -1 ;
输入\\(x \\in \\mathcalX\\)表示的实例的特征向量,对应于输入空间的点,输出\\(y \\in \\mathcalY\\)表示的实例的类别;
由输入空间到输出空间的如下函数:
f(x) = sign($ \\omega \\cdot x$+b)
\\(\\omega\\) : 权值,b : 偏置;
\\(\\omega \\cdot x\\) : \\(\\omega\\)和x的内积;
sign为符号函数;
1.2感知机几何解释
线性方程\\(\\omega \\cdot x + b = 0\\)对应于特征空间\\(\\mathbbR^n\\)中的一个超平面S,其中ω是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点分别被分为正负两类。因此,S成为分类超平面。
2.感知机学习策略
2.1数据集的线性可分性
给定一个数据集T, 如果存在某个超平面S: \\(\\omega \\cdot x + b = 0\\)能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即yi\\((\\omega \\cdot x + b) \\ge 0\\),则称数据集T为线性可分数据集。
2.2 感知机的学习策略
首先,输入空间\\(\\mathbbR\\)n 中任一点x0到超平面S的距离d:\\(\\frac1||\\omega|||\\omega \\cdot x_0 + b|\\)
证明如下:
在超平面S(\\(\\omega \\cdot x + b = 0\\))任选一点v1,所需公式\\(\\vecv_0v_1 = ||v_0||||v_1||\\cos\\theta\\)
d = \\(||\\vecv_0v_1||\\cos(\\vecv_0v_1, \\omega)\\)
= \\(||\\vecv_0v_1|| \\frac|\\vecv_0v_1 \\cdot \\omega|||\\vecv_0v_1||||\\omega||\\)
= \\(\\frac|(x_1 - x_0) \\cdot \\omega|||\\omega||\\)
= \\(\\frac|-b - x_0\\cdot \\omega|||\\omega||\\)
= \\(\\frac1||\\omega|||\\omega \\cdot x_0 + b|\\)
其次,对于误分类的数据(xi,yi)来说,\\(-y_i(\\omega \\cdot x_i + b) > 0\\),因此,误分类点xi到超平面S的距离是\\(-y_i\\frac1||\\omega|||\\omega \\cdot x_i + b|\\)。假设超平面S所有误分类点的集合为M,则所有误分类点的总距离为\\(-\\frac1||\\omega||\\sum_x_i \\in My_i|\\omega \\cdot x_i + b|\\)。因此可得出损失函数为\\(L(\\omega, b) = - \\sum_x_i \\in My_i(\\omega \\cdot x_i + b)\\)
2.3 感知机算法
2.3.1原始形式(随机梯度下降法)
输入:训练数据集T = (x1, y1), (x2, y2), ....., (xN,yN),其中\\(x_i \\in \\mathcalX = \\mathbbR^n\\),\\(y_i \\in \\mathcalY = +1, -1, i = 1,2,...,N;\\) 学习率\\(\\theta(0 < \\theta \\le 1);\\)
输出:\\(\\omega\\),b;感知机模型\\(f(x) = sign(\\omega \\cdot x + b)。\\)
过程:
1.选取初值ω0, b0;
2.在训练集中选取数据(xi, yi);
3.如果\\(y_i(\\omega \\cdot x_i + b) \\le0\\),\\(\\omega \\leftarrow \\omega + \\theta y_ix_i\\),\\(b \\leftarrow b+\\theta y_i\\)。
4.转至2,直至训练集中没有误分类点。
注:感知机学习算法由于采取不同的初值或选取不同的误分类点,解可以不同。
2.3.2算法的收敛性
证明:经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。
为了叙述与推导,\\(\\hat \\omega = (\\omega^T,b)^T, \\hat x = (x^T, 1)^T,\\hat \\omega \\cdot \\hat x = \\omega \\cdot x + b\\)。
训练数据集T = (x1, y1), (x2, y2), ....., (xN,yN),其中\\(x_i \\in \\mathcalX = \\mathbbR^n\\),\\(y_i \\in \\mathcalY = +1, -1, i = 1,2,...,N;\\) 则
(1)存在满足条件\\(||\\hat \\omega_opt|| = 1\\)的超平面\\(\\hat \\omega_opt \\cdot \\hat x = \\omega_opt \\cdot x + b_opt = 0\\) 将训练数据集完全正确分开;且存在\\(\\gamma > 0\\), 对所有的i= 1,2,...,N,\\(y_i(\\hat \\omega \\cdot \\hat x) = y_i(w_opt \\cdot x_i + b_opt) \\ge \\gamma\\)。
证明如下:
由于训练集是线性可分的,故存在一分离超平面。不妨设改平面为\\(\\hat \\omega \\cdot \\hat x = w_opt \\cdot x_opt + b_opt = 0\\),使\\(||\\hat \\omega_opt|| = 1\\)。
于是对于所有有限的i,均有\\(y_i(w_opt \\cdot x_i + b_opt) > 0\\)。
取\\(\\gamma > 0\\),则\\(\\gamma = min_i(y_i(\\omega_opt \\cdot x_i+b_opt))\\)。
所以,(1)得证。
(2)令\\(R = max_1 \\le i \\le N||\\hat x||\\),则在\\(f(x) = sign(\\omega \\cdot x + b)\\)在训练数据集上的误分类次数k满足不等式\\(k \\le (\\fracR\\gamma)^2\\)
证明:\\(\\hat \\omega_k \\cdot \\hat \\omega_opt \\ge k\\gamma\\eta\\),$\\hat w_k $是第k个误分类点实例的扩充权重向量。
\\(\\hat \\omega_k \\cdot \\hat \\omega_opt = (\\hat \\omega_k-1 + \\eta y_i \\hat x_i)\\hat \\omega_opt \\\\ \\ge \\hat \\omega_k-1 \\cdot \\hat \\omega_opt + \\eta \\gamma \\\\ = (\\hat \\omega_k-2 + \\eta y_i \\hat x_i)\\hat \\omega_opt \\\\ \\ge \\hat \\omega_k-2 \\cdot \\hat \\omega_opt + \\eta \\gamma \\\\ \\ge... \\\\ \\ge k\\eta\\gamma\\)
证明:\\(||\\hat \\omega_k||^2 \\le k \\eta^2R^2\\)
\\(||\\hat \\omega_k||^2 = ||\\hat \\omega_k||^2 + 2\\eta y_i \\hat \\omega_k-1 \\cdot \\hat x_i + \\eta^2||\\hat x_i|| \\\\ \\le ||\\hat \\omega_k-1||^2 + \\eta^2||\\hat x_i|| \\\\ \\le ||\\hat \\omega_k-1||^2 + \\eta^2R^2 \\\\ \\le ||\\hat \\omega_k-1||^2 + 2\\eta^2R^2 \\\\ \\le ... \\\\ \\le k\\eta^2R^2\\)
由上述可得,\\(k\\eta\\gamma \\le \\hat \\omega_k \\cdot \\hat \\omega_opt \\le ||\\hat \\omega_k|| ||\\hat \\omega_opt|| \\le \\sqrt k \\eta R \\rightarrow k^2\\gamma^2 \\le k R^2 \\rightarrow k \\le (\\fracR\\gamma)^2\\)
定理表明,误分类次数k是有上界的,经过有限次搜索可以找到分离超平面。即当训练数据集线性可分时,感知机学习算法原始形式迭代时收敛的。
2.3.3 对偶形式
输入:训练数据集T = (x1, y1), (x2, y2), ....., (xN,yN),其中\\(x_i \\in \\mathbbR^n\\),\\(y_i \\in +1, -1, i = 1,2,...,N;\\) 学习率\\(\\eta(0 < \\eta \\le 1);\\)
输出:\\(\\alpha\\),b;感知机模型\\(f(x) = sign(\\sum_j=1^N \\alpha_j y_j x_j \\cdot x + b)。\\)
过程:
1.\\(\\alpha \\leftarrow0, b \\leftarrow 0\\);
2.在训练集中选取数据(xi, yi);
3.如果\\(y_i(\\sum_j=1^N \\alpha_j y_j x_j \\cdot x_i + b) \\le0\\),\\(\\alpha_i \\leftarrow \\alpha_i + \\eta\\),\\(b \\leftarrow b+\\eta y_i\\)。
4.转至2,直至训练集中没有误分类数据。
注:Gram矩阵:训练集中实例间的内积计算并以矩阵形式存储,该矩阵为Gram矩阵,记为\\(\\mathttG = [x_i \\cdot x_j]_N \\ast N\\)。
统计学习方法(第2章)感知机 学习笔记
第2章 感知机
感知机是二类分类的线性分类模型,其输入为实例的特征向量,感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法分为原始形式和对偶形式,是神经网络和支持向量机的基础。
1.感知机模型
感知机定义:
假设输入空间(特征空间)是X,输出空间是Y,Y的取值为+1和-1,输入x表示实例的特征向量,对应于输入空间(特征空间)的;输入y表示实例的类别。由输入空间到输出空间的如下函数:
f(x) = sign(w · x + b)
称为感知机,w、b为模型参数,w为权值或权值向量,b为偏置,w·x表示为二者内积。几何上来说,w·x+b=0对应于特征空间的一个超平面,w是超平面的法向量,b是超平面的截距。也就是找到一个超平面将数据的正负实例分开。
2.感知机学习策略
2.1 重要定义:数据集的线性可分性(因为感知机学习的前提就是数据集的可分性)
2.2 损失函数
为了找出这样的超平面,及确定感知机的模型参数,需要确定一个学习策略,即定义损失函数并将损失函数最小化。、
损失函数选择误分类点到超平面S的总距离,所以首先写出输入空间中任一点x0到超平面的S的距离:
||w||是w的L2范数
其次,对于误分类数据(xi,yi)来说, -yi(w·xi + b) > 0 成立,因此,误分类点xi到超平面S的距离就可以写成:
这样,假设超平面S 的误分类点集合为M. 那么所有误分类点到超平面S 的总距离为:
不考虑,就得到感知机的损失函数:
其中M为误分类点的集合,这个损失函数就是感知机学习的经验风险函数。误分类点越少,误分类点离超平面越近,损失函数值就越小。
3.感知机学习算法
3.1原始形式
获得了损失函数,下一步就是极小化这个损失函数,即:
具体的方法采用梯度下降算法,极小化过程不是一次使M中所有的误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降,假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度由:
随机选取一个误分类点(xi,yi),对w,b进行更新:
η是学习率通过迭代可以期待损失函数L(w,b)不断减小,直到为0,综上可得如下算法:
感知机学习算法由于采用不同的初值或选取不同的误分类点,解可以不同。
3.2 对偶形式
当训练数据集线性可分时,感知机学习算法是收敛的,感知机算法在训练数据集上的误分类次数k满足不等式:
以上是关于统计学习方法笔记-感知机学习方法的主要内容,如果未能解决你的问题,请参考以下文章