后验概率估计

前言

本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见《机器学习数学通关指南》


正文

在这里插入图片描述

一、基本定义 🧮

后验概率估计是贝叶斯统计学的核心概念,它在已知观测数据 X X X 的条件下,结合先验知识(先验分布),对参数 θ \theta θ 的概率分布进行更新的过程。其数学基础是贝叶斯公式:

P ( θ ∣ X ) = P ( X ∣ θ ) P ( θ ) P ( X ) P(\theta | X) = \frac{P(X | \theta) P(\theta)}{P(X)} P(θX)=P(X)P(Xθ)P(θ)

这个公式中的各项表示:

  • P ( X ∣ θ ) P(X | \theta) P(Xθ)似然函数,表示在参数 θ \theta θ 条件下观测到数据 X X X 的概率
  • P ( θ ) P(\theta) P(θ)先验分布,反映对参数 θ \theta θ 的初始认知(基于经验、历史数据或领域知识)
  • P ( θ ∣ X ) P(\theta | X) P(θX)后验分布,综合观测数据和先验后得出的参数概率分布
  • P ( X ) P(X) P(X)边缘似然配分函数,它可表示为 ∫ P ( X ∣ θ ) P ( θ ) d θ \int P(X|\theta)P(\theta)d\theta P(Xθ)P(θ)dθ,常作为归一化常数处理

贝叶斯推断的核心思想是将概率解释为信念的度量,而非客观事件频率,使我们能够通过数据持续更新对世界的认知。


二、关键思想 💡

1. 贝叶斯思维框架

贝叶斯思维本质上是一种从"先验猜测"出发,利用观测数据不断更新对参数认知的方法学。它遵循人类自然的学习过程:先有假设,后根据证据调整信念。

2. 概率的动态演化

  • 先验概率:未观测数据前对参数的初始认知分布

    • 可以是基于历史经验(如过去质检结果)
    • 可以是主观信念(如专家判断)
    • 也可以是无信息先验(如均匀分布)
  • 后验概率:结合数据证据后的修正概率

    • 随着数据量增加,后验分布会不断"收敛"
    • 后验分布反映了参数的不确定性范围

3. 权衡数据与先验

  • 数据量大:似然函数主导结果,后验趋近于频率派的最大似然估计
  • 数据稀疏:先验分布的影响更大,能有效避免过拟合问题
  • 先验强度:先验分布的参数(如Beta分布的α,β)反映了先验信念的"强度"

三、应用场景 🔍

1. 工业质量控制

机器调整状态判断

  • 已知条件

    • 机器调整良好时合格率 P ( A ∣ B ) = 0.98 P(A|B) = 0.98 P(AB)=0.98
    • 机器故障时合格率 P ( A ∣ ¬ B ) = 0.55 P(A|\neg B) = 0.55 P(A∣¬B)=0.55
    • 先验概率:机器调整良好的概率 P ( B ) = 0.95 P(B) = 0.95 P(B)=0.95
  • 后验计算:当发现一个合格产品时,机器状态良好的概率是多少?
    P ( B ∣ A ) = P ( A ∣ B ) P ( B ) P ( A ∣ B ) P ( B ) + P ( A ∣ ¬ B ) P ( ¬ B ) = 0.98 × 0.95 0.98 × 0.95 + 0.55 × 0.05 ≈ 0.97 P(B|A) = \frac{P(A|B)P(B)}{P(A|B)P(B) + P(A|\neg B)P(\neg B)} = \frac{0.98 \times 0.95}{0.98 \times 0.95 + 0.55 \times 0.05} \approx 0.97 P(BA)=P(AB)P(B)+P(A∣¬B)P(¬B)P(AB)P(B)=0.98×0.95+0.55×0.050.98×0.950.97

  • 业务意义:当首件产品合格时,我们对机器状态良好的信心从95%上升到97%。

2. 医疗诊断决策

癌症检测准确率分析

  • 已知条件

    • 癌症患病率 P ( C ) = 0.005 P(C)=0.005 P(C)=0.005(0.5%)
    • 患者检测阳性概率 P ( A ∣ C ) = 0.95 P(A|C)=0.95 P(AC)=0.95(敏感性)
    • 健康者假阳性率 P ( A ∣ ¬ C ) = 0.05 P(A|\neg C)=0.05 P(A∣¬C)=0.05(1-特异性)
  • 后验概率:检测为阳性时,实际患癌的概率
    P ( C ∣ A ) = P ( A ∣ C ) P ( C ) P ( A ∣ C ) P ( C ) + P ( A ∣ ¬ C ) P ( ¬ C ) = 0.95 × 0.005 0.95 × 0.005 + 0.05 × 0.995 ≈ 0.087 P(C|A) = \frac{P(A|C)P(C)}{P(A|C)P(C) + P(A|\neg C)P(\neg C)} = \frac{0.95 \times 0.005}{0.95 \times 0.005 + 0.05 \times 0.995} \approx 0.087 P(CA)=P(AC)P(C)+P(A∣¬C)P(¬C)P(AC)P(C)=0.95×0.005+0.05×0.9950.95×0.0050.087

  • 临床启示:即使检测呈阳性,实际患癌概率仅约8.7%,这解释了为何单一检测结果往往需要进一步确认。这种看似悖论的结果被称为"基础概率谬误",对医疗决策至关重要。

3. 自然语言处理

在文本分类任务中,朴素贝叶斯分类器使用后验概率估计决定文本所属类别:

P ( C k ∣ x 1 , . . . , x n ) ∝ P ( C k ) ∏ i = 1 n P ( x i ∣ C k ) P(C_k|x_1,...,x_n) \propto P(C_k) \prod_{i=1}^{n} P(x_i|C_k) P(Ckx1,...,xn)P(Ck)i=1nP(xiCk)

此处, C k C_k Ck代表文档类别, x i x_i xi表示词汇特征。通过计算后验概率,可以确定文档最可能属于哪一个类别。


四、与最大似然估计(MLE)的关系与区别 🔄

对比维度最大后验估计(MAP)最大似然估计(MLE)
数学形式 arg ⁡ max ⁡ θ P ( θ ∣ X ) = arg ⁡ max ⁡ θ P ( X ∣ θ ) P ( θ ) \arg\max_{\theta} P(\theta | X) = \arg\max_{\theta} P(X | \theta)P(\theta) argmaxθP(θX)=argmaxθP(Xθ)P(θ) arg ⁡ max ⁡ θ P ( X ∣ θ ) \arg\max_{\theta} P(X | \theta) argmaxθP(Xθ)
概率视角参数 θ \theta θ是随机变量,服从先验分布 P ( θ ) P(\theta) P(θ)参数 θ \theta θ是固定但未知的常数值
目标本质最大化后验概率(结合似然与先验)最大化似然函数(仅基于观测数据)
引入先验必须指定先验分布 P ( θ ) P(\theta) P(θ)无需先验分布,等价于均匀先验
正则化视角先验可视为正则项,控制模型复杂度不含正则项,仅优化数据拟合度
小样本表现通过先验降低过拟合风险容易过拟合,尤其在小样本情况
计算复杂度通常较高,尤其对复杂先验相对简单,有闭式解的情况多

特别地,当先验分布为均匀分布时,MAP退化为MLE,此时 P ( θ ) P(\theta) P(θ) 是常数,不影响最优化结果。


五、实际计算步骤 ⚙️

以二项分布(伯努利试验)为例,假设我们观测到数据集:8个正例,2个负例。

1. 贝叶斯分析步骤

  1. 选择模型与先验

    • 参数 μ \mu μ 表示成功概率(0-1之间)
    • 选择Beta分布作为先验: μ ∼ B e t a ( α , β ) \mu \sim Beta(\alpha, \beta) μBeta(α,β)
    • Beta分布是二项模型的共轭先验,便于计算
  2. 写出似然函数

    • P ( X ∣ μ ) = ( 10 8 ) μ 8 ( 1 − μ ) 2 P(X|\mu) = \binom{10}{8} \mu^8 (1-\mu)^2 P(Xμ)=(810)μ8(1μ)2
    • 其中二项系数 ( 10 8 ) \binom{10}{8} (810) 是常数,可忽略
  3. 计算后验分布

    • P ( μ ∣ X ) ∝ P ( X ∣ μ ) P ( μ ) ∝ μ 8 ( 1 − μ ) 2 × μ α − 1 ( 1 − μ ) β − 1 P(\mu|X) \propto P(X|\mu)P(\mu) \propto \mu^8 (1-\mu)^2 \times \mu^{\alpha-1}(1-\mu)^{\beta-1} P(μX)P(Xμ)P(μ)μ8(1μ)2×μα1(1μ)β1
    • P ( μ ∣ X ) ∝ μ 8 + α − 1 ( 1 − μ ) 2 + β − 1 P(\mu|X) \propto \mu^{8+\alpha-1} (1-\mu)^{2+\beta-1} P(μX)μ8+α1(1μ)2+β1
    • 后验分布仍是Beta分布: B e t a ( 8 + α , 2 + β ) Beta(8+\alpha, 2+\beta) Beta(8+α,2+β)
  4. 最大后验估计

    • Beta分布的众数为: μ ^ M A P = α + 8 − 1 α + β + 10 − 2 = α + 7 α + β + 8 \hat{\mu}_{MAP} = \frac{\alpha+8-1}{\alpha+\beta+10-2} = \frac{\alpha+7}{\alpha+\beta+8} μ^MAP=α+β+102α+81=α+β+8α+7
  5. 全贝叶斯估计

    • 后验均值: μ ^ B a y e s = α + 8 α + β + 10 \hat{\mu}_{Bayes} = \frac{\alpha+8}{\alpha+\beta+10} μ^Bayes=α+β+10α+8
    • 后验方差: Var ( μ ∣ X ) = ( α + 8 ) ( β + 2 ) ( α + β + 10 ) 2 ( α + β + 11 ) \text{Var}(\mu|X) = \frac{(\alpha+8)(\beta+2)}{(\alpha+\beta+10)^2(\alpha+\beta+11)} Var(μX)=(α+β+10)2(α+β+11)(α+8)(β+2)

2. 先验选择的影响

  • 无信息先验 α = 1 , β = 1 \alpha=1, \beta=1 α=1,β=1,即均匀分布):

    • μ ^ M A P = 1 + 7 1 + 1 + 8 = 8 10 = 0.8 \hat{\mu}_{MAP} = \frac{1+7}{1+1+8} = \frac{8}{10} = 0.8 μ^MAP=1+1+81+7=108=0.8
    • 此时MAP等同于MLE
  • 强信息先验 α = 10 , β = 10 \alpha=10, \beta=10 α=10,β=10,表示先验认为 μ \mu μ接近0.5):

    • μ ^ M A P = 10 + 7 10 + 10 + 8 = 17 28 ≈ 0.607 \hat{\mu}_{MAP} = \frac{10+7}{10+10+8} = \frac{17}{28} \approx 0.607 μ^MAP=10+10+810+7=28170.607
    • 此时估计值被"拉向"先验均值0.5
  • 继续观测:假设再观察20个样本,其中16个正例

    • 新的后验: B e t a ( 8 + 16 + α , 2 + 4 + β ) Beta(8+16+\alpha, 2+4+\beta) Beta(8+16+α,2+4+β)
    • 先验影响逐渐减弱,估计值更接近频率 24 30 = 0.8 \frac{24}{30} = 0.8 3024=0.8

六、核心价值与优势 🌟

1. 全面量化不确定性

贝叶斯方法不仅提供点估计,还给出完整的后验分布,包括:

  • 中心趋势:均值、中位数、众数等
  • 分散程度:方差、可信区间
  • 分布形状:偏度、峰度等

这使决策者能够全面评估参数的不确定性,而非仅依赖单一点估计。

2. 自然的迭代更新机制

贝叶斯框架提供了理想的在线学习机制:

  • 当前的后验分布可直接作为下一轮的先验分布
  • 新数据到来时,无需重新处理全部历史数据
  • 计算效率高,适合流数据和增量学习场景

3. 小样本学习能力

在数据稀缺情况下,贝叶斯方法表现尤为出色:

  • 通过合理先验防止过度自信结论
  • 允许将领域知识编码为先验分布
  • 在医疗、金融等高风险、小样本场景中价值突出

4. 决策理论集成

贝叶斯估计自然连接贝叶斯决策理论:

  • 通过损失函数与后验分布结合做出最优决策
  • 能够明确考虑不同类型错误的成本
  • 支持最小化期望风险的决策制定

七、实践应用案例 🛠️

1. A/B测试中的贝叶斯分析

传统A/B测试依赖频率派方法(p值、置信区间),而贝叶斯A/B测试提供更直观的结论:

  • 传统方法:“在原假设为真的条件下,观察到当前或更极端结果的概率为5%”
  • 贝叶斯方法:“方案B优于方案A的概率为95%”

实际应用中,假设Beta(1,1)作为转化率的先验,测试结果:

  • 方案A:1000次展示,120次转化
  • 方案B:1000次展示,150次转化

贝叶斯后验分布为:

  • A:Beta(121, 881)
  • B:Beta(151, 851)

计算P(B>A)≈0.98,直接表明B优于A的概率,便于业务决策。

2. 自然语言处理中的词义消歧

在NLP中,确定多义词在特定上下文中的准确含义是关键挑战。贝叶斯方法可用于词义消歧:

P ( s i ∣ c ) = P ( c ∣ s i ) P ( s i ) P ( c ) P(s_i|c) = \frac{P(c|s_i)P(s_i)}{P(c)} P(sic)=P(c)P(csi)P(si)

其中:

  • s i s_i si是词语可能的含义
  • c c c是上下文特征

例如,对于"bank"一词:

  • 先验概率:金融机构(0.7),河岸(0.3)
  • 当上下文包含"money"、"loan"时,后验概率显著偏向金融含义
  • 当上下文包含"river"、"water"时,后验概率偏向地理含义

3. 计算机视觉中的目标检测

在目标检测任务中,贝叶斯后验概率用于提高检测准确性:

P ( object ∣ f e a t u r e s ) = P ( f e a t u r e s ∣ object ) × P ( object ) P ( f e a t u r e s ) P(\text{object}|features) = \frac{P(features|\text{object}) \times P(\text{object})}{P(features)} P(objectfeatures)=P(features)P(featuresobject)×P(object)

使用贝叶斯网络建模特征间的依赖关系,可以:

  • 整合多种特征(颜色、形状、纹理)
  • 在噪声和部分遮挡情况下提高鲁棒性
  • 量化检测结果的不确定性

4. 推荐系统中的协同过滤

贝叶斯方法在推荐系统中应用广泛,特别是处理稀疏评分矩阵时:

P ( r u i ∣ r k n o w n , θ ) = ∫ P ( r u i ∣ θ ) P ( θ ∣ r k n o w n ) d θ P(r_{ui}|r_{known}, \theta) = \int P(r_{ui}|\theta)P(\theta|r_{known})d\theta P(ruirknown,θ)=P(ruiθ)P(θrknown)dθ

其中:

  • r u i r_{ui} rui:用户u对项目i的预测评分
  • r k n o w n r_{known} rknown:已知评分数据
  • θ \theta θ:模型参数

贝叶斯处理能够:

  • 自然处理冷启动问题(通过合适的先验)
  • 提供评分预测的不确定性估计
  • 平衡探索与利用的推荐策略

八、计算实现与工具 🔧

1. MCMC采样方法

复杂模型中,后验分布通常难以直接计算,可使用马尔可夫链蒙特卡洛(MCMC)方法近似:

  • Gibbs采样:适用于条件分布易采样的情况
  • Metropolis-Hastings算法:通用性更强
  • Hamiltonian Monte Carlo(HMC):高效处理连续参数空间

这些方法让我们能处理高维参数空间中的复杂后验分布。

2. 变分推断

当数据量大或模型复杂时,MCMC可能计算成本过高,变分推断提供替代方案:

  • 核心思想:用简单分布族近似复杂后验分布
  • 优化目标:最小化KL散度或其他分布距离
  • 常见方法:平均场变分推断、随机变分推断(SVI)

变分方法牺牲一定精度换取计算效率,适合大规模机器学习任务。

3. 编程实现示例

可使用Python实现简单的Beta-二项模型:

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats# 先验参数
alpha_prior, beta_prior = 2, 2# 观测数据
heads, tails = 8, 2# 计算后验分布参数
alpha_posterior = alpha_prior + heads
beta_posterior = beta_prior + tails# 生成x轴上的点
x = np.linspace(0, 1, 1000)# 计算先验、似然和后验分布
prior = stats.beta.pdf(x, alpha_prior, beta_prior)
likelihood = stats.binom.pmf(heads, heads+tails, x) * 10  # 缩放以便可视化
posterior = stats.beta.pdf(x, alpha_posterior, beta_posterior)# 绘图
plt.figure(figsize=(10, 6))
plt.plot(x, prior, 'r--', label='先验: Beta(2,2)')
plt.plot(x, likelihood, 'g:', label='似然: Bin(10,8)')
plt.plot(x, posterior, 'b-', label='后验: Beta(10,4)')
plt.fill_between(x, 0, posterior, alpha=0.2, color='blue')# 添加MAP和后验均值
map_estimate = (alpha_posterior - 1) / (alpha_posterior + beta_posterior - 2)
mean_estimate = alpha_posterior / (alpha_posterior + beta_posterior)plt.axvline(map_estimate, color='purple', linestyle='-', label=f'MAP估计: {map_estimate:.3f}')
plt.axvline(mean_estimate, color='black', linestyle='--', label=f'后验均值: {mean_estimate:.3f}')plt.xlabel('参数θ (硬币正面概率)')
plt.ylabel('概率密度')
plt.title('贝叶斯推断示例:硬币正面概率估计')
plt.legend()
plt.grid(True, alpha=0.3)

此代码展示了如何使用贝叶斯方法估计硬币的正面概率,并可视化先验、似然和后验分布。


九、进阶主题 🚀

1. 贝叶斯模型选择

贝叶斯方法提供了自然的模型选择框架:

P ( M i ∣ D ) ∝ P ( D ∣ M i ) P ( M i ) P(M_i|D) \propto P(D|M_i)P(M_i) P(MiD)P(DMi)P(Mi)

其中:

  • P ( M i ∣ D ) P(M_i|D) P(MiD)是给定数据D下模型 M i M_i Mi的后验概率
  • P ( D ∣ M i ) P(D|M_i) P(DMi)是边缘似然,由 ∫ P ( D ∣ θ , M i ) P ( θ ∣ M i ) d θ \int P(D|\theta, M_i)P(\theta|M_i)d\theta P(Dθ,Mi)P(θMi)dθ计算

贝叶斯因子(Bayes Factor)则比较两个模型:

B F 12 = P ( D ∣ M 1 ) P ( D ∣ M 2 ) BF_{12} = \frac{P(D|M_1)}{P(D|M_2)} BF12=P(DM2)P(DM1)

这提供了自然的奥卡姆剃刀原理:复杂模型需要足够的数据支持才能战胜简单模型。

2. 分层贝叶斯模型

分层(层次)贝叶斯模型能够捕捉复杂数据中的多层结构:

hyperpriors → hyperparameters → parameters → data

例如,学生成绩分析中:

  • 超参数:学校间差异分布
  • 参数:各学校平均水平
  • 数据:各学校学生成绩

分层模型能同时建模个体和群体效应,在教育、医疗等领域广泛应用。

3. 贝叶斯深度学习

贝叶斯原理可与深度学习结合,形成贝叶斯神经网络:

  • 权重分布:网络权重不再是点估计,而是概率分布
  • 优势
    • 量化预测不确定性
    • 自然正则化,减少过拟合
    • 能够表示分布型输出
  • 实现方法
    • Dropout作为近似贝叶斯推断
    • 变分自编码器
    • 蒙特卡洛Dropout

十、总结与展望 📝

关键要点

  1. 贝叶斯哲学:后验概率估计基于贝叶斯定理,将先验知识与数据证据融合,动态更新我们对参数的信念。

  2. 概率不确定性:不同于点估计,贝叶斯方法提供完整概率分布,全面量化不确定性。

  3. 先验与正则化:先验分布可视为自然正则化器,尤其在数据稀疏时防止过拟合。

  4. 实践价值:从A/B测试到复杂模型选择,贝叶斯方法提供了统一而直观的框架。

未来发展方向

  1. 计算效率:开发更高效的算法和近似方法,使贝叶斯方法适用于更大规模数据。

  2. 自动化先验选择:研究数据驱动的先验选择方法,减少主观性。

  3. 贝叶斯深度学习:深化贝叶斯原理与深度学习的结合,特别是在安全关键系统中。

  4. 因果推断:将贝叶斯框架扩展到因果关系识别和估计,支持更有力的决策制定。


贝叶斯后验概率估计不仅是一种统计方法,更是一种思维方式,它以数学形式编码了我们如何在不确定世界中学习和决策。无论是科学研究、工程应用还是日常决策,这一框架都为我们提供了强大而优雅的工具,帮助我们权衡证据、量化不确定性,并做出更明智的选择。

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

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

相关文章

错误: 加载主类时出现 LinkageError,java.lang.UnsupportedClassVersionError 解决方案

分析: 可能就是我们在配置完jdk的path时候,电脑没有重启idea还没有更新path环境jdk版本. 解决办法: 1.重启电脑 2.seting设置对应的jdk版本 Project Structure中设置jdk版本 运行就解决了 一键三连 一起学习 一起进步. 推动科技发展, 为科技赋能.

学习记录-用例设计编写

黑马测试视频记录 目录 一、 软件测试流程 二、测试用例编写格式 1、等价类法 2、边界值分析法 3、 判定表法 4、场景法​编辑 5、错误推荐法 一、 软件测试流程 二、测试用例编写格式 1、等价类法 2、边界值分析法 3、 判定表法 4、场景法 5、错误推荐法 时间紧任务重…

软件测试(三)——Bug篇

文章目录 Bug篇软件测试的生命周期BugBug的概念Bug的要素Bug的级别Bug的生命周期 与开发发生争执怎么办 Bug篇 大部分的Bug都是测试人员提出的,因此在Bug篇的开始会先介绍软件测试的生命周期。同时,了解软件测试的生命周期能帮助我们了解测试的工作&…

Source插件之GstBaseSrc源码剖析

gst插件流程分析先看init构造函数gst_base_src_init(本文流程主要基于filesrc插件讲解) static void gst_base_src_init (GstBaseSrc * basesrc, gpointer g_class) {GstPad *pad;GstPadTemplate *pad_template;basesrc->priv gst_base_src_get_ins…

React:Redux

Redux引入 Redux感觉像组件通信的中介 state存放被管理的状态 action是申请改哪些数据,传入什么参数 reducer是怎么修改数据 我的理解更像是action像一个储存方法的对象,reducer是具体的方法的实现,不同的方法实现也不一样 store是个仓库…

CoDrivingLLM

CoDrivingLLM 思路 1.输入和输出 输入 算法的输入包括车辆当前时刻的状态 S t S_t St​ ,这个状态包含了车辆的位置、速度、行驶方向等信息;以及参与协同驾驶的联网自动驾驶汽车列表C,用于确定需要进行决策的车辆集合。 输出 输出为车辆…

微信小程序接入deepseek

先上效果 话不多说&#xff0c;直接上代码&#xff08;本人用的hbuilder Xuniapp&#xff09; <template><view class"container"><!-- 聊天内容区域 --><scroll-view class"chat-list" scroll-y :scroll-top"scrollTop":…

xxxxx

从别人blog偷的~,自己复习用 爱奇艺 一面 介绍项目项目中用到的设计模式项目中如何处理高并发Redis集群Redis RDB 和 AOF原理Redis除了缓存和分布式锁还能干什么&#xff1f;数据库如何优化&#xff0c;索引的数据结构&#xff0c;多表联合如何优化RedissonAOP逻辑&#xff…

Yocto + 树莓派摄像头驱动完整指南

—— 从驱动配置、Yocto 构建&#xff0c;到 OpenCV 实战 在树莓派上运行摄像头&#xff0c;在官方的 Raspberry Pi OS 可能很简单&#xff0c;但在 Yocto 项目中&#xff0c;需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置、Yocto 关键…

总结(尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程)

1.Vue简介 2020年9月18日&#xff0c;Vue.js发布版3.0版本&#xff0c;代号&#xff1a;One Piece 1.1.性能的提升 打包大小减少41%。 初次渲染快55%, 更新渲染快133%。 内存减少54%。 1.2.源码的升级 使用Proxy代替defineProperty实现响应式。 重写虚拟DOM的实现和Tree-Shak…

【五.LangChain技术与应用】【8.LangChain提示词模板基础:从入门到精通】

早上八点,你端着咖啡打开IDE,老板刚甩来需求:“做个能自动生成产品描述的AI工具”。你自信满满地打开ChatGPT的API文档,结果半小时后对着满屏的"输出结果不稳定"、"格式总出错"抓耳挠腮——这时候你真需要好好认识下LangChain里的提示词模板了。 一、…

基于编程语言的建筑行业施工图设计系统开发可行性研究————从参数化建模到全流程自动化的技术路径分析

基于编程语言的建筑行业施工图设计系统开发可行性研究————从参数化建模到全流程自动化的技术路径分析 文章目录 **基于编程语言的建筑行业施工图设计系统开发可行性研究————从参数化建模到全流程自动化的技术路径分析** 摘要引言一、技术可行性深度剖析1.1 现有编程语言…

【Linux文件操作篇】IO基础——被打开的文件,引入文件描述符

--------------------------------------------------------------------------------------------------------------------------------- 每日鸡汤&#xff1a;现实会告诉你&#xff0c;不努力就会被生活给踩死。无需找什么借口&#xff0c;一无所有&#xff0c;就是拼的理由…

Docker 学习(三)——数据管理、端口映射、容器互联

一、数据管理 容器中的管理数据主要有两种方式&#xff1a; 数据卷 &#xff08;Data Volumes&#xff09;&#xff1a; 容器内数据直接映射到本地主机环境&#xff1b; 数据 卷容器&#xff08; Data Volume Containers&#xff09;&#xff1a; 使用特定容器维护数据卷 1.…

3月5日作业

代码作业&#xff1a; #!/bin/bash# 清空目录函数 safe_clear_dir() {local dir"$1"local name"$2"if [ -d "$dir" ]; thenwhile true; doread -p "检测到 $name 目录已存在&#xff0c;请选择操作&#xff1a; 1) 清空目录内容 2) 保留目…

通义万相2.1:开启视频生成新时代

文章摘要&#xff1a;通义万相 2.1 是一款在人工智能视频生成领域具有里程碑意义的工具&#xff0c;它通过核心技术的升级和创新&#xff0c;为创作者提供了更强大、更智能的创作能力。本文详细介绍了通义万相 2.1 的背景、核心技术、功能特性、性能评测、用户反馈以及应用场景…

GPU/CUDA 发展编年史:从 3D 渲染到 AI 大模型时代(上)

目录 文章目录 目录1960s~1999&#xff1a;GPU 的诞生&#xff1a;光栅化&#xff08;Rasterization&#xff09;3D 渲染算法的硬件化实现之路学术界算法研究历程工业界产品研发历程光栅化技术原理光栅化技术的软件实现&#xff1a;OpenGL 3D 渲染管线设计1. 顶点处理&#xff…

如何直接导出某个conda环境中的包, 然后直接用 pip install -r requirements.txt 在新环境中安装

1. 导出 Conda 环境配置 conda list --export > conda_requirements.txt这将生成一个 conda_requirements.txt 文件&#xff0c;其中包含当前环境中所有包的列表及其版本信息。 2. 转换为 requirements.txt 文件 grep -v "^#" conda_requirements.txt | cut -d …

【我的 PWN 学习手札】House of Emma

House of Emma 参考文献 第七届“湖湘杯” House _OF _Emma | 设计思路与解析-安全KER - 安全资讯平台 文章 - house of emma 心得体会 - 先知社区 前一篇博客【我的 PWN 学习手札】House of Kiwi-CSDN博客的利用手法有两个关键点&#xff0c;其一是利用__malloc_assert进入…

沃尔玛跨境电商自养号技术指南,助力销量腾飞

在跨境电商领域&#xff0c;沃尔玛平台为卖家提供了广阔的市场空间。对于技术型卖家而言&#xff0c;利用自养号技术提升产品销量是一项极具潜力的策略。本文将深入探讨沃尔玛自养号技术&#xff0c;从原理到实践&#xff0c;为你提供全面的技术指南。 自养号技术原理与架构 自…