统计学习方法--------------感知机笔记
1. 感知机模型
感知机的思想是将所有的数据简单地分成两类,一类对应一个输出类别,例如是/否、正负、男女等。这要求感知机模型处理的数据集是线性可分的,即存在一个超平面能够将所有的数据分在超平面两侧,每侧对应一个输出结果。
通过判断测试点在超平面的哪一侧,来预测测试点属于哪一类。每个样本点的特征向量为x =(x1,x2,... ,xj),则感知机的模型可以定义为符号函数,(a = W*x + b)运用感知机模型处理数据的主要工作是找到合适的参数w和b,使得W*x + b = 0 表示的超平面能够将数据点全部分到两侧。
2. 感知机策略
为了能够衡量参数W,b的取不同值时模型的好坏,令所有误分类点到超平面距离的总和作为损失函数。
已知输入空间任意点x0到超平面距离公式:,则对于误分类点,将上述公式去绝对值得:,
所以,损失函数L(W,b) =,(Xi为误分类点),对于所有的误分类点来说,分母||W||为同一个值,分子的值由一个向量点乘与实数和组成,化简该损失函数,消去分母(这么解释好像说不太过去,看完一遍回头再说吧,记着点这个事),
得到化简后的损失函数:L(W,b) = ,(Xi为误分类点)。该函数的性质如下:1. 函数是非负的,当没有误分类点时,函数值最小为0。 2. 给定训练集后,损失函数关于W和b是连续可偏导的。
所以,可以采用随机梯度下降法来求取参数W和b的值。至于随机梯度下降的数学推导过程去查一下,不在此赘述。
3. 感知机算法
已经从思想上知道如何通过损失函数最小化来确定感知机模型参数W和b,下面为算法具体表现形式。
3.1 感知机算法原始形式
- 令W和b的初值为0.
- 随机在训练集中选取数据Xi。
- 如果该点属于误分类点,即yi(W * Xi + b)<= 0,更新参数:
W = W + η* yi * Xi, b = b +η* yi - 转至步骤2,直至训练集中不存在误分类点。
3.2 感知机算法对偶形式
过程用表格、画图形式表示更清晰。
以三维向量假设空间为例,如下表为迭代参数变化表:
迭代次数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
出错点 |
|
|
|
|
|
|
|
|
|
α1 |
0 |
|
|
|
|
|
|
|
|
α2 |
0 |
|
|
|
|
|
|
|
|
α3 |
0 |
|
|
|
|
|
|
|
|
b |
0 |
|
|
|
|
|
|
|
|
此法简单在于先求出n个样本点的n×n矩阵,再利用列向量点乘迭代更新后的αi * yi向量。
如下图: