[模式识别复习笔记] 第3章 线性判别函数

1. 线性判别函数

1.1 定义

d 维特征空间中,有 线性判别函数

G(x)=wTx+b

其中,w=[w1,w2,,wd]T 称为 权值向量b 称为 偏置,都是需要学习的参数。G(x)=0决策边界方程

PS:只能解决二分类问题。


1.2 几何意义

w 为超平面 wTx+b=0 的法向量,r 为实例 x 到决策边界的距离。

  • x 在决策边界的正侧:r=G(x)||w||

  • x 在决策边界的负测:r=G(x)||w||

w 仅代表决策边界的法向量方向,其长度不会影响决策边界在特征空间的位置,因此可以视作 ||w||=1。故 判别函数的绝对值实例到决策边界的距离


1.3 广义线性化

对于一个 线性不可分 问题,可以通过一个非线性变换,映射到高维空间,将识别问题变得线性可分:

线线


2. 感知机

2.1 感知机

感知机的判别函数:

G(x)=wTx+b

也就是一个线性判别函数。为了方便表示,将偏置 b 加入到 w 中,使得 w=[w1,w2,,wd,b]Tx=[x1,x2,,xd,1]T,因此判别函数变为:

G(x)=wTx

PS: 后续的表示也都采用 G(x)=wTx 的形式。


2.2 感知机训练

给定一个线性可分的二分类训练集:

{(x1,y1),(x2,y2),,(xN,yN)}

其中 xiRdyi{1,+1} ,分别表示实例和类标。(xi,yi) 称为一个样本。(此处的 xi 为已经扩展的特征向量)

感知机的训练目标即:求得一个权值向量 w,使得其对所有训练样本正确分类:

{wTx>0,yi=+1wTx<0,yi=1

等价于:求得一个权值向量 w,对于所有训练样本有:

yiwTx>0, i=1,2,,N


2.3 感知机准则函数、学习算法

定义:所有误分类的样本到当前决策超平面的距离之和。

M 为被决策超平面 G(x)=wTx=0 误分类的样本集合。对于 (xi,yi)M,有 yiwTx0

因此,(xi,yi)M,其到决策超平面的距离为:

|G(x)|||w1:d1||=|wTxi|||w1:d1||=yiwTxi||w1:d1||

||w1:d1||=1,则感知机的准则函数为:

J(w)=xiMyiwTxi

我们需要最小化这个函数。即求解最优化问题:

minwJ(w)=minwxiMyiwTxi

对于此无约束优化问题,我们采用梯度下降法解决。准则函数对 w 的梯度为:

wJ=xiMyixi

因此,权值向量更新公式为:

wwηwJ

其中 η 为学习率,wJ=xiMyixi


2.4 MGD、SGD训练感知机的流程

  • MGD(批量梯度下降算法)

    1. 随机选取超平面,权值向量初始为 w

    2. 令集合 M=。对训练集每个样本进行处理,并将 yiwTxi0 的样本加入到 M 中;

    3. 如果集合 M,进行更新:

      wwη(xiMyixi)

      其中 η 为学习率。更新完后返回步骤 2

      如果集合 M=,则终止程序。

    终止程序后得到的 w 满足:

    (xi,yi)M yiwTx0

    训练得到感知机模型:f(x)=sign(wTx)


  • SGD(随机梯度下降算法)

    PS:每次处理一个样本,如果分类错误,就用这个样本来修正权值向量 w

    1. 随机选取超平面,权值向量初始为 w 或者 w=0

    2. 依次处理训练集的每个样本:

      如果 yiwTxi0,则进行更新:

      wwη(yixi)

      如果 yiwTxi>0,则保持 w 不变,返回步骤 2

      直到所有样本都被正确分类。


2.5 感知机实例(作业)

  • 数据规范化得到:

    x1=(3,3,1),y1=+1x2=(5,2,1),y2=+1x3=(1,1,1),y3=1

  • 利用 SGD 进行求解。初始化 w=0, η=1:

    对于 x1,由于 y1wTx10,需要更新:w=w+ηy1x1=(3,3,1)

    对于 x2,无需更新;

    对于 x3,由于 y3wTx30,需要更新:w=w+ηy3x3=(2,2,0)


    对于 x1,无需更新;对于 x2,无需更新;

    对于 x3,由于 y3wTx30,需要更新:w=w+ηy3x3=(1,1,1)


    对于 x1,无需更新;对于 x2,无需更新;

    对于 x3,由于 y3wTx30,需要更新:w=w+ηy3x3=(0,0,2)


    对于 x1,由于 y1wTx10,需要更新:w=w+ηy1x1=(3,3,1)

    对于 x2,无需修正;

    对于 x3,由于 y3wTx30,需要更新:w=w+ηy3x3=(2,2,2)


    对于 x1,无需更新;对于 x2,无需更新;

    对于 x3,由于 y3wTx30,需要更新:w=w+ηy3x3=(1,1,3)


    对于 x1,无需更新;对于 x2,无需更新;对于 x3,无需更新。算法终止。

  • 求得模型为: f(x)=sign(x(1)+x(2)3)


3. 多分类问题的线性分类

3.1 一对多

对于训练集的每一类实例,训练一个线性判别函数。将属于该类和不属于该类的实例分开。

原则:对实例 x 进行分类时,当且仅当所有判别函数无冲突才能做出决策。


3.2 一对一

对于训练集中任意两个类的实例,训练一个线性判别函数。

原则:多数投票。如果绝大部分分类器认为将 x 分为 wi 类,则将 x 分为 wi 类。


3.3 最大值

对于训练集中的每个类训练一个判别函数。

原则:将一个实例分到 取值最大的判别函数对应的类 中。


3.4 总结

对于一个 k 分类问题。

  • 一对多:需要 k 个判别函数。不可识别区域较多。

  • 一对一:需要 Ck2 个判别函数。不可识别区域较少,但随着 k 增大,判别函数数量会大大增加,不适用于 k 较大的情况。

  • 最大值:需要 k 个判别函数。无不可识别区域,但训练判别函数过程复杂。

posted @   MarisaMagic  阅读(168)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示