数学建模——马尔科夫链(Markov Chain Model)

  • 一、马尔可夫链的定义
      • 1. 状态与状态空间
      • 2. 无后效性(马尔科夫性)​
      • 3. 转移概率与转移概率矩阵
      • (1)一步转移概率
      • (2)转移概率矩阵
  • 二、马尔科夫链的关键性质(平稳性与遍历性)​
      • 2.1 平稳分布(极限分布)
      • 2.2 遍历性​
  • 三、马尔科夫链模型的建模步骤(附实例)​
  • 四、马尔科夫链的常见应用场景​
  • 五、建模注意事项​
  • 六、常见扩展模型
  • 七:代码
      • python版
      • matlab版

马尔科夫链(Markov Chain)是一种经典的随机过程模型,因俄国数学家安德烈・马尔科夫(Andrey Markov)而得名。它的核心特点是 “无后效性”—— 未来状态的概率仅取决于当前状态,与过去的状态无关。这种特性使其在预测、决策、随机模拟等领域具有广泛应用,是数学建模中解决 “动态随机问题” 的重要工具。​

马尔科夫链广泛应用于诸如人口迁移、用户行为预测、气象模拟、文本生成、设备寿命分析等离散状态建模场景中,尤其适用于状态数量有限、状态转移具有统计规律的建模问题。

一、马尔可夫链的定义

要理解马尔科夫链,需先明确三个核心概念:状态空间转移概率无后效性,这三者共同构成了模型的理论基石。

1. 状态与状态空间

状态:系统在某一时刻的 “处境” 或 “特征”,用离散的符号表示。例如:​
天气模型中,状态可定义为 “晴(S₁)、阴(S₂)、雨(S₃)”;​
股票走势中,状态可定义为 “上涨(S₁)、持平(S₂)、下跌(S₃)”。​
状态空间(记为 I):所有可能状态的集合,通常是有限离散集合,即 I=S1,S2,...,SnI={S_1,S_2,...,S_n}I=S1,S2,...,Sn(n 为状态总数)。

2. 无后效性(马尔科夫性)​

这是马尔科夫链的核心性质,用概率语言可严格表述为:​

这是马尔科夫链的核心性质,用概率语言可严格表述为:​
对于任意时刻 t1<t2<...<tk<tt_1 < t_2 < ... < t_k < tt1<t2<...<tk<t,以及任意状态,有:
P(Xt=Sm∣Xtk=Sj,Xtk−1=Sik−1,...,Xt1=Si1)=P(Xt=Sm∣Xtk=Sj)P(X_t = S_m \mid X_{t_k} = S_j, X_{t_{k-1}} = S_{i_{k-1}}, ..., X_{t_1} = S_{i_1}) = P(X_t = S_m \mid X_{t_k} = S_j)P(Xt=SmXtk=Sj,Xtk1=Sik1,...,Xt1=Si1)=P(Xt=SmXtk=Sj)

通俗理解:只要知道系统 “现在” 的状态,就能预测 “未来”,无需关心 “过去” 是如何到达当前状态的。例如,预测明天的天气,只需知道今天的天气,无需知道昨天或上周的天气。

3. 转移概率与转移概率矩阵

(1)一步转移概率

设系统在时刻 t 处于状态 SiS_iSi,在时刻 t+1 转移到状态 SjS_jSj的概率,称为一步转移概率,记为:
pij=P(Xt+1=Sj∣Xt=Si)(i,j=1,2,...,n)p_{ij} = P(X_{t+1} = S_j \mid X_t = S_i) \quad (i, j = 1, 2, ..., n)pij=P(Xt+1=SjXt=Si)(i,j=1,2,...,n)

其满足两个基本性质:​

  1. 非负性:pij≥0p_{ij} \geq 0pij0(概率不可能为负);​
  2. 行和为 1:∑j=1npij=1\sum_{j=1}^n p_{ij} = 1j=1npij=1(从状态 SiS_iSi 出发,必然转移到某个状态)。

假设连续记录 10 天天气,状态序列如下(数字对应状态):​
第 1 天:1(晴)、第 2 天:1(晴)、第 3 天:2(阴)、第 4 天:2(阴)、第 5 天:1(晴)、​第 6 天:1(晴)、第 7 天:1(晴)、第 8 天:2(阴)、第 9 天:1(晴)、第 10 天:1(晴)

一步转移描述 “当日状态→次日状态”,10 天数据对应9 个转移对(从第 1→2 天到第 9→10 天),手动列出所有转移对:​
第 1→2 天:1→1(晴→晴)​
第 2→3 天:1→2(晴→阴)​
第 3→4 天:2→2(阴→阴)​
第 4→5 天:2→1(阴→晴)​
第 5→6 天:1→1(晴→晴)​
第 6→7 天:1→1(晴→晴)​
第 7→8 天:1→2(晴→阴)​
第 8→9 天:2→1(阴→晴)​
第 9→10 天:1→1(晴→晴)

按 “初始状态(当日)” 分类,统计转移到 “目标状态(次日)” 的次数(记为iii= 初始状态,​jjj= 目标状态),手动计数即可:

  1. 初始状态为S1S_1S1(晴天)的转移次数

先筛选 “初始状态 = 1” 的转移对:共 6 个(第 1、2、5、6、7、9 对),再统计目标状态:​

  • 1→1(晴→晴):第 1、5、6、9 对 → 4 次
  • 1→2(晴→阴):第 2、7 对 → 2 次

S1S_1S1出发的总转移次数:4+2=6 次(与筛选出的转移对数量一致,计数正确)

  1. 初始状态为S2S_2S2(阴天)的转移次数

初始状态为S2S_2S2筛选 “初始状态 = 2” 的转移对:共 3 个(第 3、4、8 对),统计目标状态:​

  • 2→1(阴→晴):第 4、8 对 → 2 次​
  • 2→2(阴→阴):第 3 对 → 1 次​

S2S_2S2出发的总转移次数:2+1=3 次(与筛选出的转移对数量一致,计数正确)

整理转移次数表

初始状态 \ 目标状态S1S_1S1(晴)S2S_2S2(晴)
S1S_1S1(晴)42
S2S_2S2(晴)21

验证总转移次数:6+3=9 次(与 10 天数据对应 9 个转移对完全匹配,无计数错误)。​

根据定义,一步转移概率pij=从Si到Sj的转移次数从Si出发的总转移次数p_{ij} = \frac{\text{从}S_i\text{到}S_j\text{的转移次数}}{\text{从}S_i\text{出发的总转移次数}}pij=Si出发的总转移次数SiSj的转移次数,

p11p_{11}p11(晴→晴): 46≈0.667\frac{4}{6} ≈ 0.667640.667

p12p_{12}p12(晴→阴):26≈0.333\frac{2}{6} ≈ 0.333620.333

p21p_{21}p21(阴→晴): 23≈0.667\frac{2}{3} ≈ 0.667320.667

p22p_{22}p22(阴→阴):13≈0.333\frac{1}{3} ≈ 0.333310.333

验证概率性质

非负性:所有pijp_ijpij(0.667、0.333、0.667、0.333)均≥0,符合要求;

行和为 1:​

第 1 行(晴):0.667+0.333=1
第 2 行(阴):0.667+0.333=1

(2)转移概率矩阵

将所有一步转移概率按行(当前状态)和列(下一状态)排列,得到一步转移概率矩阵,记为

P=(p11p12...p1np21p22...p2n⋮⋮⋱⋮pn1pn2...pnn)P = \begin{pmatrix} p_{11} & p_{12} & ... & p_{1n} \\ p_{21} & p_{22} & ... & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{n1} & p_{n2} & ... & p_{nn} \end{pmatrix}P=p11p21pn1p12p22pn2.........p1np2npnn

例如,天气模型(3 个状态:晴 S₁、阴 S₂)的转移矩阵可能为:

P=(p11p12p21p22)=(23132313)P = \begin{pmatrix} p_{11} & p_{12} \\ % 初始状态S1(晴)的转移概率 p_{21} & p_{22} % 初始状态S2(阴)的转移概率 \end{pmatrix} = \begin{pmatrix} \frac{2}{3} & \frac{1}{3} \\ % 或0.667 & 0.333 \frac{2}{3} & \frac{1}{3} % 或0.667 & 0.333 \end{pmatrix}P=(p11p21p12p22)=(32323131)

(3)k 步转移概率矩阵​

若要预测 “k 步后” 的状态(如后天的天气,即 2 步转移),需用到k 步转移概率矩阵,记为 P(k)P^{(k)}P(k)
。根据 “Chapman-Kolmogorov 方程”,k 步转移矩阵可由一步转移矩阵的 k 次幂得到:P(k)=PkP^{(k)} = P^kP(k)=Pk

例如,2 步转移矩阵 P(2)=P×PP^{(2)} = P \times PP(2)=P×P,其元素 pij(2)p_{ij}^{(2)}pij(2) 表示 “从状态 SiS_iSi出发,经过 2 步转移到 SjS_jSj 的概率”。

二、马尔科夫链的关键性质(平稳性与遍历性)​

在数学建模中,我们常关注 “长期稳定状态”,这需要通过马尔科夫链的平稳性遍历性来分析。​

2.1 平稳分布(极限分布)

若存在一个概率向量 π=(π1,π2,...,πn)\pi = (\pi_1, \pi_2, ..., \pi_n)π=(π1,π2,...,πn) (满足 πj≥0\pi_j \geq 0πj0∑j=1nπj=1\sum_{j=1}^n \pi_j = 1j=1nπj=1 ),使得:π=πP\pi = \pi Pπ=πP

则称 π\piπ 为马尔科夫链的平稳分布。​

通俗理解:当系统达到平稳分布时,状态的概率分布不再随时间变化。例如,长期观察天气后发现,晴、阴、雨的概率稳定在(0.3, 0.4, 0.3),此时无论初始天气如何,最终都会趋近于这个分布。

2.2 遍历性​

若马尔科夫链满足:​

  1. 从任意初始状态出发,经过足够多步后,能到达所有状态(即 “不可约”);​
  2. 不存在 “周期性循环”(即 “非周期”);

则称该马尔科夫链具有遍历性,且满足:lim⁡k→∞P(k)=(π1π2...πnπ1π2...πn⋮⋮⋱⋮π1π2...πn)\lim_{k \to \infty} P^{(k)} = \begin{pmatrix} \pi_1 & \pi_2 & ... & \pi_n \\ \pi_1 & \pi_2 & ... & \pi_n \\ \vdots & \vdots & \ddots & \vdots \\ \pi_1 & \pi_2 & ... & \pi_n \end{pmatrix}limkP(k)=π1π1π1π2π2π2.........πnπnπn

即 k 步转移矩阵的所有行都趋近于平稳分布 π\piπ。这意味着:无论初始状态如何,长期后系统的状态分布都会收敛到平稳分布—— 这是马尔科夫链用于 “长期预测” 的核心依据。​

三、马尔科夫链模型的建模步骤(附实例)​

以 “预测某地区未来天气分布” 为例,完整建模流程如下:​
步骤 1:确定状态空间​
根据问题定义离散状态。此处定义:

状态 1(S₁):晴天;​
状态 2(S₂):阴天;​
状态 3(S₃):雨天;​
状态空间 S1,S2,S3{S₁, S₂, S₃}S1,S2,S3

步骤 2:收集数据,估计转移概率矩阵​
通过历史数据(如过去 30 天的天气记录)计算转移频率,近似作为转移概率。例如,

假设研究者连续记录 30 天天气,得到如下状态序列(数字 1 = 晴天、2 = 阴天、3 = 雨天):​
第 1 天:1(晴)、第 2 天:1(晴)、第 3 天:1(晴)、第 4 天:2(阴)、第 5 天:2(阴)、​
第 6 天:1(晴)、第 7 天:3(雨)、第 8 天:3(雨)、第 9 天:1(晴)、第 10 天:1(晴)、​
第 11 天:1(晴)、第 12 天:1(晴)、第 13 天:1(晴)、第 14 天:1(晴)、第 15 天:2(阴)、​
第 16 天:2(阴)、第 17 天:3(雨)、第 18 天:1(晴)、第 19 天:1(晴)、第 20 天:1(晴)、​
第 21 天:2(阴)、第 22 天:1(晴)、第 23 天:3(雨)、第 24 天:3(雨)、第 25 天:3(雨)、​
第 26 天:2(阴)、第 27 天:2(阴)、第 28 天:2(阴)、第 29 天:3(雨)、第 30 天:3(雨)

统计得:

  • 晴天(S₁)后:18 次转晴天、9 次转阴天、3 次转雨天 → 频率(0.6, 0.3, 0.1)→ 转移概率 p11=0.6,p12=0.3,p13=0.1p_{11}=0.6, p_{12}=0.3, p_{13}=0.1p11=0.6,p12=0.3,p13=0.1;​
  • 阴天(S₂)后:6 次转晴天、15 次转阴天、9 次转雨天 → 频率(0.2, 0.5, 0.3)→ 转移概率p21=0.2,p22=0.5,p23=0.3p_{21}=0.2, p_{22}=0.5, p_{23}=0.3p21=0.2,p22=0.5,p23=0.3 ;​
  • 雨天(S₃)后:3 次转晴天、12 次转阴天、15 次转雨天 → 频率(0.1, 0.4, 0.5)→ 转移概率 p31=0.1,p32=0.4,p33=0.5p_{31}=0.1, p_{32}=0.4, p_{33}=0.5p31=0.1,p32=0.4,p33=0.5


最终得到转移矩阵 P=(0.60.30.10.20.50.30.10.40.5)P = \begin{pmatrix} 0.6 & 0.3 & 0.1 \\ % 今天晴,明天晴(0.6)、阴(0.3)、雨(0.1) 0.2 & 0.5 & 0.3 \\ % 今天阴,明天晴(0.2)、阴(0.5)、雨(0.3) 0.1 & 0.4 & 0.5 \\ % 今天雨,明天晴(0.1)、阴(0.4)、雨(0.5) \end{pmatrix}P=0.60.20.10.30.50.40.10.30.5

步骤 3:分析模型的遍历性(验证长期预测可行性)​

需验证两点:​
不可约性:从任意状态出发能到达所有状态。例如,S₁→S₂→S₃→S₁,存在路径,故不可约;​
非周期性:不存在正整数 d>1,使得所有转移步数都是 d 的倍数。例如,从 S₁出发,1 步可回 S₁(d 不整除 1),故非周期;​
因此,该马尔科夫链具有遍历性,可求平稳分布。

步骤 4:求解平稳分布(长期预测)​

根据平稳分布定义 π=πP\pi = \pi Pπ=πP,结合π1+π2+π3=1\pi_1 + \pi_2 + \pi_3 = 1π1+π2+π3=1,建立方程组:

{π1=0.6π1+0.2π2+0.1π3π2=0.3π1+0.5π2+0.4π3π3=0.1π1+0.3π2+0.5π3π1+π2+π3=1\begin{cases} \pi_1 = 0.6\pi_1 + 0.2\pi_2 + 0.1\pi_3 \\ \pi_2 = 0.3\pi_1 + 0.5\pi_2 + 0.4\pi_3 \\ \pi_3 = 0.1\pi_1 + 0.3\pi_2 + 0.5\pi_3 \\ \pi_1 + \pi_2 + \pi_3 = 1 \end{cases}π1=0.6π1+0.2π2+0.1π3π2=0.3π1+0.5π2+0.4π3π3=0.1π1+0.3π2+0.5π3π1+π2+π3=1

解方程组得:π=(0.25,0.4,0.35)\pi = (0.25, 0.4, 0.35)π=(0.25,0.4,0.35)

步骤 5:短期预测(利用 k 步转移矩阵)​

若今天是晴天(初始状态向量 π(0)=(1,0,0)\pi^{(0)} = (1, 0, 0)π(0)=(1,0,0),预测明天(1 步后)和后天(2 步后)的天气分布:​

  • 明天(1 步):π(1)=π(0)P=(1A~—0.6+0A~—0.2+0A~—0.1,...)=(0.6,0.3,0.1)\pi^{(1)} = \pi^{(0)} P = (1×0.6 + 0×0.2 + 0×0.1, ...) = (0.6, 0.3, 0.1)π(1)=π(0)P=(1A~—0.6+0A~—0.2+0A~—0.1,...)=(0.6,0.3,0.1)
  • 后天(2 步):π(2)=π(1)P=(0.6A~—0.6+0.3A~—0.2+0.1A~—0.1,...)=(0.43,0.35,0.22)\pi^{(2)} = \pi^{(1)} P = (0.6×0.6 + 0.3×0.2 + 0.1×0.1, ...) = (0.43, 0.35, 0.22)π(2)=π(1)P=(0.6A~—0.6+0.3A~—0.2+0.1A~—0.1,...)=(0.43,0.35,0.22)

即后天晴天概率 43%,阴天 35%,雨天 22%。​

四、马尔科夫链的常见应用场景​

应用马尔可夫链的计算方法进行马尔可夫分析,主要目的是根据某些变量现在的情况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依据。

除天气预测外,马尔科夫链在数学建模中还有大量应用,核心是 “状态离散、无后效性” 的问题:

  • 经济领域:股票走势预测(状态:涨 / 平 / 跌)、市场占有率预测(状态:各品牌);
  • 生物领域:种群状态转移(状态:健康 / 患病 / 死亡)、DNA 序列分析;
  • 工程领域:设备故障预测(状态:正常 / 维修 / 故障)、交通流量控制(状态:畅通 / 拥堵);
  • 社会领域:人口迁移预测(状态:农村 / 城市)、用户行为分析(状态:活跃 / 沉睡)。

五、建模注意事项​

  1. 状态定义需合理:状态需离散、互斥,且能完整描述系统(如天气若加 “多云”,需补充为 4 状态);​
  2. 转移概率需可靠:尽量用足够多的历史数据估计,避免主观赋值;若数据不足,可结合专家经验修正;​
  3. 遍历性验证不可少:若模型不满足遍历性(如存在 “吸收态”,如 “死亡” 状态无法转移),则无平稳分布,需调整模型(如定义 “吸收马尔科夫链”)。

六、常见扩展模型

高阶马尔科夫链:引入更多历史状态影响

隐马尔科夫模型 HMM:用于观测数据不可直接看到状态的情形(如语音识别)

马尔科夫决策过程 MDP:引入“动作”和“奖励”,用于强化学习建模

七:代码

python版

import numpy as np
import matplotlib.pyplot as plt# 原始天气状态序列:1=晴(sunny),2=阴(cloudy),3=雨(rainy)
weather_seq = [1, 1, 1, 2, 2, 1, 3, 3, 1, 1, 1, 1, 1, 1,2, 2, 3, 1, 1, 1, 2, 1, 3, 3, 3, 2, 2, 2, 3, 3]n_states = 3  # 3种状态:sunny(1)、cloudy(2)、rainy(3)
count_matrix = np.zeros((n_states, n_states))  # 初始化转移计数矩阵# 构建转移计数矩阵(统计从当前状态到下一状态的次数)
for i in range(len(weather_seq) - 1):current = weather_seq[i] - 1  # 状态索引从0开始(对应原1/2/3)next_ = weather_seq[i + 1] - 1count_matrix[current, next_] += 1# 归一化为转移概率矩阵 P(每行和为1,满足概率性质)
P = count_matrix / count_matrix.sum(axis=1, keepdims=True)
print("State Transition Probability Matrix P:\n", np.round(P, 3))  # 输出概率矩阵(保留3位小数)# 初始状态(已知第1天是晴天:Day1 is sunny)
pi_0 = np.zeros(n_states)
pi_0[weather_seq[0] - 1] = 1  # 初始状态向量:晴天概率=1,其他为0# 生成30天的状态分布(马尔科夫链演化:Markov Chain Evolution)
def simulate_markov(P, pi_0, steps=30):history = [pi_0]  # 存储每天的状态概率分布pi = pi_0.copy()  # 当前状态分布for _ in range(steps):pi = pi @ P  # 矩阵乘法:计算下一天的状态分布history.append(pi)return np.array(history)  # 返回31天的分布(初始+30天)history = simulate_markov(P, pi_0, steps=30)  # 执行模拟# 输出前5天结果示意(Show first 5 days for demonstration)
print("\nFirst 5 Days' State Distribution:")
for i in range(5):print(f"Day {i}: Sunny={history[i][0]:.3f}, Cloudy={history[i][1]:.3f}, Rainy={history[i][2]:.3f}")# 可视化:天气状态分布演化(Visualization: Weather State Distribution Evolution)
plt.figure(figsize=(10, 5))  # 设置图大小
plt.plot(history[:, 0], label="Sunny")  # 晴天概率曲线
plt.plot(history[:, 1], label="Cloudy")  # 阴天概率曲线
plt.plot(history[:, 2], label="Rainy")  # 雨天概率曲线
plt.title("Weather State Distribution Evolution (30 Days)")  # 图标题
plt.xlabel("Day")  # x轴标签(天数)
plt.ylabel("Probability")  # y轴标签(概率)
plt.xticks(np.arange(0, 31, 5))  # x轴刻度:每5天显示1个
plt.grid(True, alpha=0.3)  # 显示网格(透明度0.3,避免遮挡曲线)
plt.legend(loc="best")  # 图例:自动放在最佳位置
plt.tight_layout()  # 自动调整布局,避免标签被截断
plt.show()  # 显示图像

输出结果:

State Transition Probability Matrix P:[[0.643 0.214 0.143][0.25  0.5   0.25 ][0.286 0.143 0.571]]First 5 Days' State Distribution:
Day 0: Sunny=1.000, Cloudy=0.000, Rainy=0.000
Day 1: Sunny=0.643, Cloudy=0.214, Rainy=0.143
Day 2: Sunny=0.508, Cloudy=0.265, Rainy=0.227
Day 3: Sunny=0.458, Cloudy=0.274, Rainy=0.269
Day 4: Sunny=0.439, Cloudy=0.273, Rainy=0.287

在这里插入图片描述

matlab版

% 原始天气序列(1=晴,2=阴,3=雨)
weather_seq = [1 1 1 2 2 1 3 3 1 1 1 1 1 1 ...2 2 3 1 1 1 2 1 3 3 3 2 2 2 3 3];n_states = 3;
count_matrix = zeros(n_states);% 构建转移计数矩阵
for i = 1:(length(weather_seq) - 1)current = weather_seq(i);next = weather_seq(i+1);count_matrix(current, next) = count_matrix(current, next) + 1;
end% 转移概率矩阵 P
P = count_matrix ./ sum(count_matrix, 2);
disp('状态转移概率矩阵 P:');
disp(round(P, 3));% 初始状态分布(Day 1 是“晴”)
pi_0 = zeros(1, n_states);
pi_0(weather_seq(1)) = 1;% 演化30天
steps = 30;
pi_t = zeros(steps+1, n_states);
pi_t(1, :) = pi_0;
for t = 2:(steps+1)pi_t(t, :) = pi_t(t-1, :) * P;
enddisp('前5天状态分布:');
disp(round(pi_t(1:5, :), 3));% 可视化(如需要)
figure;
plot(0:steps, pi_t(:, 1), '-o', 'DisplayName', '晴 (sunny)');
hold on;
plot(0:steps, pi_t(:, 2), '-o', 'DisplayName', '阴 (cloudy)');
plot(0:steps, pi_t(:, 3), '-o', 'DisplayName', '雨 (rainy)');
xlabel('天数');
ylabel('概率');
title('天气状态分布演化(30天)');
legend;
grid on;

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

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

相关文章

《拉康精神分析学中的欲望辩证法:能指的拓扑学与主体的解构性重构》

在当代人文思想图谱中&#xff0c;雅克拉康以语言学为利刃对弗洛伊德理论进行的结构性重铸构成了20世纪最具颠覆性的理论创造之一。这位被誉为"法国弗洛伊德"的思想巨匠通过"回到弗洛伊德"的口号&#xff0c;实则完成了对精神分析学的哥白尼式革命——将主…

数字时代下的智能信息传播引擎

在商场、楼宇、交通枢纽等公共场所&#xff0c;数字广告机已成为信息传播的重要载体。其背后的广告机系统&#xff0c;是一套集硬件控制、内容管理、网络传输与数据分析于一体的综合技术解决方案&#xff0c;正推动传统静态广告向动态化、交互化、智能化方向演进。系统架构与核…

文献阅读笔记:KalmanNet-融合神经网络和卡尔曼滤波的部分已知动力学状态估计

文献阅读笔记&#xff1a;KalmanNet-融合神经网络和卡尔曼滤波的部分已知动力学状态估计摘要一、研究背景1.1 状态估计问题的重要性1.2 传统方法的局限&#xff1a;非线性与模型不确定性非线性问题噪声统计未知问题1.3 数据驱动方法的兴起与局限1.4 KalmanNet&#xff1a;混合方…

使用EasyExcel根据模板导出文件

文章目录概要工具类核心功能核心代码解析模板导出核心方法文件下载处理HTTP响应设置文件下载处理使用示例概要 在企业级应用开发中&#xff0c;Excel数据导出是一个常见的需求。本文实现一个基于阿里巴巴EasyExcel库实现的根据模板导出文件的工具类&#xff0c;它通过预定义的…

【AI基础:神经网络】19、机器学习实战:径向基函数神经网络(RBFN)指南

一、引言:为什么RBFN是神经网络中的“局部专家”? 在机器学习领域,神经网络的“全局逼近”与“局部逼近”一直是两大核心思路。像我们熟悉的多层感知机(MLP),使用Sigmoid、ReLU等全局激活函数,每个神经元都会对整个输入空间产生响应——就像“全员参与”处理所有数据,…

Linux 性能调优实战:CPU、磁盘 I/O、网络与内核参数

前言 一、CPU 资源调优 1. 调整进程优先级&#xff08;nice/renice&#xff09; 2. 设置 CPU 亲和力&#xff08;taskset&#xff09; 3. 查看 CPU 信息 4. 使用 vmstat 分析系统瓶颈 二、磁盘 I/O 调优 1. ulimit 资源限制 2. 磁盘速度测试 三、内核参数调优 1. 常用…

【进阶篇第五弹】《详解存储过程》从0掌握MySQL中的存储过程以及存储函数

文章目录存储过程一、基本语法(1)创建存储过程(2)调用存储过程(3)查看存储过程(4)删除存储过程(5)设置结束符(6)参数二、变量(1)系统变量(2)用户自定义变量(3)局部变量三、基本语句(1)if判断(2)case(3)while循环(4)repeat(5)loop循环四、游标五、条件处理程序六、存储函数存储过…

HarmonyOS布局实战:用声明式UI构建自适应电商卡片

首先诚邀大家参加学习鸿蒙拿好礼活动&#xff0c;即日起&#xff0c;只要加入班级考取华为开发者基础/高级证书&#xff0c;并发表一篇技术文章&#xff0c;就有机会获得官方发放的精美礼品&#xff0c;数量有限&#xff0c;先到先得。冷老师的班级链接如下&#xff1a;​华为开…

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(21):文法+单词第7回3

日语学习-日语知识点小记-构建基础-JLPT-N3阶段&#xff08;&#xff12;1&#xff09;&#xff1a;文法单词第7回3 1、前言&#xff08;1&#xff09;情况说明&#xff08;2&#xff09;工程师的信仰2、知识点&#xff11;ー 。。。と。。。なる&#xff12;ーVて欲しい ・ …

Baumer高防护相机如何通过Tiny-YOLO单类模型实现人体跌倒检测与跟踪(C#代码UI界面版)

《------往期经典推荐------》 AI应用软件开发实战专栏【链接】 序号项目名称项目名称11.工业相机 YOLOv8 实现人物检测识别&#xff1a;&#xff08;C#代码&#xff0c;UI界面版&#xff09;2.工业相机 YOLOv8 实现PCB的缺陷检测&#xff1a;&#xff08;C#代码&#xff0…

从源码看浏览器弹窗消息机制:SetDefaultView 的创建、消息转发与本地/在线页通用实践

引言在现代浏览器的开发中&#xff0c;前端页面和 C 内核之间的通信是一项核心功能。无论是本地设置页&#xff08;chrome:// 内置 H5&#xff09;还是在线活动页&#xff0c;前端都可能需要调用浏览器底层 API&#xff0c;实现诸如“设置默认浏览器”、“更改壁纸”、“读取用…

对比视频处理单元(VPU)、图形处理器(GPU)与中央处理器(CPU)

如今选择互联网点播流媒体与直播视频的用户数量已远超传统广播电视&#xff0c;这一转变催生了对高性能媒体转码与OTT流媒体功能专用技术的需求。 我们最新推出的Accelerated Compute云计算解决方案&#xff0c;首次通过NETINT Quadra视频处理单元&#xff08;VPU&#xff09;…

vue3写一个简单的时间轴组件

插件版本&#xff1a;"element-plus": "^2.3.12""vue": "^3.0.0"代码示例&#xff1a;样式文件style.less&#xff1a;改变el-tooltip样式&#xff0c;可以复制代码到公共样式文件.el-popper.o-el-tooltip-popper-class {max-width: 3…

Linex系统网络管理(二)

二、网络连接查看1. netstat作用查看本地服务的网络监听状态查看客户端连接到本地服务的连接状态语法&#xff1a;netstat 选项 &#xff08;-anptu&#xff09;选项作用-n&#xff0c; --numeric显示数字形式地址而不是去解析主机、端口或用户名-a, --all显示所有的监听或连接…

Unity MQTT通讯

首先明确概念&#xff0c;什么是MQTT&#xff1f; MQTT是一种轻量级、基于发布 / 订阅&#xff08;Publish/Subscribe&#xff09;模式的物联网&#xff08;IoT&#xff09;通信协议&#xff0c;在带宽有限、网络不稳定的环境下&#xff0c;实现低功耗、低延迟的设备间通信&am…

JavaSE:类和对象2

一、封装封装的概念面向对象程序三大特性&#xff1a;封装、继承、多态。而类和对象阶段&#xff0c;主要研究的就是封装特性。何为封装呢&#xff1f;简单来说 就是套壳屏蔽细节。例如手机&#xff0c;你看不到任何的内部实现细节&#xff0c;只留下一些公开的接口给你使用&am…

RandAR训练自己的数据集

论文题目:RandAR: Decoder-only Autoregressive Visual Generation in Random Orders(随机顺序下仅解码器的自回归视觉生成) 会议:CVPR2025 摘要:我们介绍了RandAR,一种仅解码器的视觉自回归(AR)模型,能够以任意令牌顺序生成图像。与之前依赖于预定义生成顺序的纯解码器…

基于PHP服装租赁管理系统/基于php的服装管理系统的设计与实现

基于PHP服装租赁管理系统/基于php的服装管理系统的设计与实现

高并发内存池(12)-ThreadCache回收内存

高并发内存池&#xff08;12&#xff09;-ThreadCache回收内存 代码如下&#xff1a; // 释放对象时&#xff0c;链表过长时&#xff0c;回收内存回到中心缓存 void ThreadCache::ListTooLong(FreeList& list, size_t size) {void* start nullptr;void* end nullptr;list…

读大语言模型09超级智能

1. 超级智能1.1. 如果人工智能超越人类智能&#xff0c;可能会成为人类存在的一个重大威胁1.1.1. 对超级人工智能潜在危险最为担忧的群体中&#xff0c;恰恰包括那些否认大语言模型具备真正智能的人1.2. 计算机科学已经成为所有科学领域中不可或缺的重要组成部1.3. GPT具备编写…