【模式识别】感知器 Perceptron

【模式识别】感知器 Perceptron基本概念线性可分 在特征空间中可以用一个线性分界面正确无误地分开两类样本 采用增广样本向量 即存在合适的增广权向量 a 使得 则称样本是线性可分的 如下图中左图线性可分 右图不可分 所有满足条件的权向量称为解向量 权值空间中所有解向量组成的区域称为解区 通常对解区限制 引入余量 b 要求解向量满足 使解更可靠 推广性更强 防止优化算法收敛到解区的边界 感

基本概念

线性可分:在特征空间中可以用一个线性分界面正确无误地分开两 类样本;采用增广样本向量,即存 在合适的增广权向量 a 使得:

【模式识别】感知器 Perceptron

则称样本是线性可分的。如下图中左图线性可分,右图不可分。所有满足条件的权向量称为解向量。权值空间中所有解向量组成的区域称为解区

【模式识别】感知器 Perceptron

通常对解区限制:引入余量b,要求解向量满足:

 【模式识别】感知器 Perceptron

使解更可靠(推广性更强),防止优化算法收敛到解区的边界。

 

感知准则函数及求解

对于权向量a,如果某个样本yk被错误分类,则【模式识别】感知器 Perceptron。我们可以用对所有错分样本的求和来表示对错分样本的惩罚:

【模式识别】感知器 Perceptron

其中Yk是被a错分的样本集合。当且仅当JP(a*) = min JP(a) = 0 时,a*是解向量。这就是Rosenblatt提出的感知器(Perceptron)准则函数

感知器准则函数的最小化可以使用梯度下降迭代算法求解:

【模式识别】感知器 Perceptron

其中,k为迭代次数,η为调整的步长。即下一次迭代的权向量是把当前时刻的权向量向目标函数的负梯度方向调整一个修正量。

【模式识别】感知器 Perceptron

因此,迭代修正的公式为:

【模式识别】感知器 Perceptron

即在每一步迭代时把错分的样本按照某个系数叠加到权向量上。

通常情况,一次将所有错误样本进行修正不是效率最高的做法,更常用是每次只修正一个样本或一批样本的固定增量法:

【模式识别】感知器 Perceptron

【模式识别】感知器 Perceptron

 

收敛性讨论:可以证明,对于线性可分的样本集,采用这种梯度下降的迭代算法:

【模式识别】感知器 Perceptron

经过有限次修正后一定会收敛到一个解向量。

理论结论:只要训练样本集是线性可分的,对于任意的初值 a(1) ,经过有限次叠代,算法必定收敛。

感知器是最简单可以“学习”的机器,可以解决线性可分的问题。当样本线性不可分时,感知器算法不会收敛。实际应用中直接使用感知器的场合并不多,但他是很多复杂算法的基础。

 

 

(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经允许请勿用于商业用途)

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220834.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:32
下一篇 2026年3月17日 下午7:32


相关推荐

  • SVM原理介绍

    SVM原理介绍一 SVM 算法要解决什么问题 SVM 的全称是 SupportVecto 即支持向量机 主要用于解决模式识别领域中的数据分类问题 属于有监督学习算法的一种 SVM 要解决的问题可以用一个经典的二分类问题加以描述 如图 1 所示 红色和蓝色的二维数据点显然是可以被一条直线分开的 在模式识别领域称为线性可分问题 然而将两类数据点分开的直线显然不止一条 图 1 b 和 c 分别给出了 A B 两种不同

    2026年3月18日
    2
  • 文件系统的类型简介「建议收藏」

    文件系统的类型简介「建议收藏」文件系统的类型简介Linux支持多种文件系统类型,包括ext2、ext3、vfat、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(VirtualFileSystem),为各类文件系统提供一个统一的应用编程接口。根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为

    2025年11月24日
    5
  • DeepSeek+开源n8n:24h推特(X)热点监控Workflow太绝了!【附赠:完整工作流文件】

    DeepSeek+开源n8n:24h推特(X)热点监控Workflow太绝了!【附赠:完整工作流文件】

    2026年3月13日
    2
  • 【小白视角】大数据基础实践(五) MapReduce编程基础操作

    【小白视角】大数据基础实践(五) MapReduce编程基础操作目录1.MapReduce简介1.1起源1.2模型简介1.3MRv1体系结构1.4YARN1.4.1YARN体系结构1.4.2YARN工作流程2.MapReduce工作流程3.JavaApi要点4.实验过程最后1.MapReduce简介1.1起源在函数式语言里,map表示对一个列表(List)中的每个元素做计算,reduce表示对一个列表中的每个元素做迭代计算。它们具体的计算是通过传入的函数来实现的,map和reduce提供的是计算的框架。在MapReduce

    2022年6月22日
    35
  • python decode函数的用法_decode函数的用法

    python decode函数的用法_decode函数的用法DECODE函数是ORACLEPL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途呢?先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,通常的做法是,先选出记录中的工资字段值?selectsalaryintovar-salar…

    2022年7月25日
    10
  • python2 nonlocal_Python nonlocal

    python2 nonlocal_Python nonlocalpython3:变量作用域及global,nonlocal的用法在Python程序中声明、改变、查找变量名时,都是在一个保存变量名的命名空间中进行中,此命名空间亦称为变量的作用域。python的作用域是静态的,在代码中变量名被赋值的位置决定了该变量能被访问的范围。即Python变量的作用域由变量所在源代码中的位置决定.变量作用域之LENGBL=Local局部作用域E=…

    2025年9月20日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号