机器学习总结系列(二)——感知机模型
本文主要介绍第二个比较重要的模型——感知机模型,感知机模型在李航老师《统计学习方法》中有专门一章来具体介绍,但是周志华老师的《机器学习》是在神经网络一章中简单提到,而机器学习实战中则没有提到。所以我在这主要以《统计学习方法》中的内容为参考,进行描述。
目录
1. 感知机模型介绍
感知机是二类分类的线性分类模型,输入:实例的特征向量;输出:实例的类别。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,旨在求出将训练数据进行线性划分的分离超平面。
2. 感知机模型
由输入空间到输出空间的函数如下(有一些描述和限制条件我就不写了,想详细了解可以参考《统计学习方法》):
感知机模型的假设空间是定义在特征空间中的所以线性分类模型,或者线性分类器。
3.感知机学习策略
先了解一个概念——数据集的线性可分性:存在超平面,能够将数据集中所有的正例点和负例点完全正确地分到超平面两侧,这样的数据集称为线性可分数据集。
损失函数
如果定义误分类点的总数,那么这个损失函数不是参数
w
和
不考虑 1∥w∥ 的影响,就得到了感知机学习的损失函数了。
4. 感知机学习算法
学习算法就是求解最优化问题,方法是梯度下降法。
原始形式
感知机学习算法是误差驱动的,使用随机梯度下降法。
- 首先选择任意的一个超平面,即初始化 w0 和 b0 ;
- 在训练集中任意选取一个数据 (xi,yi) ;
如果
yi(w⋅ xi+b)⩽0
则
ω=ω+ηyixi
b=b+ηyi- 转至2,直到没有误分类点为止。
对偶形式
对偶形式是感知机学习的另一种思路,它将参数定义为了每一个样例点修改次数的增量,推到过程比较好。由于公示实在是比较难打,建议看书了解。
证明数据线性可分条件下感知机学习算法的收敛性
这一部分主要是讲解为什么通过有限次的迭代,就能找到一个合适的超平面将两类分开。这部分是证明,比较繁琐,有兴趣可以查看数据。但是一定要记住,收敛的条件是数据集是线性可分的。
总结
感知机这部分主要在《统计机器学习》中有讲,而在周志华的机器学习中是在神经网络中讲解的。他是将感知器理解为一个神经元,但是这种神经元一层是不能进行非线性可分的分类的,比如取异或,必须是两层。这样就引出了用Sigmoid函数作为神经元。