PRML读书笔记(1)——introduction

2024-05-12 17:18

本文主要是介绍PRML读书笔记(1)——introduction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.1主要是简介机器学习与模式识别,1.2.1-1.2.4是概率论相关基础,不是本书重点,掌握即可,因此略过不总结。之后的章节主要内容有:线性回归的重新审视,模型选择,维度灾难,决策理论基础以及信息论基础。以下分别作出总结。

1.1 线性回归的重新审视

假设数据服从均值为 y(x,w) ,方差为 β 的高斯分布,那么我们可以写出如下的概率公式:

p(tw,x,β)=N(t|y(x,w),β1)

其中, t 代表样本x对应的标签。接下来,我们利用最大后验概率的方法,使用训练集 x,t 来决定需要训练的变量 w β

p(tw,x,β)=Nn=1N(tn|y(xn,w),β1)

接下来对该式子求对数:
lnp(tw,x,β)=Nn=1[β2(wTxntn)212ln(2π)+12ln(β)]

如果 β 不是需要估计的参数,即把β看做常数,则与 w 相关的项只有:
lnp(tw,x,β)=Nn=112(wTxntn)2

其中保留 12 是为了求导方便。同时,我们也可以对 β 求导,并且得到β的最大似然估计。另外,如果我们假设 w 的先验概率是一个高斯分布:
p(wα)=N(w|0,α1I)

那么根据贝叶斯公式:
p(wt,x,β,α)p(wα)p(t|w,x,β)

我们可以写出 w 的对数似然函数,这里直接给出消除与w无关的项之后的结果:
Nn=1β2(wTxntn)+12wTw

1.2 模型选择

这里主要介绍了交叉验证,以及交叉验证的极端情况leave-one-out。同时介绍了一个Akaike information criterion(AIC)。

1.3 维度灾难

在二维的假设空间上,我们可以将其划分为正方形格子,数据都落在这些格子上。这样就会产生一种简单的预测方法,即格子中哪个类别的数据多,这个格子就属于哪个类别。当新样本落在这个格子上,就根据这个格子的类别来判断新样本的类别。但是这样做会有一个问题,在高维空间上,由于维度的增加,格子数目呈指数增长,我们很难有数据去填充这些格子,这就导致大部分格子都是空的,我们无法对这些空格子进行预测。这是维度灾难的一个例子。
另一方面,数据在高维空间上的分布可能会违反我们的直觉。例如,我们一般会认为一个球的质量集中在球心,球的外壳只有很少的质量(所以一个苹果的果肉质量远大于果皮?)。然而在高维中,一个超球的质量却集中在超球的壳上,这意味着如果数据在高维空间中呈一个超球分布,那么绝大多数数据都会在球的壳上。另外,高维高斯分布的数据没有集中在均值上,而在聚集在均值的周围形成一个超环。

1.4 决策理论

这里的决策理论基础主要讲了两个方法,第一种方法是最小化分类误差,第二种方法是最小化期望损失。然后描述了一下生成模型、判别模型与判别函数。最后使用线性回归举了个例子。
先说一下最小化分类误差。我们需要在假设空间中给每一个类别划分一块区域,落在这个区域内的新样本点就被标记为对应的类别。最小化分类误差要做的事,就是让误分类的新样本点最少。具体做法是,假设样本有一定概率落在某一类别 Ck 对应的区域 Rk ,我们的目标是找到一个最好的划分方式,使得样本被误分类的概率最小,即如下的概率最低:

p(mistake)=R1p(x,C2)+R2p(x,C1)

一个非常简单的方法就是,对于一个点 x ,如果p(x,C2)>p(x,C1),则我们就把这个点分配给 C2 。同时如果我们使用贝叶斯公式,则只需 p(C2|x)p(x)>p(C1|x)p(x) 也即 p(C2|x)>p(C1|x)
通常而言,最小化分类误差是符合直觉的,这样能使误分类的样本点最少,但是有时候我们会遇到一些意外情况,例如把正例判为负例的代价要远大于把负例判为正例。例如医院把正常人误诊为癌症可能没什么关系,但是如果癌症患者没有被检测出来,就错过了最佳治疗时间,这是非常严重的。因此,我们在之前最小化分类误差的基础上增加一个损失偏好,这样得到的分类决策就叫最小化期望损失。公式如下:
E[L]=kjRjLkjp(x,Ck)dx

其中, Lkj 就是类别为k的点被分到类别j下所造成的损失权重。最小化以上的这个期望损失,就叫最小化期望损失。
之后的判别模型与生成模型的区别在其他地方都有提及,此处不重复。需要注意的是,对于判别模型,本书将其分为两种,一是直接求出条件概率 p(Ck|x) ,然后根据之前的决策理论来找出决策边界,另一种是直接求出一个判别函数,这个函数完全与概率无关,直接由 x 得出Ck
在最后的回归问题中,如果我们将 Lkj 设置为二次函数 (y(x)t)2 ,那么最小化期望损失对应的解是 y(x)=Et(tx) 。如果 Lkj 是一个绝对值 |y(x)t| ,则对应的解是t的概率的众数。这可以通过在损失函数中对 y(x) 求偏导得出。

1.5 信息论基础

信息论的核心在于熵。对于一个随机事件而言,我们想通过一个度量来衡量它的发生给我们带来的信息量。对于一个一定发生的事件而言,这件事发生了不能给我们带来任何惊喜,也就是不能给我们带来任何信息,而对于一个概率很小的事而言,如果发生了,那我们也许会知道很多隐含在这个事件背后的信息。对此,我们需要用一个函数来进行度量。两个独立事件带来的信息量应该是可以相加的,信息量应该随概率的增高而递减,基于这两个出发点,人们用对数的负数来度量一个事件的信息量:

h[x]=lnp(x)

我们称这个事件的信息量的期望为熵:
H[x]=xp(x)lnp(x)

巧合的是,熵有很多有意思的性质。在编码领域中,一种编码方式的期望长度等于对应熵的大小,因此对于给定概率分布的需编码字母,其分布的熵即为一个字母所需编码长度的最小期望。
另外通过对熵的公式求 p(x) 的最大似然值,可知当 p(x) 在离散状态下为均匀分布,连续状态下为高斯分布的时候熵值最大。
同时还定义了条件熵:
H[yx]=p(x,y)lnp(y|x)dydx

并且可以很容易证实以下公式:
H[x,y]=H[yx]+H[x]

也就是说,事件 x y一起发生给出的信息量,等同于先发生 x 获得的信息加上发生x y 发生获得的信息。如果我们想传输一串信息,这些字符的分布是p,但是由于信息很长,我们不能完全知道 p 的分布,但是可以通过采样知道一个近似分布q,现在采取一个度量来度量 p q之间的差距,这个度量就是KL散度:
KL(p||q)=p(x)lnq(x)[p(x)lnp(x)]=p(x)lnq(x)p(x)

可以看出来,从编码的角度看,就是在真实分布为 p 的情况下,我们却根据分布q的最佳编码来编码,这样明显会增加编码长度,这个长度减去根据 p 编码的最优编码,就得到了由于选错了分布而导致的多余编码长度。
定义得到了KL散度之后,又可以定义另一个有意思的问题,对于两个变量 x y p(x,y) p(x)p(y) 含有的信息量差了多少呢?这个可以用KL散度来度量,即 KL(p(x,y)||p(x)p(y)) ,叫互信息。互信息有一些性质:
I(x,y)=H[x]H[xy]=H[y]H[y|x]

也就是说,互信息度量的是,对于事件 x 而言,发生了y导致 x <script type="math/tex" id="MathJax-Element-3439">x</script>的不确定减少程度(熵代表了不确定的度量)。

这篇关于PRML读书笔记(1)——introduction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

《C++标准库》读书笔记/第一天(C++新特性(1))

C++11新特性(1) 以auto完成类型自动推导 auto i=42; //以auto声明的变量,其类型会根据其初值被自动推倒出来,因此一定需要一个初始化操作; static auto a=0.19;//可以用额外限定符修饰 vector<string> v;  auto pos=v.begin();//如果类型很长或类型表达式复杂 auto很有用; auto l=[] (int

读书笔记(一):双脑记

谁又知道年轻人那反复无常的大脑有着怎样的运行机制?尽管他们的大脑已被荷尔蒙折腾地七荤八素;却偶尔还会有灵感跻身夹缝之间; 层级化:每时每刻,人类都在进行抽象化,也就是说,从客观事实中发展出更具普遍意义的理论和知识。利用这种方法,我们得以不断地开发出新的更为简洁的描述层级,方便我们那容量有限的大脑加以处理。分层的概念几乎可以应用于任何复杂系统,甚至包括我们的社交世界,也即是人们的个人生

2024.09.07【读书笔记】| SMRTLink工具对PB组装疑难解答

在使用SMRT Link的pb_assembly_hifi命令进行组装分析时,可以参考以下步骤和信息: 使用pbcromwell show-workflow-details pb_assembly_hifi命令查看该工作流的详细信息。这将帮助你了解所需的输入参数和可选输入参数。 根据工作流的要求,你需要准备相应的输入文件。例如,对于单样本基因组组装,需要CCS(连续测序)的fastq文件路径作

密码学读书笔记小结

密码学是保证消息的私密性和完整性以及消息认证的基础。加密算法的选择和密钥的管理是安全机制的效率、性能和可用性的关键。 公钥加密算法: 分发密钥比较容易,但是对大数据量的加密性能较差密钥加密算法: 更适合大批的加密任务混合型加密协议: 例如TLS,先用公钥加密建立一个安全通道,然后使用通道交换密钥,并将此密钥用于后续数据交换。 对分布式系统攻击的分类: 窃听: 未经授权获得消息副本伪装: 在未

《设计模式:可复用面向对象软件的基础》读书笔记(3)

这篇博客记录了书中《第3章:创建型模式》里的要点。 介绍 创建型设计模式抽象了实例化过程。 在这些模式中有两个不断出现的主旋律: 他们都将关于该系统使用哪些具体的类的信息封装起来。他们隐藏了这些类的实例是如何被创建和放在一起的。 整个系统关于这些对象所知道的是由抽象类所定义的接口。因此,创建型模式在什么被创建、谁创建它、它是怎样被创建的,以及何时被创建等方面给予你很大的灵活性。 下面将这

《程序员修炼之道》读书笔记(8):注重实效的项目

第8章:注重实效的项目 随着项目开动,我们需要从个体的哲学与编码问题,转向为项目级别的问题。 本章将讨论影响项目成败的几个关键区域。 41《注重实效的团队》 本书在先前讨论了帮助程序员个体更好的方法,这些方法对团队也有效。 下面将针对团队,来重述前面部分章节。 不要留破窗户。团队不应该容忍那些小小的、无人修正的不完美。煮青蛙。团队更容易被煮熟,因为每个人都觉得别人会在监视环境的变化。交流

AI基础 L1 Introduction to Artificial Intelligence

什么是AI Chinese Room Thought Experiment 关于“强人工智能”的观点,即认为只要一个系统在行为上表现得像有意识,那么它就真的具有理解能力。  实验内容如下: 假设有一个不懂中文的英语说话者被关在一个房间里。房间里有一本用英文写的中文使用手册,可以指导他如何处理中文符号。当外面的中文母语者通过一个小窗口传递给房间里的人一些用中文写的问题时,房间里的人能够依

Linux程序设计读书笔记------入门

第一章 入门   1:什么是Unix Unix是Open Group管理的一个商标,它指的是遵循特定规范的计算机操作系统 2:什么是Linux Linux是一个可以自由发布的类Unix内核实现,他是一个操作系统的底层核心 3:Linux应用程序表现为两种特殊类型的文件:可执行文件和脚本文件 4:Linux文本编辑器:Vim,Emacs等 5:库文件   1:静态库:.a   2

Introduction to Deep Learning with PyTorch

1、Introduction to PyTorch, a Deep Learning Library 1.1、Importing PyTorch and related packages import torch# supports:## image data with torchvision## audio data with torchaudio## text data with t

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 10数据中心中的BGP

本章解答以下问题: ASN,团体(community),属性(attribute),最佳路径这些BGP术语是什么疑似?在数据中心中应该使用eBGP还是iBGP?在数据中心使用BGP时,应采用什么ASN编号方案?在数据中心使用BGP时,应如何修改BGP的计时器? BGP 基本概念 BGP协议概述 BGP 是一种路径矢量路由协议。“矢量”是一个数组或列表。因此,路径矢量路由协议是一种构建并分发