内容纲要

欢迎转载,作者:Ling,注明出处:机器学习:原理简明教程02-感知机

参考《统计学习方法》

一句话概括:感知机就是要求一个分割平面,求得办法是通过梯度下降法求参数。

概述:

  • 感知机( perceptron)是二类分类的线性分类模型
  • 其输入为实例的特征向量, 输出为实例的类别,取+1和-1 二值
  • 感知机是一个分离超平面
  • 属于判别模型
  • 计算可以通过梯度下降法计算
  • 感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础

 

感知机模型

定义

ml_perceptron_001

 

几何解释:

ml_perceptron_002 ml_perceptron_003

注:这个平面(2维时退化为直线)称为分离超平面。

 

感知机学习策略

数据集的线性可分性

ml_perceptron_004

感知机学习策略

    假定数据集线性可分,我们希望找到一个合理的损失函数。

    一个朴素的想法是采用误分类点的总数,但是这样的损失函数不是参数w,b的连续可导函数,不可导自然不能把握函数的变化,也就不易优化(不知道什么时候该终止训练,或终止的时机不是最优的)。

    另一个想法是选择所有误分类点到超平面S的总距离。为此,先定义点x0到平面S的距离:

ml_perceptron_005

感知机学习的策略是在假设空间中选取使损失函数式( 2.4) 最小的模型参数

w,b, 即感知机模型

注:

1)

ml_perceptron_006

2)由于分母是常数,可以不考虑。

 

感知机学习算法

    感知机学习问题转化为求解损失函数式( 2.4) 的最优化问题, 最优化的方法

是随机梯度下降法. 本节叙述感知机学习的具体算法,包括原始形式和对偶形式,

并证明在训练数据线性可分条件下感知机学习算法的收敛性.

 

感知机学习算法的原始形式

ml_perceptron_007

:关于梯度下降,实际上就是往偏导数方向更新,具体梯度下降解释可以参考回归一节讨论。

 

算法

ml_perceptron_008

实例:

ml_perceptron_009 ml_perceptron_010 ml_perceptron_011

算法的收敛性(了解即可)

ml_perceptron_012 ml_perceptron_013 ml_perceptron_014

 

感知机学习算法的对偶形式

对偶问题解释:就是原问题是用w,b表示,现在反过来,用xy表示w和b,通过对偶问题求α,从而求得w和b,从而得到原问题表示

ml_perceptron_015

算法:

ml_perceptron_016 ml_perceptron_017

注:

就是对于一个测试样本(xi,yi),用当前的αb和所有的xy跑个和,看看,是否误报,误报更新αi

原问题直接用梯度下降法求

对偶问题用求导更新α,然后更新b,从而更新w的方法求

 

实例:

ml_perceptron_018 ml_perceptron_019