当前位置:首页 > 物联网 > 智能应用
[导读]传统机器学习 (ML) 模型和 AI 技术通常存在一个严重缺陷:它们缺乏不确定性量化。这些模型通常提供点估计,而不考虑其预测的不确定性。这种限制削弱了评估模型输出可靠性的能力。此外,传统 ML 模型需要大量数据,通常需要正确标记的数据,因此,在数据有限的问题上往往会遇到困难。此外,这些模型缺乏将专家领域知识或先验信念纳入模型的系统框架。如果无法利用特定领域的见解,模型可能会忽略数据中的关键细微差别,并且往往无法发挥其潜力。ML 模型正变得越来越复杂和不透明,人们越来越需要数据和人工智能做出的决策具有更高的透明度和可问责性。

传统机器学习 (ML) 模型和 AI 技术通常存在一个严重缺陷:它们缺乏不确定性量化。这些模型通常提供点估计,而不考虑其预测的不确定性。这种限制削弱了评估模型输出可靠性的能力。此外,传统 ML 模型需要大量数据,通常需要正确标记的数据,因此,在数据有限的问题上往往会遇到困难。此外,这些模型缺乏将专家领域知识或先验信念纳入模型的系统框架。如果无法利用特定领域的见解,模型可能会忽略数据中的关键细微差别,并且往往无法发挥其潜力。ML 模型正变得越来越复杂和不透明,人们越来越需要数据和人工智能做出的决策具有更高的透明度和可问责性。

概率编程:解决这些挑战的解决方案

概率编程提供了一个解决这些挑战的建模框架。其核心是贝叶斯统计,与频率派的统计学解释不同。

贝叶斯统计

在频率统计学中,概率被解释为事件的长期相对频率。数据被认为是随机的,是从固定定义的分布中抽样的结果。因此,测量中的噪声与抽样变化有关。频率论者认为概率是存在的,并且是固定的,无限的实验都会收敛到这个固定值。频率论方法不为参数分配概率分布,他们对不确定性的解释植根于估计量的长期频率特性,而不是关于参数值的明确概率陈述。

在贝叶斯统计中,概率被解释为对特定信念的不确定性的度量。数据被视为固定的,而系统的未知参数被视为随机变量,并使用概率分布进行建模。贝叶斯方法可以捕获参数本身的不确定性,因此提供了一种更直观、更灵活的不确定性量化方法。

频率统计与贝叶斯统计[1]

概率机器学习

在频率论 ML 中,模型参数被视为固定的,并通过最大似然估计 (MLE) 进行估计,其中似然函数量化了给定统计模型观察数据的概率。MLE 寻求最大化此概率的参数点估计。要实现 MLE:

· 假设一个模型和底层模型参数。

· 根据假设模型推导似然函数。

· 优化似然函数以获得参数的点估计。

因此,包括深度学习在内的频率学派模型依赖优化(通常基于梯度)作为其基本工具。

相反,贝叶斯方法对未知参数及其与概率分布的关系进行建模,并在我们获得新数据时使用贝叶斯定理来计算和更新这些概率。

贝叶斯定理: “贝叶斯规则告诉我们如何从关节点导出条件概率,条件告诉我们如何理性地更新我们的信念,而更新信念正是学习和推理的全部内容”[2]。

这是一个简单但有力的等式。

· 先验表示对未知参数的初始信念

· 似然表示基于假设模型的数据的概率

· 边际似然是模型证据,是一个标准化系数。

· 后验分布代表我们对参数的更新信念,结合了先验知识和观察到的证据。

在贝叶斯机器学习中,推理是基本工具。利用后验分布表示的参数分布进行推理,可以更全面地理解不确定性。

贝叶斯更新的实际应用: 下图展示了一个简单的抛硬币实验,在不同样本量和两个不同的先验分布下,其后验分布。此可视化提供了不同样本量和先验信念的组合如何影响最终的后验分布的见解。

样本大小和先验对后验分布的影响

如何建立后验分布模型

在大多数情况下,看似简单的后验分布很难计算。特别是,分母,即边际似然积分往往是可交互的,尤其是在处理更高维度的参数空间时。而且在大多数情况下,没有闭式解,数值积分方法也是计算密集型的。为了应对这一挑战,我们依靠一类称为马尔可夫链蒙特卡罗模拟的特殊算法来建模后验分布。这里的想法是从后验分布中抽样,而不是明确地对其进行建模并使用这些样本来表示模型参数的分布

马尔可夫链蒙特卡洛(MCMC)

“ MCMC 方法包括一类从概率分布中抽样的算法。通过构建以期望分布作为其平衡分布的马尔可夫链,可以通过记录链中的状态来获得期望分布的样本” [3]。一些常用的 MCMC 采样器包括:

· 大都会-黑斯廷斯

· 吉布斯取样器

· 哈密顿蒙特卡罗 (HMC)

· 无掉头采样器 (NUTS)

· 序贯蒙特卡洛 (SMC)

概率规划

概率编程是贝叶斯统计的编程框架,即它涉及表示条件推理问题的语言的语法和语义的开发,以及为这些推理问题开发“求解器”。本质上,概率编程之于贝叶斯建模就像自动微分工具之于经典机器学习和深度学习模型一样[2]。

概率编程语言生态系统多种多样,每种语言都有自己的语法、语义和功能。一些最流行的语言包括:

· BUGS(使用吉布斯抽样的贝叶斯推理)[4]: BUGS 是最早的概率编程语言之一,以其用户友好的界面和对各种概率模型的支持而闻名。它实现了吉布斯抽样和其他马尔可夫链蒙特卡罗 (MCMC) 方法进行推理。

· JAGS(Just Another Gibbs Sampler)[5]: JAGS 是一种用于贝叶斯分层建模的专用语言,特别适合具有嵌套结构的复杂模型。它利用 Gibbs 采样算法进行后验推理。

· STAN:一种概率编程语言,以其富有表现力的建模语法和高效的采样算法而闻名。STAN 在学术界和工业界广泛用于各种贝叶斯建模任务。“Stan 与 BUGS 和 JAGS 的主要区别在于两个方面。首先,Stan 基于一种新的命令式概率编程语言,这种语言比 BUGS 或 JAGS 所基于的声明式图形建模语言更灵活、更具表现力,例如声明具有类型的变量以及支持局部变量和条件语句。其次,Stan 的马尔可夫链蒙特卡罗 (MCMC) 技术基于汉密尔顿蒙特卡罗 (HMC),对于具有复杂后验的模型,这是一种比吉布斯采样或 Metropolis-Hastings 更高效、更强大的采样器” [6]。

· BayesDB: BayesDB 是一个概率编程平台,专为大规模数据分析和概率数据库查询而设计。它使用户能够使用类似 SQL 的查询对关系数据库执行概率推理 [7]

· PyMC3: PyMC3 是一个用于概率编程的 Python 库,它提供了一个直观而灵活的界面来构建和分析概率模型。它利用先进的采样算法(如汉密尔顿蒙特卡罗 (HMC) 和自动微分变分推理 (ADVI))进行推理 [8]。

· TensorFlow Probability: “ TensorFlow Probability (TFP) 是一个基于 TensorFlow 构建的 Python 库,它可以轻松地在现代硬件(TPU、GPU)上结合概率模型与深度学习” [9] 。

· Pyro: “Pyro 是一种用 Python 编写的通用概率编程语言 (PPL),后端由 PyTorch 支持。Pyro 支持灵活且富有表现力的深度概率建模,将现代深度学习和贝叶斯建模的优点统一起来” [10]。

这些语言共享一个通用的工作流程,概述如下:

1. 模型定义:模型定义控制数据生成、潜在参数及其相互关系的过程。此步骤需要仔细考虑底层系统及其行为的假设。

2. 先验分布规范:定义模型中未知参数的先验分布。这些先验编码了从业者在观察任何数据之前对参数的信念、领域或先验知识。

3. 似然函数: 描述似然函数,表示在未知参数条件下观测数据的概率分布。似然函数量化了模型预测与观测数据之间的一致性。

4. 后验分布推断:使用采样算法根据观测数据近似模型参数的后验分布。这通常涉及运行马尔可夫链蒙特卡罗 (MCMC) 或变分推断 (VI) 算法以从后验分布中生成样本。

案例研究:预测股票指数波动率

在本案例研究中,我们将采用贝叶斯建模技术来预测股票指数的波动性。这里的波动性衡量股票价格随时间的变化程度,是评估特定股票相关风险的关键指标。

数据:为了进行此分析,我们将利用标准普尔 500 股票指数的历史数据。标准普尔 500 指数是一种广泛使用的基准指数,用于追踪美国 500 只大盘股的表现。通过检查该指数价格随时间变化的百分比,我们可以深入了解其波动性。

标准普尔 500 指数 — 股价和百分比变化

从上图中我们可以看到时间序列——连续几天之间的价格变化:

· 恒定均值

· 方差随时间变化,即时间序列表现出异方差

异方差建模: “在统计学中,如果一系列随机变量都具有相同的有限方差,则该序列是同方差的;这也称为方差齐性。互补的概念称为异方差,也称为方差异质性”[11]。 自回归条件异方差(ARCH) 模型专门用于解决时间序列数据中的异方差问题。

ARCH 模型的贝叶斯实现与频率派实现

贝叶斯建模的主要优势包括能够整合先验信息并量化模型参数和预测中的不确定性。这在数据有限且有先验知识的情况下尤其有用。

总之,贝叶斯建模和概率编程提供了强大的工具来解决传统机器学习方法的局限性。通过采用不确定性量化、结合先验知识并提供透明的推理机制,这些技术使数据科学家能够在复杂的现实场景中做出更明智的决策。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭