Advertisement

感知机学习总结 (一)

阅读量:

关于感知机学习的总结,虽然大多是书上内容,但是觉得写下来还是有意义的~~

参考其他几篇博客,大致分为以下几个版块

【感知机的数学模型】

【感知机的几何意义】

【感知机学习策略】

【感知机学习算法实现——原始形式】

【感知机学习算法实现——对偶形式】

【感知机算法实现例题】

【感知机模型的python实现】

参考书籍 李航 -《统计学习方法》 《python machine learning》

1、【感知机的数学模型】

【概要 outline 】:

perceptron 二类分类的线性分类模型

输入:实例的特征向量;

输出 : 实例的分类 ,取值为+1,-1

对应于输入空间中将数据进行线性划分的分离超平面,属于判别模型。

目标:求出分离超平面

基本想法:导入基于误分类的损失函数,利用梯度下降法(gradient descent)对损失函数(loss function)进行极小化,求得感知机模型。

【定义 definition】

输入空间是 ,输出空间是

输入到输出的函数为 即为感知机模型

其中w,b为感知机模型参数,w为权值(weight vector),b 为偏置(bias)

sign函数为

2、【感知机的几何意义】

线性方程 对应于特征空间的超平面S****,

其中w 是法向量,b是截距。

超平面S将特征向量分为两部分,分别称为正、负两类。

3、【感知机学习策略】

数据的线性可分性: 给定数据集

如果存在超平面S可以将所有的正实例点和负实例点完全正确的划分到S的两侧,即

对所有的 称T线性可分。

【学习策略】

损失函数:选择误分类点到S的总距离作为损失函数,在w,b处连续可导,易于优化。

任一点到S的距离为:

对已误分类点有

所以误分类点到S距离可以表示为 ,计算时可以不考虑,因为>0

假设M为误分类点的集,对于所用误分类点到距离的总和可以表示为:

对于给定的数据集T,感知机的损失函数定义为:

即感知机的经验风险函数。

4、【感知机学习算法实现——原始形式】

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

【原始形式】

对于** **,i= 1,2...N,求参数w,b使得损失函数极小化的解。

梯度:在计算形式上即求偏导数

随机抽取一个误分类点,对w,b进行更新:

对w,b进行更新即 w,b加上增量 (因为是梯度下降法,

所以是有负号)


即learning rate 学习率

Algorithm:

输入: ** ,**i= 1,2...N,学习

输出 :w,b 感知机模型

(1)初始化

(2)在T中随机选取一分类点

(3)如果 (即存在误分类点,对w,b进行更新)

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

5、【感知机学习算法实现——对偶形式】

【基本想法】

将w,b表示成x,y的线性组合形式。对于以下更新:

二者的增量为 其中

所以 最后w,,b可以表示成

Algorithm:

【对偶形式】

输入: ** ,**i= 1,2...N,学习

输出:,b , 感知机模型

其中

(1)初始化

(2)在T中随机选取一分类点

(3)如果

进行更新

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

对偶形式中,训练实例以内积的形式出现,可以提前计算Gram Matrix

6、【感知机模型的python实现】

全部评论 (0)

还没有任何评论哟~