【机器学习基础】判别函数

2024-04-05 04:38

本文主要是介绍【机器学习基础】判别函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本系列为《模式识别与机器学习》的读书笔记。

一,分类线性模型概述

分类的⽬标是将输⼊变量 x \boldsymbol{x} x 分到 K K K 个离散的类别 C k \mathcal{C}_k Ck 中的某⼀类。 最常见的情况是, 类别互相不相交, 因此每个输⼊被分到唯⼀的⼀个类别中。因此输⼊空间被划分为不同的决策区域decision region),它的边界被称为决策边界decision boundary)或者决策⾯decision surface)。

分类线性模型是指决策⾯是输⼊向量 x \boldsymbol{x} x 的线性函数,因此被定义为 D D D 维输⼊空间中的 ( D − 1 ) (D − 1) (D1) 维超平⾯。如果数据集可以被线性决策⾯精确地分类,那么我们说这个数据集是线性可分的(linearly separable)。

在线性回归模型中,使⽤⾮线性函数 f ( ⋅ ) f(·) f() w \boldsymbol{w} w 的线性函数进⾏变换,即
y ( x ) = f ( w T x + w 0 ) (4.1) y(\boldsymbol{x})=f(\boldsymbol{w}^{T}\boldsymbol{x}+w_0)\tag{4.1} y(x)=f(wTx+w0)(4.1)
在机器学习的⽂献中, f ( ⋅ ) f(·) f() 被称为激活函数activation function),⽽它的反函数在统计学的⽂献中被称为链接函数link function)。决策⾯对应于 y ( x ) = 常 数 y(\boldsymbol{x}) = 常数 y(x)=,即 w T x + w 0 = 常 数 \boldsymbol{w}^{T}\boldsymbol{x} + w_0 = 常数 wTx+w0=,因此决策⾯是 x \boldsymbol{x} x 的线性函数,即使函数 f ( ⋅ ) f(·) f() 是⾮线性函数也是如此。因此,由公式(4.1)描述的⼀类模型被称为推⼴的线性模型generalized linear model)(McCullagh and Nelder, 1989)。

如图4.1,⼆维线性判别函数的⼏何表⽰。决策⾯(红⾊)垂直于 w \boldsymbol{w} w ,它距离原点的偏移量由偏置参数 w 0 w_0 w0 控制。
⼆维线性判别函数的⼏何表⽰

二,判别函数

判别函数是⼀个以向量 x \boldsymbol{x} x 为输⼊,把它分配到 K K K 个类别中的某⼀个类别(记作 C k \mathcal{C}_k Ck )的函数。

1,⼆分类

线性判别函数的最简单的形式是输⼊向量的线性函数,即
y ( x ) = w T x + w 0 (4.2) y(\boldsymbol{x})=\boldsymbol{w}^{T}\boldsymbol{x}+w_0\tag{4.2} y(x)=wTx+w0(4.2)
其中 w \boldsymbol{w} w 被称为权向量weight vector), w 0 w_0 w0 被称为偏置bias)。偏置的相反数有时被称为阈值threshold)。

考虑两个点 x A \boldsymbol{x}_A xA x B \boldsymbol{x}_B xB ,两个点都位于决策⾯上。 由于 y ( x A ) = y ( x B ) = 0 y(\boldsymbol{x}_A)=y(\boldsymbol{x}_B)=0 y(xA)=y(xB)=0,我们有 w T ( x A − x B ) = 0 \boldsymbol{w}^{T}(\boldsymbol{x}_A-\boldsymbol{x}_B) = 0 wT(xAxB)=0,因此向量 w \boldsymbol{w} w 与决策⾯内的任何向量都正交,从⽽ w \boldsymbol{w} w 确定了决策⾯的⽅向。类似地,如果 x \boldsymbol{x} x 是决策⾯内的⼀个点,那么 y ( x ) = 0 y(\boldsymbol{x}) = 0 y(x)=0 ,因此从原点到决策⾯的垂直距离为
w T x ∥ w ∥ = − w 0 ∥ x ∥ (4.3) \frac{\boldsymbol{w}^{T}\boldsymbol{x}}{\|\boldsymbol{w}\|}=-\frac{w_0}{\|\boldsymbol{x}\|}\tag{4.3} wwTx=xw0(4.3)
其中,偏置参数 w 0 \boldsymbol{w}_0 w0 确定了决策⾯的位置。

记任意⼀点 x \boldsymbol{x} x 到决策⾯的垂直距离 r r r ,在决策⾯上的投影 x ⊥ \boldsymbol{x}_{\perp} x ,则有
x = x ⊥ + r w ∥ w ∥ (4.4) \boldsymbol{x}=\boldsymbol{x}_{\perp}+r \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|}\tag{4.4} x=x+rww(4.4)
利用已知公式和 y ( x ⊥ ) = 0 y(\boldsymbol{x}_{\perp})=0 y(x)=0 可得
r = y ( x ) ∥ w ∥ (4.5) r=\frac{y(\boldsymbol{x})}{\|w\|}\tag{4.5} r=wy(x)(4.5)
为方便简洁,引⼊“虚”输⼊ x 0 = 1 x_0=1 x0=1 ,并且定义 w ~ = ( w 0 , w ) \tilde{\boldsymbol{w}} = (w_0,\boldsymbol{w}) w~=(w0,w) 以及 x ~ = ( x 0 , x ) \tilde{\boldsymbol{x}} = (x_0,\boldsymbol{x}) x~=(x0,x) ,从⽽
y ( x ) = w ~ T x ~ (4.6) y(\boldsymbol{x})=\tilde{\boldsymbol{w}}^{T}\tilde{\boldsymbol{x}}\tag{4.6} y(x)=w~Tx~(4.6)
在这种情况下, 决策⾯是⼀个 D D D 维超平⾯, 并且这个超平⾯会穿过 D + 1 D+1 D+1 维扩展输⼊空间的原点。

2,多分类

考虑把线性判别函数推⼴到 K > 2 K>2 K>2 个类别。

方法一,使⽤ K − 1 K − 1 K1 个分类器,每个分类器⽤来解决⼀个⼆分类问题,把属于类别 C k \mathcal{C}_k Ck 和不属于那个类别的点分开。这被称为“1对其他”(one-versus-the-rest分类器。此方法的缺点在于产⽣了输⼊空间中⽆法分类的区域。

方法二,引⼊ K ( K − 1 ) 2 \frac{K(K−1)}{2} 2K(K1) 个⼆元判别函数, 对每⼀对类别都设置⼀个判别函数。 这被称为“1对1”(one-versus-one分类器。每个点的类别根据这些判别函数中的⼤多数输出类别确定,但是,这也会造成输⼊空间中的⽆法分类的区域。

如图4.2,尝试从⼀组两类的判别准则中构建出⼀个 K K K 类的判别准则会导致具有奇异性的区域, ⽤绿⾊表⽰。
判别准则
方法三,通过引⼊⼀个 K K K 类判别函数,可以避免上述问题。这个 K K K 类判别函数由 K K K 个线性函数组成,形式为
y k ( x ) = w k T x + w k 0 (4.7) y_{k}(\boldsymbol{x})=\boldsymbol{w}_{k}^{T}\boldsymbol{x}+w_{k0}\tag{4.7} yk(x)=wkTx+wk0(4.7)
对于点 x \boldsymbol{x} x ,如果对于所有的 j ≠ k j \ne k j=k 都 有 y k ( x ) > y j ( x ) y_{k}(\boldsymbol{x})\gt y_{j}(\boldsymbol{x}) yk(x)>yj(x) ,那么就把它分到 C k \mathcal{C}_k Ck 。 于是类别 C k \mathcal{C}_k Ck C j \mathcal{C}_j Cj 之间的决策⾯为 y k ( x ) = y j ( x ) y_{k}(\boldsymbol{x})=y_{j}(\boldsymbol{x}) yk(x)=yj(x),并且对应于⼀个 ( D − 1 ) (D − 1) (D1) 维超平⾯,形式为
( w k − w j ) T x + ( w k 0 − w j 0 ) = 0 (4.8) (\boldsymbol{w}_{k}-\boldsymbol{w}_{j})^{T}\boldsymbol{x}+(w_{k0}-w_{j0})=0\tag{4.8} (wkwj)Tx+(wk0wj0)=0(4.8)
考虑两个点 x A \boldsymbol{x}_A xA x B \boldsymbol{x}_B xB ,两个点都位于决策区域 R k \mathcal{R}_k Rk 中, 任何位于连接 x A \boldsymbol{x}_A xA x B \boldsymbol{x}_B xB 的线段上的点都可以表⽰成下⾯的形式
x ^ = λ x A + ( 1 − λ ) x B (4.9) \hat{\boldsymbol{x}}=\lambda \boldsymbol{x}_{A}+(1-\lambda)\boldsymbol{x}_{B}\tag{4.9} x^=λxA+(1λ)xB(4.9)
其中, 0 ≤ λ ≤ 1 0\le\lambda\le1 0λ1 。根据判别函数的线性性质,有
y k ( x ^ ) = λ y k ( x A ) + ( 1 − λ ) y k ( x B ) (4.10) y_{k}(\hat{\boldsymbol{x}})=\lambda y_{k}(\boldsymbol{x}_{A})+(1-\lambda)y_{k}(\boldsymbol{x}_{B})\tag{4.10}

这篇关于【机器学习基础】判别函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877648

相关文章

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用