当前位置: 首页 > news >正文

【感知机】感知机(perceptron)学习算法例题及详解

感知机( perceptron )是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1 和-1二值。感知机对应输入空间(特征空间)中将实例划分为正负两类的分离超平面,是一种判别模型。感知机是神经网络与支持向量机的基础

感知机学习旨在求出将训练数据进行线性划分的分离超平面。

感知机学习思路:

1.导入基于误分类的损失函数

2.利用梯度下降法对损失函数进行极小化

3.代入参数得到感知机模型。

感知机学习算法分类:

原始形式、对偶形式。

感知机算法原始形式例题及详解

例1 训练数据集如图所示,正实例点为x_1=(3,3)^{T},x_2=(4,3)^{T},负实例点为x_3=(1,1)^{T},试用感知机算法原始形式求感知机模型,令w=(w^{(1)},w^{(2)})^{T},x=(x^{(1)},x^{(2)})^{T}

解答:

(1)建模最优化问题:\underset{w,b}{min}L(w,b)= - \underset{x_i\in M}{\sum } y_i (w\cdot x_i+b )

(2)取初值w_0=0,b_0=0\eta =1 

(3)按x_1,x_2,x_3顺序,对x_1=(3,3)^{T},y_1(w\cdot x1+b )= 0,则x_1为误分类点。更新w,b

w_1=w_0+y_1x_1=(3,3)^{T},b_1=b_0+\eta y_1=1

得到线性模型:w_1\cdot x+b_1=3x^{(1)}+3x^{(2)}+1=0

(4)重新选取,对x_1,x_2y_i(w_1\cdot x_i+b_1)>0,则均为正确分类点,不更新w,b

x_3=(1,1)^{T}y_3(w_1\cdot x_3+b_1)< 0,则x_3为误分类点,更新w,b

w_2=w_1+y_3x_3=(2,2)^{T},b_2=b_1+\eta y_3=0

得到线性模型:w_2\cdot x+b_2=2x^{(1)}+2x^{(2)}=0

(5)由此不断迭代

(6)直到w_7=(1,1)^{T},b_7=-3

线性模型:w_7\cdot x+b_7=x^{(1)}+x^{(2)}-3=0

对所有数据点y_i(w_1\cdot x_i+b_1)>0,则确定分离超平面:x^{(1)}+x^{(2)}-3=0

感知机模型f(x)=sign(x^{(1)}+x^{(2)}-3)

分离超平面x^{(1)}+x^{(2)}-3=0是按照x_1,x_3,x_3,x_3,x_1,x_3,x_3的取点顺序得到的

例1如果更换取点顺序为x_1,x_3,x_3,x_3,x_2,x_3,x_3,x_3,x_1,x_3,x_3,得到的分离超平面为:

2x^{(1)}+x^{(2)}-5=0

由此,可知结论:感知机算法采用不同的初值或选取不同的误分类点顺序,解可以不同

感知机算法对偶形式例题及详解

例2 训练数据集如图所示,正实例点为x_1=(3,3)^{T},x_2=(4,3)^{T},负实例点为x_3=(1,1)^{T},试用感知机算法对偶形式求感知机模型,令w=(w^{(1)},w^{(2)})^{T},x=(x^{(1)},x^{(2)})^{T}

解答:

(1)取\alpha_1=0,i=1,2,3,b=0,\eta =1;

(2)计算Gram矩阵

G=\begin{bmatrix} 18 & 21 &6 \\ 21& 25&7 \\ 6 & 7 & 2 \end{bmatrix}

(3)误分条件

y_i (\sum_{j=1}^{N} \alpha _jy_jx_j\cdot x+ b)\leq 0

(4)参数更新

\alpha_i\leftarrow \alpha_i+1,b\leftarrow b+y_i

(5)迭代

(6)最终得到

w=\alpha_1x_1+\alpha_2x_2+\alpha_3x_3=2x_1+0x_2+5x_3=(1,1)^{T}

b=-3

则,分离超平面:x^{(1)}+x^{(2)}-3=0

感知机模型:f(x)=sign(x^{(1)}+x^{(2)}-3)

与原始形式一致,感知机学习算法的对偶形式迭代收敛,且存在多个解

http://www.dtcms.com/a/321983.html

相关文章:

  • 任务管理器如何查看详细的命令行和路径?
  • 安科瑞能源管理系统在某新材料公司光储充一体化项目上的应用
  • 【C++空指针革命】nullptr:告别NULL的终极解决方案与底层实现剖析
  • 在超算中心,除了立式机柜(rack-mounted)还有哪些形式?
  • 官方Windows系统部署下载工具实践指南
  • 遥测自跟踪天线系统组成、特点、功能、工作流程
  • 【普通地质学】地质年代与地层系统
  • 无人机SN模块运行与功能详解
  • Vibe coding现在能用于生产吗?
  • 什么是0.8米分辨率卫星影像数据?
  • C++ WonderTrader源码分析之自旋锁实现
  • nflsoi 8.8 题解
  • CF每日3题(1400-1700)
  • 第9章 AI 安全、可解释性与伦理合规
  • 3天落地企业级应用,JNPF+AI重塑开发效率
  • sqli-labs靶场less46-less50
  • 传送带包裹漏检率↓78%!陌讯动态感知模型在物流分拣的实战优化
  • dMSA 滥用 (BadSuccessor) 导致权限升级:使用 ADAudit Plus 监控关键属性更改
  • Python使用LLM把自然语言翻译成SQL语句
  • 线程组和线程池的基本用法
  • 深入理解 SwiftUI 布局:VStack、HStack 和表单控件全解析
  • 电脑和手机访问网站,自动检测跳转不同网站
  • 将2小时的财报OCR识别录入缩短至5分钟,如何实现财报智能OCR录入
  • 创建一个Vue3项目
  • TLF35584芯片功能总结
  • Python基础语法练习
  • 力扣-56.合并区间
  • ESP32-menuconfig(4) -- Partition Table
  • [优选算法专题一双指针——三数之和]
  • Google再次颠覆自家模型,使用 MoR 模型打破 Transformer 模型壁垒