PRML(2)--绪论(下)模型选择、纬度灾难、决策论、信息论

PRML绪论

  • 1.3 模型选择
  • 1.4 纬度灾难
  • 1.5 决策论
    • 1.5.1最小错误分率
    • 1.5.2最小化期望损失
    • 1.5.3拒绝选项
    • 1.5.4推断和决策
    • 1.5.5 回归问题的损失函数
  • 1.6 信息论

1.3 模型选择

模型过复杂会造成过拟合问题,需要通过一些技术来降低模型的复杂度。
就最大似然而言,可以增加一个惩罚项来补偿过于复杂的模型造成的过拟合问题。

赤池信息准则,使式1.73最大,M是模型中可调节参数的数量:
lnp(D∣wML)−Mlnp(\mathcal{D}|\bm{w}_ML)-Mlnp(DwML)M

1.73式?是一个变体,被称作贝叶斯信息准则,但是没有考虑模型参数的不确定性。

1.4 纬度灾难

一个三分类问题画格子分类。随着输入维度的增加会造成的问题:

  1. 单元格的数量会随输入空间维度的增加而增加
  2. 为了保证单元格不空,训练数据的量需要增加

高维空间中的直觉错误:
3. 高维空间中,一个球的体积大部分会聚集在表面附近薄球上
4. 在高纬空间中,高斯分布的概率质量会集中在某一半径的薄球上

1.5 决策论

决策论和概率论结合:能够在涉及不确定性的条件下作出最优决策。

例如:依据病人X光片,判断病人是否得了癌症,并依据判断给出是否需要治疗的决定。

概率论如何在决策时起作用

1.5.1最小错误分率

需要一个规则将不同的x分到合适的类别中,按照规则会把输入空间分成不同的决策区域Rk\mathcal{R}_kRk。在Rk\mathcal{R}_kRk中的点将被分为Ck\mathcal{C}_kCk类。

考虑一维数轴上的两分类问题,错分概率为:
p(mistake)=p(x∈R1,C2)+p(x∈R2,C1)=∫R1p(x,C2)dx+∫R2p(x,C1)dx(1.78)p(mistake)=p(x\in\mathcal{R}_1,\mathcal{C}_2)+p(x\in\mathcal{R}_2,\mathcal{C}_1)=\int_{\mathcal{R}_1}p(x,\mathcal{C}_2)dx + \int_{\mathcal{R}_2}p(x,\mathcal{C}_1)dx\tag{1.78} p(mistake)=p(xR1,C2)+p(xR2,C1)=R1p(x,C2)dx+R2p(x,C1)dx(1.78)

为了使(1.78)式最小,那么可以得到一个决策规则:如果p(x,C1)>p(x,C2)p(x,\mathcal{C}_1)>p(x, \mathcal{C}_2)p(x,C1)>p(x,C2)就将x划分为类别1。也等价于将x 分入到具有最大后验概率的类别中。

1.5.2最小化期望损失

实际引用中,目标远比最小化错误分类率更加复杂。

就癌症判断例子中每种错误分类所带来的决策损失是不同的:健康误判为有病–多了复查,有病误判为健康–错过最佳治疗时间。

损失函数(loss function) 也被称为代价函数(cost function):对所有可能的决策或者动作 可能产生的损失的一种整体度量。目标是:最小化期望损失。

期望损失的计算:x属于Ck\mathcal{C}_kCk类,我们将其划分为Cj\mathcal{C}_jCj类,造成的损失为Lkj\mathcal{L}_{kj}Lkj
E[L]=∑k∑j∫RjLkjp(x,Ck)dx\mathbb{E}[L]=\sum_k\sum_j\int_{\mathcal{R}_j}L_{kj}p(x,\mathcal{C}_k)dxE[L]=kjRjLkjp(x,Ck)dx

得出的结论还是需要:后验概率

1.5.3拒绝选项

在类别归属相对不确定的时候,避免作出决策是更合适的选择。这样会使模型的分类错误率降低,这被称为拒绝选项(reject option)。

癌症的例子:使用自动化系统来对几乎没有怀疑的X光片进行分类,把不易分类的留给人类专家。

一种简单的拒绝实现方式:引入一个阈值θ\thetaθ,拒绝后验概率p(Ck∣x)p(\mathcal{C}_k|x)p(Ckx)的最大值小于等θ\thetaθ的那些输入x。

1.5.4推断和决策

解决决策问题的三种方法:

  1. 推断类条件密度p(x∣Ck)p(x|\mathcal{C}_k)p(xCk),推断类先验概率密度p(Ck)p(\mathcal{C}_k)p(Ck),计算后验概率->决策(生成式模型)。
  2. 直接推断后验概率p(Ck∣x)p(\mathcal{C}_k|x)p(Ckx)->决策(判别式模型)。
  3. 找到一个判别函数f(x)f(x)f(x),直接把输入x映射到类别标签中。

三种方法各有优缺点。

1.5.5 回归问题的损失函数

回到曲线拟合问题:对于每一个输入x,对应目标值t的估计值为y(x), 造成的损失是L(t,y(x)),那么期望损失为:
E[L]=∫∫L(t,y(x))p(x,t)dxdt\mathbb{E}[L]=\int\int L(t,y(x))p(x,t)dxdtE[L]=L(t,y(x))p(x,t)dxdt

L(t,y(x))常用平方损失函数–L(t,y(x))=[y(x)−t]2L(t,y(x))=[y(x)-t]^2L(t,y(x))=[y(x)t]2。我们的目标是选择合适的y(x)来使E[L]\mathbb{E}[L]E[L]最小化。形式变分法求解y(x)(不会求):
δE[L]δy(x)=2∫{y(x)−t}p(x,t)dt=0\frac{\delta\mathbb{E}[L]}{\delta y(x)}=2\int\{y(x)-t\}p(x,t)dt = 0δy(x)δE[L]=2{y(x)t}p(x,t)dt=0

使用概率的加和规则和乘积规则有(对上式子进行移项和相除操作得到):
y(x)=∫tp(x,t)dtp(x)=∫tp(t∣x)dt=Et[t∣x](1.89)y(x)=\frac{\int tp(x,t)dt}{p(x)}=\int tp(t|x)dt=\mathbb{E}_t[t|x]\tag{1.89}y(x)=p(x)tp(x,t)dt=tp(tx)dt=Et[tx](1.89)

Et[t∣x]\mathbb{E}_t[t|x]Et[tx]符号迷惑,理解成 t 在给定x条件下的期望会更容易理解。Ep(t∣x)[t]\mathbb{E}_{p(t|x)}[t]Ep(tx)[t]

所以y(x)最优解就是t的条件期望。

同样有三种方法来解决回归问题:

  1. 确定p(x,t),计算p(t|x),依据1.89式进行积分
  2. 推断p(t|x),依据1.89式进行积分
  3. 直接通过数据找到回归函数模型y(x)

闵可夫斯基损失函数–平方损失函数的推广
E[L]q=∫∫∣y(x)−t∣qp(x,t)dxdt\mathbb{E}[L]_q=\int\int|y(x)-t|^qp(x,t)dxdtE[L]q=y(x)tqp(x,t)dxdt

1.6 信息论

信息量的概念:观察到一个离散型随机变量时,我们能获得多少信息?直觉上,低概率事件具有高信息量。寻找一个表达信息量的函数h(⋅)h(\cdot)h()是p(x)的递减函数。且如果有两个不相关的事件x,y,观察到两个事件同时发生的信息量应该等于两件事各自发生时的概率,即h(x,y)=h(x)+h(y)h(x,y)=h(x)+h(y)h(x,y)=h(x)+h(y),两件不相关的事是统计独立的,因此有p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)。容易得出h(x)与p(x)是对数关系。因此有(单个随机变量的信息量):
h(x)=−log⁡2p(x)h(x)=-\log_2p(x)h(x)=log2p(x)

熵:传输随机变量x的平均信息量为:
H[x]=−∑xp(x)log2p(x)H[x]=-\sum_xp(x)log_2p(x)H[x]=xp(x)log2p(x)

非均匀分布的熵比均匀分布的熵要小。

无噪声编码定理:熵是传输一个随机变量状态值所需比特位的下界。

熵起源于物理学:N个物体放到若干个箱子中,所有的方案数构成乘数。乘数通过合适参数缩放对数乘数,且当N−>∞N->\inftyN>时,就可以得到自然对数熵的定义。

离散型随机变量的熵特性:
熵是非负数;熵的最小值为0;利用概率归一化约束,使用拉格朗日乘子法找到熵的最大值为所有的值都相等,且等于1M\frac{1}{M}M1时,熵值最大。M为xix_ixi的状态总数。

熵的概念从离散型随机变量扩展到连续型随机变量:将连续型随机变量离散化,然后让Δ−>0\Delta->0Δ>0,得到微分熵的概念:
−∫p(x)ln⁡p(x)dx-\int p(x)\ln p(x) dxp(x)lnp(x)dx
熵的离散形式和连续形式相差一个ln⁡Δ\ln \DeltalnΔΔ−>0\Delta->0Δ>0的情况下是发散的。反映一个重要的事实:具体化一个连续型随机变量需要大量的比特位。

连续型随机变量的熵特性:
最大化微分熵的分布是高斯分布,最大的熵值还由分布的方差决定。随着方差的增大而增大(越平越大的趋势还是在的)
H[x]=12{1+ln⁡(2πσ2)}H[x]=\frac{1}{2}\{1+\ln(2\pi\sigma ^2)\}H[x]=21{1+ln(2πσ2)}
微分熵可以为负数。

条件熵:

**KL散度:**目标分布p(x)p(x)p(x),近似分布q(x∣θ)q(x|\theta)q(xθ)–平均附加信息量,比原来的信息量多出来的信息量。KL散度不是一个对称量。
KL(p∣∣q)=−∫p(x)ln⁡{q(x)p(x)}dxKL(p||q)=-\int p(x)\ln\left\{\frac{q(x)}{p(x)}\right\}dxKL(pq)=p(x)ln{p(x)q(x)}dx

**凸函数:**弦在函数图像上,对应的函数的二阶导数为正。
f(λa+(1−λ)b)<=λf(a)+(1−λ)f(b)f(\lambda a + (1-\lambda)b) <= \lambda f(a) + (1-\lambda)f(b)f(λa+(1λ)b)<=λf(a)+(1λ)f(b)

**凹函数:**弦在函数图像的下方,对应的二阶导数为负数
f(x)=−f(x)f(x)=-f(x)f(x)=f(x)

利用Jensen 不等式+−ln⁡x-\ln xlnx函数是凸函数 证明了KL散度非负数。因此可以将KL散度看作两分布之间不相似程度的度量。(解释性说明

最大似然等价与最小化**目标分布p(x)p(x)p(x),近似分布q(x∣θ)q(x|\theta)q(xθ)之间的KL散度。

**互信息:**获知一个随机变量的值后另一个随机变量不确定度减少的量。
I(x,y)=H(x)−H(x∣y)=H(y)−H(y∣x)I(x,y) = H(x)-H(x|y)=H(y)-H(y|x)I(x,y)=H(x)H(xy)=H(y)H(yx)


关键概念:
误差函数(error function)
泛化能力(generalization)
特征抽取(feature extract)
预处理(pre-processed)
模型选择(model selection)
模型对比(model comparison)
正则化(regularization)
权值衰减(weight decay)
收缩(shrinkage)
加和规则(sum rule)
乘积规则(product relu)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode112 路径总和

给定一个二叉树和一个目标和&#xff0c;判断该树中是否存在根节点到叶子节点的路径&#xff0c;这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; 5 / \ …

关于游戏架构设计的一些整理吧

一个大型的网落游戏服务器应该包含几个模块:网络通讯,业务逻辑,数据存储,守护监控(不是必须),其中业务逻辑可能根据具体需要,又划分为好几个子模块。 这里说的模块可以指一个进程,或者一个线程方式存在,本质上就是一些类的封装。

linux时间轮 Timing-Wheel的实现

过一段时间上传更新自己的心得&#xff0c;以及linux的时间轮实现 现在git上传自己的C代码 gitgithub.com:pbymw8iwm/Timing-Wheel.git

leetcode128 最长连续序列

给定一个未排序的整数数组&#xff0c;找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为4 思路&#xff1a;map记录某个连续序列端点的最大长度。 对于数字i&#xff…

C++(22)--继承和派生

继承和派生1.基本概念2.实现公有继承3.私有继承的例子4. 继承和组合《老九学堂C课程》《C primer》学习笔记。《老九学堂C课程》详情请到B站搜索《老九零基础学编程C入门》-------------简单的事情重复做&#xff0c;重复的事情用心做&#xff0c;用心的事情坚持做(老九君)----…

Python- 解决PIP下载安装速度慢

对于Python开发用户来讲&#xff0c;PIP安装软件包是家常便饭。但国外的源下载速度实在太慢&#xff0c;浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像&#xff0c;可以大幅提升下载速度&#xff0c;还可以提高安装成功率。 国内源&#xff1a; …

leetcode102 二叉树的层次遍历

给定一个二叉树&#xff0c;返回其按层次遍历的节点值。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果&#xff1a; [ [3], [9,20], [15…

Windows Git客户端搭建

最近开始做Windows 开发&#xff0c;所以找了一些windows下安装git的教程 本文环境&#xff1a; 操作系统&#xff1a;Windows XP SP3 Git客户端&#xff1a;TortoiseGit-1.8.16.0-32bit 一、安装Git客户端 全部安装均采用默认&#xff01; 1. 安装支撑软件 msysgit: http://ms…

C++(23)--多态性与虚函数

多态性与虚函数1.静态多态-重载2.动态多态-重写2.1 向上转换/向下转换3.虚函数的工作原理4.纯虚函数和抽象类5.补充项目(都市浮生记)-卒《老九学堂C课程》学习笔记。《老九学堂C课程》详情请到B站搜索《老九零基础学编程C入门》-------------简单的事情重复做&#xff0c;重复的…

如何在Appscale下发布自己的应用(一)

本篇文章主要讲如何在本地搭建appscale环境。由于国内的信息资源有限&#xff0c;很多重要的论坛被墙了&#xff0c;所以遇到不少麻烦&#xff0c;由于最近一段时间vpn也被封掉了&#xff0c;我只能通过特殊渠道方法来翻墙查阅资料&#xff0c;走了不少弯路。 1.先说系统和环境…

总结了线程安全性的二十四个精华问题

1、对象的状态&#xff1a;对象的状态是指存储在状态变量中的数据&#xff0c;对象的状态可能包括其他依赖对象的域。在对象的状态中包含了任何可能影响其外部可见行为的数据。 2、一个对象是否是线程安全的&#xff0c;取决于它是否被多个线程访问。这指的是在程序中访问对象的…

如何在Appscale下发布自己的应用(二)

本文开始讲如何发布自己的app应用到appscle上 建好appscle网站后&#xff0c;可以在命令行通过 appscle deploy apppathname 来发布自己应用。 除了用命令行提交应用之外&#xff0c;还可以通过appscale的网站直接提交&#xff0c;选择 upload application->选择上传文件-&g…

Python模块(7)-SciPy 简易使用教程

SciPy 简易使用教程1. 符号计算2. 函数向量化3. 波形处理scipy.signal3.1 滤波器3.2 波峰定位基于numpy的一个高级模块&#xff0c;为数学&#xff0c;物理&#xff0c;工程等方面的科学计算提供无可替代的支持。 做重要的思想是&#xff1a;符号计算和函数向量化 1. 符号计算…

Xcode的Architectures和Valid Architectures的区别

目录[-] Xcode的Architectures和Valid Architectures的区别 Architectures Valid Architectures 原因解释如下&#xff1a; 参考1&#xff1a; 所有IOS设备详情列表 List of iOS devices - Wikipedia, the free encyclopedia 参考2&#xff1a; iOS 7: 如何为iPhone 5S编译64位…

Python模块(8)-sklearn 简易使用教程

sklearn 简易使用教程1.scikit-learn的数据集2.scikit-learn 的训练和预测scikit-learn 是在Numpy,SciPy,Matplotlib三个模块上编写的&#xff0c;数据挖掘和数据分析的一个简单有效的工具。scikit-learn包括6大功能&#xff1a;分类&#xff0c;回归&#xff0c;聚类&#xff…

如何发布GAE的应用(一)

安装googleSDK的环境&#xff1a; 1 下载安装包从官网下载 https://cloud.google.com/sdk/downloads -> https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-170.0.0-windows-x86_64-bundled-python.zip 2 如果本地安装了python&#xff0c;直…

leetcode887 鸡蛋掉落

你将获得 K 个鸡蛋&#xff0c;并可以使用一栋从 1 到 N 共有 N 层楼的建筑。 每个蛋的功能都是一样的&#xff0c;如果一个蛋碎了&#xff0c;你就不能再把它掉下去。 你知道存在楼层 F &#xff0c;满足 0 < F < N 任何从高于 F 的楼层落下的鸡蛋都会碎&#xff0c;…

Docker 的日志相关整理

1 Docker daemon日志的位置 Docker daemon日志的位置&#xff0c;根据系统不同各不相同。 Ubuntu - /var/log/upstart/docker.logBoot2Docker - /var/log/docker.logDebian GNU/Linux - /var/log/daemon.logCentOS - /var/log/daemon.log | grep dockerFedora - journalctl -u…

PaperNotes(15)-图神经网络、PyG极简版入门笔记

图神经网络概况1.GNN,GCN,GE的区别2.图卷积的通式--矩阵该如何作用2.1实现12.2实现22.3实现33.PyTorch geometric3.1 PyG内置数据集3.1.1ENZYMES dataset3.1.2Cora3.2 PyG自定义数据集3.2.1Data构建简单的图结构3.2.2 Dataset3.2.3 InMemoryDataset一文读懂图卷积GCN(https://z…

leetcode76 最小覆盖子串

给你一个字符串 S、一个字符串 T&#xff0c;请在字符串 S 里面找出&#xff1a;包含 T 所有字母的最小子串。 示例&#xff1a; 输入: S "ADOBECODEBANC", T "ABC" 输出: "BANC" 说明&#xff1a; 如果 S 中不存这样的子串&#xff0c;则返…