带你搞懂感知机算法原理

本文详细介绍了感知机算法的原理,包括模型定义、损失函数、学习策略及原始和对偶形式的算法。通过理解误分类点的处理方式,展示了感知机如何逐步找到能正确分类数据的超平面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多人可能听过大名鼎鼎的SVM,这里介绍的正是SVM算法的基础——感知机,感知机是一种适用于二类线性分类问题的算法

原理

  • 问题的输入与输出:
    X = { x1,x2,...,xn x 1 , x 2 , . . . , x n }
    Y = {+1, -1}

  • 模型:
    感知机的目的是找到一个可以正确分类数据的超平面S: ωx+b=0 ω ⋅ x + b = 0 , 其中 ω ω 是超平面的法向量,b是截距,得到感知机模型 f(x)=sign(ωx+b) f ( x ) = s i g n ( ω ⋅ x + b ) ,其中 ωx+b>0 ω ⋅ x + b > 0 为正类, ωx+b<0 ω ⋅ x + b < 0 为负类

  • 策略:
    接下来的问题就是如何找到最优模型,简单说就是定义损失函数并将损失函数最小化。损失函数需要是关于ω,b的连续可导函数,这里采用的正是误分类点离超平面的距离。
    输入空间任意一点 xi x i 到超平面的距离为 1||ω|||ωxi+b| 1 | | ω | | | ω ⋅ x i + b |
    对于任意误分类的点: yi(ωxi+b)>0 − y i ( ω ⋅ x i + b ) > 0
    点到超平面的距离可以表示为 1||ω||yi(ωxi+b) − 1 | | ω | | y i ( ω ⋅ x i + b )
    所有误分类的点到超平面的距离之和为: 1||ω||xiMyi(ωxi+b) 1 | | ω | | ∑ x i ∈ M y i ( ω ⋅ x i + b ) ,其中M表示所有误分类的点的集合
    不考虑 1||ω|| 1 | | ω | | , 损失函数可以写成 L(ω,b)=xiMyi(ωxi+b) L ( ω , b ) = ∑ x i ∈ M y i ( ω ⋅ x i + b )
    感知机学习的策略就是寻找 minL(ω,b)=xiMyi(ωxi+b) m i n L ( ω , b ) = ∑ x i ∈ M y i ( ω ⋅ x i + b ) ω,b ω , b

  • 算法:
    直观的说,当有一个实例点被误分类时,实例点在分类超平面的错误一侧,调整 ω ω 和 b 的值,使得分离超平面向该点移动,以减少点到分类超平面的距离,直到越过改点使其正确分类
    1.原始形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值