2 感知机
发布日期:2021-06-29 18:40:49 浏览次数:2 分类:技术文章

本文共 2684 字,大约阅读时间需要 8 分钟。

文章目录

  • 二类分类的线性分类模型,
    • 输出+1和-1.
    • 属判別模型
  • 感知机学习旨在求出将训练数据进行线性划分的分离超平面,
    • 为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型.
  • 感知机学习算法简单易实现,分原始形式和对偶形式
  • 感知机预测是用学习得到的感知机模型对新的输入实例分类
  • 57年由 Rosenblatt提出,
    • 是神经网络与支持向量机的基础

  • 本章先介绍感知机模型;
  • 然后感知机的学习策略,特别是损失函数
  • 最后感知机学习算法,
    • 包括原始形式和对偶形式,并证明算法的收敛性.

2.1感知机模型

  • 定义2.1(感知机)

f ( x ) = s i g n ( w ⋅ x + b ) (2.1) f(x)=sign(w\cdot x+b)\tag{2.1} f(x)=sign(wx+b)(2.1)

  • 是线性分类模型
  • 感知机模型的
    • 假设空间是定义在特征空间中的所有线性分类模型
    • 即函数集合

  • 感知机几何解释:

w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0

  • 对应特征空间 R n R^n Rn中的一个超平面 S S S,
  • 法向量,截距.
  • 这个超平面将特征空间划分两部分.
    • 位于两部分的点(特征向量)分别被分为正、负两类.
    • 超平面S称为分离超平面
  • 如图2.1

  • 感知机学习
  • 感知机预测

2.2感知机学习策路

2.2.1数据集的线性可分性

2.2.2感知机学习策略

  • 设线性可分
  • 即确定 w w w, b b b,
    • 需确定一个学习策略
    • 即定义(经验)损失函数并将损失函数极小化

  • 损失函数的另一个选择
    • 误分类点到超平面 S S S的总距离
    • 感知机所采用的
  • 输入空间中任一点到超平面 S S S的距离

  • 对误分类的数据 ( x i , y i ) (x_i,y_i) (xi,yi)
  • 因此,误分类点 x i x_i xi到超平面S的距离是

  • 误分类集合 M M M
  • 那所有误分类点到超平面 S S S的总距离为
  • 不考虑 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1,就得到感知机学习的损失函数

  • 感知机学习的
  • 损失函数定义为
  • 这个损失函数就是感知机学习的经验风险函数.

  • 损失函数非负
  • 如果没有误分类点,损失函数值是0
  • 误分类点越少,误分类点离超平面越近,损失函数值就越小
  • 一个特定的样本点的损失函数:
    • 在误分类时是参数w,b的线性函数,
    • 在正确分类时是0
  • 给定训练数据集,损失函数是w,b的连续可导

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

2.3感知机学习算法

  • 感知机学习问题
    • 为求解(2.4)的最优化问题
  • 最优化的方法是
    • 随机梯度下降法

哈哈,果然是随机梯度下降法!

  • 本节叙述感知机学习的具体算法,
    • 原始形式和对偶形式,
    • 并证线性可分条件下感知机学习算法的收敛性

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

  • 感知机学习算法是误分类驱动的,用随机梯度下降法
  • 先,任取 w 0 , b 0 w_0,b_0 w0,b0,然后用梯度下降法不断地极小化(2.5)
  • 极小化过程中不是一次使M中所有误分类点的梯度下降
    • 而是一次随机选取一个误分类点使其梯度下降

  • 设误分类点集合 M M M固定,那么损失函数的梯度由

  • 随机选取一个误分类点 ( x i , y i ) (x_i,y_i) (xi,yi),对 w , b w,b w,b更新:
  • 0 < η ≤ 1 0<\eta \le 1 0<η1是步长,学习率
  • 这样,通过迭代可期待损失函数不断减小,直到为0.
  • 综上所述,得如下算法

  • 算法2.1(感知机学习算法的原始形式
  • (1)选初值w,b
  • (2)在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
  • (3)如果 y i ( w ⋅ x i + b ) ≤ 0 y_i(w\cdot x_i+b)\le 0 yi(wxi+b)0
  • (4)转至(2),直至训练集中没有误分类点

  • 当一个实例点位于超平面错误一侧时
    • 则调整 w , b w,b w,b
    • 使分离超平面向该误分类点的一侧移动
    • 以减少该误分类点与超平面间的距离
    • 直至超平面越过该误分类点使其被正确分类

  • 算法2,1是感知机学习的基本算法,对应于后面的对偶形式
    • 称原始形式

  • 例2.1
  • x 1 = ( 3 , 3 ) T , x 2 = ( 4 , 3 ) T x_1=(3,3)^T,x_2=(4,3)^T x1=(3,3)T,x2=(4,3)T
  • x 3 = ( 1 , 1 ) T x_3=(1,1)^T x3=(1,1)T
  • f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x+b) f(x)=sign(wx+b)
  • w = ( w ( 1 ) , w ( 2 ) ) T w=(w^{(1)},w^{(2)})^T w=(w(1),w(2))T
  • x = ( x ( 1 ) , x ( 2 ) ) T x=(x^{(1)},x^{(2)})^T x=(x(1),x(2))T
  • η = 1 \eta = 1 η=1

  • (1)取初值 w 0 = ( 0 , 0 ) T , b 0 = 0 w_0=(0,0)^T,b_0=0 w0=(0,0)T,b0=0

  • 2)对 x 1 = ( 3 , 3 ) T x_1=(3,3)^T x1=(3,3)T

    • y 1 ( w 0 x 1 + b ) = 0 y_1(w_0x_1+b)=0 y1(w0x1+b)=0
    • 未能被正确分类,更新w,b
      w 1 = w 0 + y 1 x 1 = ( 3 , 3 ) T , b 1 = b 0 + y 1 = 1 w_1=w_0+y_1x_1=(3,3)^T,b_1=b_0+y_1=1 w1=w0+y1x1=(3,3)T,b1=b0+y1=1
  • 得线性模型

w 1 ⋅ x + b 1 = 3 x ( 1 ) + 3 x ( 2 ) + 1 w_1\cdot x +b_1 = 3x^{(1)} + 3x^{(2)} +1 w1x+b1=3x(1)+3x(2)+1

  • (3)
    • x 1 , x 2 x_1,x_2 x1,x2被正确分类,不修改
  • x 3 x_3 x3被误分类,更新
  • 如此继续直到
  • 没误分类点,损失函数达到极小

  • 用不同的初值或选取不同的误分类点
    • 解可不同

2.3.2算法收敛性

转载地址:https://cyj666.blog.csdn.net/article/details/104856253 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:static void gpuscan_add_scan_path(PlannerInfo *root, RelOptInfo *baserel, Index rtinde
下一篇:8 提升方法

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月01日 18时02分52秒