Machine Learning
  • Introduction
  • 机器学习
    • 前言
      • 符号表
    • 监督式学习
      • 感知机
        • 感知机模型
        • 感知机学习算法
        • 算法python实现
      • Logistic回归
        • Logistic分布
        • Logistic回归模型
        • 算法python实现
      • 线性回归
        • 线性回归模型
        • 算法python实现
      • K近邻法
        • k近邻模型
        • kd树方法
        • kd树python实现
        • knn实例
      • 朴素贝叶斯法
        • 模型和原理
        • 参数估计
        • 算法和实现
      • 决策树
        • 模型与学习
        • 特征选择
        • 生成算法和剪枝
        • python实现
      • 支持向量机
    • 神经网络
      • 神经元模型和感知机
      • 神经网络
      • 神经网络的矩阵表达
      • 反向传播算法
        • 算法证明
        • 算法代码
        • 基于矩阵的计算
      • 改进神经网络的学习方法
        • 交叉熵代价函数
        • softmax
        • regularization
        • 权重初始化
      • 卷积神经网络
        • 基本介绍
    • 数学基础
      • 线性代数
        • 特征值和特征向量
      • 概率统计
        • 随机变量的特征
        • 样本统计量
        • 先验后验概率
      • 微积分
        • 向量内积
        • 方向导数和梯度
        • 梯度下降法
      • 信息论
        • 熵
        • 相对熵和交叉熵
        • 条件熵
        • 互信息
Powered by GitBook
On this page
  • 1. 定义
  • 2.几何解释
  • 3. 感知机的学习策略
  1. 机器学习
  2. 监督式学习
  3. 感知机

感知机模型

Previous感知机Next感知机学习算法

Last updated 7 years ago

感知机(Peceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1+1+1和−1-1−1二值。感知机将对应于输入空间(特征空间)中将实例划分为正负的分离超平面,属于判别模型。

1. 定义

假设输入空间(特征空间)是X⊆RnX \subseteq R^nX⊆Rn,输出空间是Y={+1,−1}Y=\lbrace+1,-1\rbraceY={+1,−1}。输入x∈Xx\in Xx∈X表示实例的特征向量,对应于输入空间(特征空间)的点;输出y∈Yy\in Yy∈Y表示实例的类别。由输入空间到输出空间的如下函数:

f(x)=sign(w⋅x+b)f(x)=sign(w\cdot x+b)f(x)=sign(w⋅x+b)

称为感知机。其中,www和bbb为感知模型参数,w∈Rnw\in R^nw∈Rn叫做权值(weight)或权值向量(weight vector),b∈Rb\in Rb∈R 叫做偏置,w⋅xw\cdot xw⋅x表示向量www和向量xxx的内积。signsignsign是符号函数,即

sign(x)={+1if x>=0−1if x<0sign(x) = \begin{cases} +1 &\text{if } x>=0 \\ -1 &\text{if } x<0 \end{cases}sign(x)={+1−1​if x>=0if x<0​

感知机是一种线性分类模型,属于判别模型。

感知模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier),即函数集合{f∣f(x)=w⋅x+b}\{f\vert f(x)=w\cdot x+b\}{f∣f(x)=w⋅x+b}。

2.几何解释

线性方程w⋅x+b=0w\cdot x+b=0w⋅x+b=0对应于特征空间RnR^nRn中的一个超平面SSS,其中www是超平面的法向量,bbb是超平面的截距。这个超平面将特征空间划分为两部分。位于两部分的点(特征向量)分别被分为正负两类,因此,超平面SSS称为分离超平面(separating hyperplane),如图所示。

3. 感知机的学习策略

参考文献:

统计学习方法,李航

其中超平面上的任意两个向量,比如为x(i)x^{(i)}x(i),x(j)x^{(j)}x(j)满足方程(这里用上标表示不同的向量,下标用来表示向量中的分量,跟原书不同)

w⋅x(i)=−bw\cdot x^{(i)} = -bw⋅x(i)=−b

w⋅x(j)=−bw\cdot x^{(j)} = -bw⋅x(j)=−b

则w⋅(x(i)−x(j))=0w\cdot (x^{(i)}-x^{(j)})=0w⋅(x(i)−x(j))=0,也就是超平面上任意两个向量相减构成的向量与www的内积为000,则互相垂直。对于超平面来讲www的方向并不重要,只需要垂直于超平面即可。

满足w⋅x+b>0w\cdot x+b>0w⋅x+b>0的的向量xxx位于超平面跟www的方向一致的一面,满足w⋅x+b<0w\cdot x+b<0w⋅x+b<0的向量xxx位于超平面跟www方向相反的一面。因为取超平面上任意一个向量假设为x(1)x^{(1)}x(1),则超平面外的任何一向量x(0)x^{(0)}x(0)满足w⋅(x(0)−x(1))>0w\cdot (x^{(0)}-x^{(1)})>0w⋅(x(0)−x(1))>0,则说明这两向量相减构成的向量跟www的夹角小于90度,反之小于0,则夹角大于90度。

超平面外的任意一个点x(0)x^{(0)}x(0)到超平面SSS的距离为

∣w⋅x(0)+b∣∣∣w∣∣\dfrac{|w\cdot x^{(0)}+b|}{||w||}∣∣w∣∣∣w⋅x(0)+b∣​

其中∣∣w∣∣||w||∣∣w∣∣是www的L2L_2L2​范数,也就是欧式距离∣∣w∣∣=w12+w22+...+wn2||w||=\sqrt{w_1^2 +w_2^2+...+w_n^2}∣∣w∣∣=w12​+w22​+...+wn2​​.

为了确定感知机模型参数www和bbb,需要确定一个学习策略,即定义(经验 )损失函数并将损失函数最小化。

损失函数的一个自然选择是误分类点的总数,但是这样的损失函数不是参数www和bbb的连续可导函数,不易优化。另外一种选择是所有误分类点到超平面的总距离。其次,对于误分类点的数据(x(i),y(i))(x^{(i)},y^{(i)})(x(i),y(i))来说,满足−y(i)(w⋅x(i)+b)>0-y^{(i)}(w\cdot x^{(i)}+b)>0−y(i)(w⋅x(i)+b)>0,因为当w⋅x(i)+b>0w\cdot x^{(i)}+b>0w⋅x(i)+b>0时,y(i)=−1y^{(i)} = -1y(i)=−1,而当−y(i)(w⋅x(i)+b)<0-y^{(i)}(w\cdot x^{(i)}+b)<0−y(i)(w⋅x(i)+b)<0时,y(i)=1y^{(i)} = 1y(i)=1。因此误分类点x(i)x^{(i)}x(i)到超平面SSS的距离是

−y(i)w⋅x(i)+b∣∣w∣∣-y^{(i)} \dfrac{w\cdot x^{(i)}+b}{||w||}−y(i)∣∣w∣∣w⋅x(i)+b​

这样,假设所有超平面SSS的误分类点结合为MMM,那么所有误分类点到超平面SSS的总距离为

−1∣∣w∣∣∑x(i)∈My(i)(w⋅x(i)i+b)-\dfrac{1}{||w||}\displaystyle\sum_{x^{(i)}\in M}y^{(i)}(w\cdot x^{(i)}i+b)−∣∣w∣∣1​x(i)∈M∑​y(i)(w⋅x(i)i+b)

不考虑1∣∣w∣∣\dfrac{1}{||w||}∣∣w∣∣1​,则我们得到感知机的损失函数:−∑x(i)∈My(i)(w⋅x(i)+b)-\displaystyle\sum_{x^{(i)}\in M}y^{(i)}(w\cdot x^{(i)}+b)−x(i)∈M∑​y(i)(w⋅x(i)+b)。(这里个人理解为任意一个超平面的法向量www都可以经过缩放成为单位向量)

给定训练数据集合T={(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}T=\{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)})\}T={(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},其中x(i)∈X=Rnx^{(i)}\in X= R^nx(i)∈X=Rn,y(i)∈Y={+1,−1}y^{(i)}\in Y=\lbrace+1,-1\rbracey(i)∈Y={+1,−1},i=1,2,...,mi=1,2,...,mi=1,2,...,m。感知学习机sign(w⋅x+b)sign(w\cdot x+b)sign(w⋅x+b)的损失函数定义为

L(w,b)=−∑x(i)∈My(i)(w⋅x(i)+b)L(w,b)=-\displaystyle\sum_{x^{(i)}\in M}y^{(i)}(w\cdot x^{(i)}+b)L(w,b)=−x(i)∈M∑​y(i)(w⋅x(i)+b)

这个损失函数就是感知学习机的经验风险函数。它是www,bbb的连续可导函数。显然它是非负函数。如果没有误分类点,则损失函数为0,而且误分类点越少,误分类点离超平面越近,损失函数越小。

http://blog.csdn.net/wangxin1982314/article/details/73529499