统计学习方法二:感知机
一、什么是感知机?
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。
特性:
(1)二分类
(2)线性分类模型
(3)判别模型模型
(4)假设空间:定义在特征空间(有时可以理解为输入空间)中的所有线性分类模型或线性分类器,即函数集合{f|f(x)=w·x+b}
(4)学习目的:求出分离超平面
二、感知机模型
决策函数:f(x)=sign(w·x + b) —— 这个函数就称为感知机
(1)w·x+b=0 : 对应于特征空间中的一个超平面S
(2)w:权值向量,感知机参数,超平面的法向量
(3)b:偏置(bias),感知机参数,超平面的截距
(4)sign:符号函数,x>=0为+1,x<0为-1
三、感知机学习策略
前情回顾...Orz...
还记得什么是学习策略吗?——我是为了提醒我自己...Orz...
之前的部落格有阐述,所谓的学习策略就是从假设空间中选出一个模型,这个模型怎么选,就是要损失最小的那个,最后归结为了经验风险或者结构风险最优化的问题...
感知机的学习策略?
找到一个能够将训练集正负实例点完全正确分开的分离超平面,即确定感知机模型的参数w,b,那如何确定呢?
—— 定义损失函数,并将损失函数最小化
损失函数的选择?
损失函数:误分类点到超平面的距离|w·x+b| ——> -y(w·x+b)
经验风险函数:误分类点到超平面的总距离
四、感知机的学习算法
前情回顾...
什么是学习算法?
模型和学习策略是关注如何选择最优模型,算法是关注如何求解这个最优模型,即怎么求风险的最优解
感知机的学习算法?
梯度下降法
1、学习算法原始形式:
(1)选取w、b的初始值
(2)选取一个被误分类的实例点,调整w,b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离
(3)重复步骤(2)
(4)直至训练集中没有被误分类的点
注:根据初始值或者误分类点选取的不同,最后求得的分离超平面可能不同
2、算法的收敛性
可收敛:经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型
定理表明:
(1)当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的
(2)当训练数据集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡
补充说明:
(1)数据集线性可分:存在一个超平面,可以将数据集所有点完全正确的划分到两侧
(2)对于线性可分数据集,学习算法存在许多解,取决于初始值选择,也依赖迭代过程中误分类点的选择顺序
(3)如何得到唯一的超平面?——增加约束条件——SVM
3、学习算法的对偶形式
将w和b用实例x和标记y表示,求解
与原始形式一样,算法收敛且有多个解