PRML-系列一之1.5.1~1.5.3

最小化误分类率

  假设我们的目标是尽可能降低错误分类。那么我们就需要一个给每个x值分配可用类的规则。这样的规则输入空间划分成区域Rk,称为决策区域,Rk中的所有点都被分配到类Ck。决定区域之间称为决策边界或决策表面。注意,每个决策区域不必是连续的,但由一些互斥的地区组成。我们将在后面的章节中遇到决策边界和决策区域的实例。为了找到最佳的决策规则,首先考虑两个类的所有情况,如癌症问题。当属于C1类的输入变量被分配给C2类是就产生错误,反之亦然。发生这种情况的概率由下式给出:

我们可以自由地选择决策规则来为每个点x非配类别。显然为了减少p(错误),我们分配每个x的类别应该使得(1.78)中的积分值较小。因此,如果对于给定的x值,p(x,C1)>p(x,C2),那么我们就应该分配x到类C1。根据概率的乘积规则,我们有p(x,Ck)= p(Ck| x)p(x)。因为因子p(x)是在两项都一样,所以我们可以重述这个结果,如果每个x值被分配到使得后验概率p(Ck|x)最大的类,那么就可以获得犯错误的最小概率,。该结果图示图示于1.24。

对于更一般的K类情况,最大化正确的概率稍微容易一些,它由下式给出

当选择区域Rk的时候最大化上式,这样每个x被分配到p(x,Ck)最大的类。此外,使用乘积规则p(x,Ck)=p(Ck| x)p(x),并注意到p(x)因子对所有项都是一样的,我们看到每个x应该分配给具有最大后验概率p(Ck| x)。

最小化预期损失

  对于许多应用,我们的目标比简单地最小化误分类数量更复杂。让我们再来考虑医疗诊断问题。我们注意到,如果不患癌症的病人被误诊为癌症,后果可能是患者的悲痛以及进一步的检查。相反,如果患有癌症的患者被误诊为健康的,其结果可能是由于缺乏治疗而过早死亡。这两种错误的后果明显不同。即使以第一类产生更多的错误为代价,我们也能显然的看到使第二类错误少犯是比较好的。

  我们可以通过引进一个损失函数,也叫做代价函数,来形式化这类问题。该函数是采取任何可用的决定或行动所产生的损失的单个整体度量。然后我们的目标是最小化总损失。注意,有些作者考虑效用函数,他们的目标是最大化。如果我们采取的效用是

损失的负数,那么这些概念都是等价的。全书中我们将使用损失函数。假设,对于x的一个新值,其实际类别是Ck,并且我们分配给x的类是Cj(其中j可能等于k,也可能不等于k)。在这样做的时候,我们产生了一些损失用Lkj表示,我们可以将其看作一个损失矩阵的k,j元素。例如,在我们癌症的例子里,我们可能有图1.25所示的损失矩阵。这种特殊的损失矩阵表明如果正确作出决定,那么没有损失产生,如果一个健康的病人被诊断为患有癌症,那么损失为1。而如果一个具有癌症患者被诊断作为健康,损失为1000。

最优解是最小化损失函数中的一个。然而,损失函数依赖于实际类,它是未知的。对于给定的输入向量x,我们对实际类的不确定性用联合概率分布p(x,Ck)表示,所以我们最小化平均损失,计算相对于该分布的平均值,这由下式给出:

每个x单独地分配到决策区域Rj中的一个。我们的目标是选择区域Rj以便最小化预期损失(1.80),其意味着对于每个x,我们应尽量减少。与之前一样,我们可以使用乘积规则p(x,Ck)=p(Ck| x)p(x)来消除公共因子p(x)。因此,最小化预期损失的决策规则是给每个新的x分批额一个类别j,使

最小。一旦我们知道后验类的概率p(Ck| x),这明显是非常容易做的。

拒绝选项

  我们已经看到,分类错误出现在输入空间的区域,后验概率p(Ck | x)的最大值显然小于整体,或等价地联合分布p(x,Ck)有可比较的值。这些就是我们对类成员相对不确定的地区。在一些应用中,避免对困难的情况做预期是比较合适的,也就是对实例所做的分类决策错误率期望很低。这就是所谓的拒绝选项。例如,在我们假设的医疗图中,使用自动系统对那些很容易区分X光片类别的图像进行分类而专家来区分更加模糊不清的情况可能是比较合适的。我们通过引入阈值θ和拒绝输入x(对于这些输入来说,后验概率p(Ck | x)的最大值小于或等于θ)来实现。这可以理解为两个类和一个单一连续输入变量x的问题,如图1.26的。注意,设定θ= 1将确保所有的实例都被拒绝,而如果有K类那么设定θ<1 / K将确保没有实例被拒绝。因此,被拒绝的那部分实例由θ的值来控制。

时间: 2024-10-08 01:44:30

PRML-系列一之1.5.1~1.5.3的相关文章

【Windows10&nbsp;IoT开发系列】配置篇

原文:[Windows10 IoT开发系列]配置篇 Windows10 For IoT是Windows 10家族的一个新星,其针对不同平台拥有不同的版本.而其最重要的一个版本是运行在Raspberry Pi.MinnowBoard和Galileo平台上的核心版.本文重点针对Raspberry Pi平台的Windwos10 IoT配置做介绍. Windows 10 IoT Editions ​一:设置你的电脑. 注:​开发Windows10 IoT的电脑需要Visual Studio 2015.

【Windows10&nbsp;IoT开发系列】PowerShell的相关配置

原文:[Windows10 IoT开发系列]PowerShell的相关配置 可使用 Windows PowerShell 远程配置和管理任何 Windows 10 IoT 核心版设备.PowerShell 是基于任务的命令行 Shell 和脚本语言,专为进行系统管理而设计. 1.​启动 PowerShell (PS) 会话 注:若要使用装有Windows10 IoT Core设备启动PS会话,首先需要在主机电脑与设备之间创建信任关系. ​启动 Windows IoT 核心版设备后,与该设备相连的

【Windows10&nbsp;IoT开发系列】API&nbsp;移植工具

原文:[Windows10 IoT开发系列]API 移植工具 Windows 10 IoT Core 中是否提供你的当前 Win32 应用程序或库所依赖的 API? 如果不提供,是否存在可使用的等效 API? 此工具可以为你回答这些问题,并协助你将你的当前 Win32 应用程序和库迁移到 Windows IoT Core. Windows 10 IoT 核心版 API 移植工具可在 ms-iot/iot-utilities github 存储库中找到.下载存储库 zip 并将 IoTAPIPor

【Windows10&nbsp;IoT开发系列】“Hello,World!”指导

原文:[Windows10 IoT开发系列]"Hello,World!"指导 本文主要是介绍使用C#来开发一个可以运行在Raspberry Pi2上的一个基本项目. ​1.在启动Visual Studio 2015后,选择"文件"→"新建项目". ​在打开的"新建项目"对话框中,选择"通用". ​选择第一个项目"空白应用(通用Windows)" 新建项目 ​注:如果这是你创建的第一个项

【Windows10&nbsp;IoT开发系列】开发人员模式设置

原文:[Windows10 IoT开发系列]开发人员模式设置  声明:本文转自微软Windows 开发人员中心(https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx),在此基础上进行删减和修改. ​对于要用于开发.安装或测试应用的设备,不再需要开发人员许可证.你只需从设备的设置中为这些任务启用设备一次.(仅限于运行Windows 10系统的设备) 使用开发人员功能 ​使用 Microsoft Visual Stud

【Windows10&nbsp;IoT开发系列】Powershell命令行实用程序

原文:[Windows10 IoT开发系列]Powershell命令行实用程序 更新帐户密码: 强烈建议你更新默认的管理员帐户密码.若要更新帐户密码,你可以发出以下命令: net user Administrator [new password]​ (其中 [new password] 表示你选择的强密码). 创建本地用户帐户: 如果你想要授予其他人访问你的 Windows IoT Core 设备的权限,你可以通过在 net user [username] [password] /add​ 中键

时序图与状态图(Rose) - Windows XP经典软件系列

最近开始了自己高级数据结构之旅,在这次旅行中,我将持续把一些高级的数据结构从理论到编码都过一遍,同时通过博客形式分享出来,希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构,支持插入.删除.查找等操作,且平均时间复杂度为O(log(N)),但是普通二叉排序树不能保证树退化为一颗分支的情况,此时最坏情况下的时间复杂度为O(N).此时,平衡二叉树的产生了.平衡二叉树是一种动态调整平衡的数据结构,但理想的平衡二叉树很难,于是人们使用AVL.红黑树.Treap.伸展树等来替代平衡二叉树,这些数据

类图(Rose) - Windows XP经典软件系列

最近开始了自己高级数据结构之旅,在这次旅行中,我将持续把一些高级的数据结构从理论到编码都过一遍,同时通过博客形式分享出来,希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构,支持插入.删除.查找等操作,且平均时间复杂度为O(log(N)),但是普通二叉排序树不能保证树退化为一颗分支的情况,此时最坏情况下的时间复杂度为O(N).此时,平衡二叉树的产生了.平衡二叉树是一种动态调整平衡的数据结构,但理想的平衡二叉树很难,于是人们使用AVL.红黑树.Treap.伸展树等来替代平衡二叉树,这些数据

[Nhibernate]Nhibernate系列之体系结构

引言 在项目中也有用到过nhibernate但对nhibernate的认识,也存留在会用的阶段,从没深入的学习过,决定对nhibernate做一个系统的学习. ORM 对象-关系映射(OBJECT/RELATION MAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据

[js高手之路]设计模式系列课程-组合模式+寄生组合继承实战新闻列表

所谓组合模式,就是把一堆结构分解出来,组成在一起,现实中很多这样的例子,如: 1.肯德基套餐就是一种组合模式, 比如鸡腿堡套餐,一般是是由一个鸡腿堡,一包薯条,一杯可乐等组成的 2.组装的台式机同理,由主板,电源,内存条,显卡, 机箱,显示器,外设等组成的 把一个成型的产品组成部件,分成一个个独立的部件,这种方式可以做出很多灵活的产品,这就是组合模式的优势 比如:家用台式机电脑,要求配置比较低, 这个时候只需要主板+电源+内存条+机箱+显示器+外设就可以了,不需要配置独立显卡 鸡腿堡+鸡翅+紫薯