首页 > 其他分享 >[模式识别复习笔记] 第3章 线性判别函数

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

时间:2024-06-19 23:12:14浏览次数:10  
标签:le 复习 模式识别 判别函数 更新 感知机 eta text

1. 线性判别函数

1.1 定义

在 \(d\) 维特征空间中,有 线性判别函数

\[G(x) = w^{\text{T}} x + b \]

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

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


1.2 几何意义

\(w\) 为超平面 \(w^{\text{T}} x + b = 0\) 的法向量,\(r\) 为实例 \(x\) 到决策边界的距离。

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

  • \(x\) 在决策边界的负测:\(r = - \frac{G(x)}{||w||}\)

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


1.3 广义线性化

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

\[\begin{split} 低维特征空间 & \rightarrow 高维特征空间 \\\\ 线性不可分 & \rightarrow 线性可分 \end{split} \]


2. 感知机

2.1 感知机

感知机的判别函数:

\[G(x) = w^{\text{T}}x + b \]

也就是一个线性判别函数。为了方便表示,将偏置 \(b\) 加入到 \(w\) 中,使得 \(w^{'} = [w_1, w_2, \ldots, w_d, b]^{\text{T}}\),\(x^{'} = [x_1, x_2, \ldots, x_d, 1]^{\text{T}}\),因此判别函数变为:

\[G(x^{'}) = w^{'\text{T}} x^{'} \]

PS: 后续的表示也都采用 \(G(x) = w^{\text{T}}x\) 的形式。


2.2 感知机训练

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

\[\{ (x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N) \} \]

其中 \(x_i \in \mathbb{R}^d\),\(y_i \in \{ -1, +1 \}\) ,分别表示实例和类标。\((x_i y_i)\) 称为一个样本。(此处的 \(x_i\) 为已经扩展的特征向量)

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

\[\begin{cases} w^{\text{T}}x > 0, & y_i = +1 \\\\ w^{\text{T}}x < 0, & y_i = -1 \end{cases} \]

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

\[y_i w^{\text{T}}x > 0, \ \forall i = 1, 2, \ldots, N \]


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

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

记 \(M\) 为被决策超平面 \(G(x) = w^{\text{T}}x = 0\) 误分类的样本集合。对于 \(\forall (x_i, y_i) \in M\),有 \(y_iw^{\text{T}}x \le 0\)。

因此,\(\forall (x_i, y_i) \in M\),其到决策超平面的距离为:

\[\frac{|G(x)|}{||w_{1:d-1}||} = \frac{|w^{\text{T}}x_i|}{||w_{1:d-1}||} = \frac{-y_i w^{\text{T}}x_i}{||w_{1:d-1}||} \]

视 \(||w_{1:d-1}|| = 1\),则感知机的准则函数为:

\[J(w) = \sum_{x_i \in M} -y_i w^{\text{T}}x_i \]

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

\[\min_{w} J(w) = \min_{w} \sum_{x_i \in M} -y_i w^{\text{T}}x_i \]

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

\[\nabla_w J = \sum_{x_i \in M} -y_i x_i \]

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

\[w \leftarrow w - \eta \nabla_w J \]

其中 \(\eta\) 为学习率,\(\nabla_w J = \sum_{x_i \in M} -y_i x_i\)。


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

  • \(\text{MGD}\)(批量梯度下降算法)

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

    2. 令集合 \(M = \emptyset\)。对训练集每个样本进行处理,并将 \(y_i w^{\text{T}}x_i \le 0\) 的样本加入到 \(M\) 中;

    3. 如果集合 \(M \not = \emptyset\),进行更新:

      \[w \leftarrow w - \eta (\sum_{x_i \in M} -y_i x_i) \]

      其中 \(\eta\) 为学习率。更新完后返回步骤 \(2\)。

      如果集合 \(M = \emptyset\),则终止程序。

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

    \[\forall (x_i, y_i) \in M,有 \ y_i w^{\text{T}}x \le 0 \]

    训练得到感知机模型:\(f(x) = \text{sign}(w^{\text{T}}x)\)


  • \(\text{SGD}\)(随机梯度下降算法)

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

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

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

      如果 \(y_i w^{\text{T}}x_i \le 0\),则进行更新:

      \[w \leftarrow w - \eta (- y_i x_i) \]

      如果 \(y_i w^{\text{T}}x_i > 0\),则保持 \(w\) 不变,返回步骤 \(2\)。

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


2.5 感知机实例(作业)

  • 数据规范化得到:

    \[x_1 = (3, 3, 1), y_1 = +1 \\\\ x_2 = (5, 2, 1), y_2 = +1 \\\\ x_3 = (1, 1, 1), y_3 = -1 \]

  • 利用 \(\text{SGD}\) 进行求解。初始化 \(w = 0\), \(\eta = 1\):

    对于 \(x_1\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_1 x_1 = (3, 3, 1)\);

    对于 \(x_2\),无需更新;

    对于 \(x_3\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_3 x_3 = (2, 2, 0)\);

    对于 \(x_1\),无需更新;对于 \(x_2\),无需更新;

    对于 \(x_3\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_3 x_3 = (1, 1, -1)\);

    对于 \(x_1\),无需更新;对于 \(x_2\),无需更新;

    对于 \(x_3\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_3 x_3 = (0, 0, -2)\);

    对于 \(x_1\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_1 x_1 = (3, 3, -1)\);

    对于 \(x_2\),无需修正;

    对于 \(x_3\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_3 x_3 = (2, 2, -2)\);

    对于 \(x_1\),无需更新;对于 \(x_2\),无需更新;

    对于 \(x_3\),由于 \(y_1 w^{\text{T}}x_1 \le 0\),需要更新:\(w = w + \eta y_3 x_3 = (1, 1, -3)\);

    对于 \(x_1\),无需更新;对于 \(x_2\),无需更新;对于 \(x_3\),无需更新。算法终止。

  • 求得模型为: \(f(x) = \text{sign}(x^{(1)} + x^{(2)} - 3)\)。


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

3.1 一对多

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

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


3.2 一对一

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

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


3.3 最大值

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

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


3.4 总结

对于一个 \(k\) 分类问题。

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

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

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

标签:le,复习,模式识别,判别函数,更新,感知机,eta,text
From: https://www.cnblogs.com/MarisaMagic/p/18257712

相关文章

  • [模式识别复习笔记] 第4章 SVM
    1.SVM简介1.1SVM支持向量机给定如图所示的线性可分训练集,能够将两类样本正确分开的直线很多。感知机算法可以找到一条直线,且找到的直线不唯一。然而感知机无法确定哪一条直线最优,但是\(\text{SVM}\)可以。\(\text{SVM}\)可以找到能够将训练样本正确分类的直线中具有......
  • C语言期末复习笔记
    目录一,基础介绍。二,标识符起名规范。三,数据类型。四,变量。五,运算符和表达式1,加减乘除​编辑  /为整除,%为余数,*为乘号2,关系运算符3,逻辑运算符4,运算符优先级5,前自增,后自增6,三目运算符。7,符合运算符。六,控制语句。1,if判断2,多重判断。3,for循环4,while循环5,d......
  • Javascript入门博客【入门复习(学习)使用】
    JavaScript是一门高级,解释形语言,大量用于关于web网站的开发,可以和网页联动做出更多有趣的动画效果。其运行方式大都是嵌入在网页中运行。其实在定义方面如果过你是初学者来学习和这方面相关的知识,知道上面这些就已经足够了。我们可以在浏览器中直接进行对代码的控制,进入浏览器......
  • JAVA复习_PTA_判断题_汇总
    在Java中,方法重写(Override)是子类对父类允许方位的方法的实现过程进行重新编写,其参数列表一定不能修改,异常、访问限制和返回值类型能够进行修改。FJava中,final关键字修饰的类成员方法,不能被子类重写。TJava中,接口中的成员变量可用abstract关键字修饰。FJava中,接口中的成......
  • 【笔记】概率论复习
    常用分布列名称分布列/密度函数期望方差二项分布\(B(n,p)\)\(P(X=k)=\binom{n}{k}p^k(1-p)^{n-k}\)\(np\)\(np(1-p)\)超几何分布\(nM/N\)几何分布\(P(X=k)=(1-p)^kp\)\(\frac{1}{p}\)\(\frac{1-p}{p^2}\)负二项分布Poisson分布\(\operator......
  • 机器学习课程复习——朴素贝叶斯
    1.定义是一种基于贝叶斯定理与特征条件独立假设的生成式分类方法。2.公式原版公式简化版公式由于上述公式无法计算,引入条件独立假设条件独立版公式3.贝叶斯分类器由上述公式可得贝叶斯分类器化简为4.参数估计4.1.极大似然估计4.2.学习与分类算法4.2......
  • 【计算机网络】第四章.网络层 网络层超硬核复习好物(1),考前必看!!
    ......
  • 复习数据结构的第八天(串)
    串的概念字符串的概念很简单,就是一堆字符形成的有限序列。比如"看到这里的都是帅哥","abcdef"等都是字符串。而字符串字符的个数就是字符串的长度。通常一个字符串的结束标识是'\0'。对串的操作通常都是针对子串进行的,子串可以理解为就是一个字符串的子集,比如"帅哥"就是"看到......
  • 复习与回顾(C语言)
    学习三阶段:初识——>初阶——>进阶注:蓝色字体皆可跳转一阶:初识1.基本了解C语言的基础知识,对C语言有一个大概的认识2.简单认识每个知识点,后期在初阶和进阶进行详细描述学习内容1.什么是C语言2.第一个C语言程序3.数据类型4.变量、常量5.字符串、转义字符、注释......
  • 离散数学复习
    1.关系的介绍和性质(1)序偶和笛卡尔积两个元素按照一定的顺序组成的二元组就是序偶,使用尖括号进行表示,尖括号里面的元素一般都是有顺序的;笛卡尔积就是有两个集合,从第一个集合里面选择一个元素,第二个集合选择一个元素,这个集合之间的笛卡尔积就是这两个集合元素的随机组合,因此这......