<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog | XHT | Haotian Xue - AI Research &amp; Robotics</title><link>https://xht252.github.io/blog/</link><atom:link href="https://xht252.github.io/blog/index.xml" rel="self" type="application/rss+xml"/><description>Blog</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Tue, 11 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://xht252.github.io/media/icon_hu_1c0e9cb08cfb822a.png</url><title>Blog</title><link>https://xht252.github.io/blog/</link></image><item><title>Day 1｜信息论：熵、KL 散度与互信息</title><link>https://xht252.github.io/blog/machine_learning/day1/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://xht252.github.io/blog/machine_learning/day1/</guid><description>&lt;h2 id="11-熵"&gt;1.1 熵&lt;/h2&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;一种混乱程度
具有较高的熵，认为具有较高的信息含量&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="12-离散变量"&gt;1.2 离散变量&lt;/h3&gt;
&lt;h4 id="121-离散变量的熵"&gt;1.2.1 离散变量的熵&lt;/h4&gt;
&lt;p&gt;$K$ 个状态上分布为 $p$ 的离散随机变量 $X$ 的熵被定义为
&lt;/p&gt;
$$
\mathbb{H}(x)\triangleq-\sum_{k=1}^{K}p(X=k)\log_2p(X=k)=-\mathbb{E}_X\left[\log p(X)\right]
$$&lt;h4 id="122-重要的性质"&gt;1.2.2 重要的性质&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;具有最大熵的离散分布是均匀分布&lt;/li&gt;
&lt;li&gt;具有最小熵的分布是任何将其所有概率质量放在一个状态上的$\delta$函数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;证明在介绍完KL散度后证明&lt;/p&gt;
&lt;h3 id="13-交叉熵"&gt;1.3 交叉熵&lt;/h3&gt;
&lt;p&gt;分布 $p$ 和 $q$ 的交叉熵被定义为
&lt;/p&gt;
$$
\mathbb{H}(p,q)\triangleq-\sum_{k=1}^{K}p_k\log q_k
$$&lt;p&gt;
特别的，对于固定分布 $p$，当 $q=p$ 时，交叉熵取得最小值&lt;/p&gt;
&lt;h3 id="14-联合熵"&gt;1.4 联合熵&lt;/h3&gt;
&lt;p&gt;两个随机变量 $X$ 和 $Y$ 的联合熵可以被定义为
&lt;/p&gt;
$$
\mathbb{H}(X,Y)=-\sum_{x,y}p(x,y)\log_2p(x,y)
$$&lt;h4 id="15-条件熵"&gt;1.5 条件熵&lt;/h4&gt;
&lt;p&gt;当给定 $X$ 时， $Y$ 的条件熵是在观察到 $X$ 后，对 $Y$ 的不确定性在 $X$ 的所有可能值熵取平均值
&lt;/p&gt;
$$
\begin{align*}
\mathbb{H}(Y|X)&amp;\triangleq\mathbb{E}_{p(x)}\left[\mathbb{H}(p(Y|X))\right]\\
&amp;=\sum_{x}p(x)\mathbb{H}(p(Y|X=x))=-\sum_{x}p(x)\sum_{y}p(y|x)\log p(y|x)\\
&amp;=-\sum_{x,y}p(x,y)\log p(y|x)=-\sum_{x,y}p(x,y)\log \frac{p(x,y)}{p(x)}\\
&amp;=-\sum_{x,y}p(x,y)\log p(x,y)-\sum_{x}p(x)\log \frac{1}{p(x)}\\
&amp;=\mathbb{H}(X,Y)-\mathbb{H}(X)
\end{align*}
$$&lt;p&gt;
我们可以令 $X=X_1$ 、$Y=X_2$，则有$\mathbb{H}(X_1,X_2)=\mathbb{H}(X_1)+\mathbb{H}(X_2|X_1)$，进而有熵的链式法则
&lt;/p&gt;
$$
\mathbb{H}(X_1,X_2,...,X_n)=\sum_{i=1}^{n}\mathbb{H}(X_i|X_1,...,X_{i-1})
$$&lt;h4 id="16-困惑度"&gt;1.6 困惑度&lt;/h4&gt;
&lt;p&gt;离散概率分布 $p$ 的困惑度定义为
&lt;/p&gt;
$$
\text{perplexity}\triangleq2^{\mathbb{H}(p)}
$$&lt;h3 id="17-连续变量的微分熵"&gt;1.7 连续变量的微分熵&lt;/h3&gt;
&lt;p&gt;若 $X$ 是一个具有概率密度函数 $p(X)$ 的连续随机变量，我们将微分熵定义为
&lt;/p&gt;
$$
h(x)\triangleq-\int_X p(x)\log p(x) dx
$$&lt;h3 id="18-相对熵"&gt;1.8 相对熵&lt;/h3&gt;
&lt;p&gt;对于离散分布，我们使用 $\mathbb{KL}$ 散度进行定义
&lt;/p&gt;
$$
\mathbb{KL}(p\|q)\triangleq\sum_{k=1}^{K}p_k \log \frac{p_k}{q_k}
$$&lt;p&gt;
对于连续分布
&lt;/p&gt;
$$
\mathbb{KL}(p\|q)\triangleq\int p(x) \log \frac{p(x)}{q(x)}dx
$$&lt;p&gt;
进一步可以解释为：
&lt;/p&gt;
$$
\mathbb{KL}(p\|q)=\underbrace{\sum_{k=1}^{K}p_k \log p_k}_{-\mathbb{H}(p)}-\underbrace{\sum_{k=1}^{K}p_k \log q_k}_{-\mathbb{H}(p,q)}
$$&lt;p&gt;
&lt;/p&gt;
$$
\mathbb{KL}(p\|q)=-\mathbb{H}(p)+\mathbb{H}(p,q)
$$&lt;p&gt;
$\mathbb{KL}$ 散度用于测量两个分布相似程度的方法&lt;/p&gt;
&lt;h4 id="181-重要证明"&gt;1.8.1 重要证明&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;证明1：$\mathbb{KL}$ 散度非负
&lt;/p&gt;
$$
\begin{align*}
\mathbb{KL}(p\|q)&amp;=\sum_{i}p_i \log \frac{p_i}{q_i}\\
&amp;=-\sum_{i}p_i \log \frac{q_i}{p_i}
\end{align*}
$$&lt;p&gt;
由于 $\log x\le x−1$ ，我们可以得到 $\log\frac{q_i}{​p_i}​​\le \frac{q_i}{p_i}−1$，然后化简有 $p_i\log\frac{q_i}{​p_i}​​\le q_i−p_i$
&lt;/p&gt;
$$
\begin{align*}
-\mathbb{KL}(p\|q)&amp;\le \sum_{i}(q_i-p_i)\\
&amp;\le 0
\end{align*}
$$&lt;p&gt;
由于概率和为1，则有 $-\mathbb{KL}(p\|q) \le 0$，所以 $\mathbb{KL}(p\|q) \ge 0$。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;证明2：具有最大熵的离散分布是均匀分布
首先，令 $u_i=\frac{1}{K}$，于是均匀分布为 $u=\big(\frac{1}{K},...,\frac{1}{K}\big)$。
考虑概率分布 $p$ 与均匀分布 $u$ 之间的 KL 散度：
&lt;/p&gt;
$$
\begin{align*}
\mathbb{KL}(p\|u)&amp;=\sum_{i=1}^{K}p_i\log\frac{p_i}{u_i}\\
&amp;=\sum_{i=1}^{K}p_i\log\frac{p_i}{1/K}\\
&amp;=\sum_{i=1}^{K}p_i\big(\log p_i+\log K\big)\\
&amp;=\sum_{i=1}^{K}p_i\log p_i+\log K\sum_{i=1}^{K}p_i
\end{align*}
$$&lt;p&gt;
由于$\sum_{i=1}^{K}p_i=1$,
&lt;/p&gt;
$$
\begin{align*}
\mathbb{KL}(p\|u)&amp;=\sum_{i=1}^{K}p_i\log p_i+\log K\\
&amp;=\log K-\mathbb{H}(p)
\end{align*}
$$&lt;p&gt;
由于 $\mathbb{KL}$ 散度非负，$\log K\ge\mathbb{H}(p)$，当且仅当两个分布相等时，取等号使得熵最大，所以有限离散状态空间上，均匀分布拥有最大熵
$Q.E.D.$&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;证明3：具有最小熵的分布是任何将其所有概率质量放在一个状态上的 $\delta$ 函数
对于离散随机变量，$\delta$ 分布表示所有概率质量都集中在某一个状态 $x_0$ 上：
&lt;/p&gt;
$$
p(x)=\left\{\begin{matrix}
1,&amp;x=x_0 \\
0,&amp;x\ne x_0
\end{matrix}\right.
$$&lt;p&gt;
离散随机变量的熵为
&lt;/p&gt;
$$
H(p)=-\sum_x p(x)\log p(x)
$$&lt;p&gt;
由于对任意概率 $0\le p(x)\le1$，都有
&lt;/p&gt;
$$
\log p(x)\le0
$$&lt;p&gt;
因此&lt;/p&gt;
$$
-p(x)\log p(x)\ge0
$$&lt;p&gt;
所以
&lt;/p&gt;
$$
H(p)\ge0
$$&lt;p&gt;
也就是说，离散熵的最小可能值为 $0$。
要使
&lt;/p&gt;
$$
H(p)=0
$$&lt;p&gt;由于熵中的每一项都非负，因此必须对所有 $x$ 都有&lt;/p&gt;
$$
-p(x)\log p(x)=0
$$&lt;p&gt;而当 $0&lt;p(x)&lt;1$ 时，&lt;/p&gt;
$$
-p(x)\log p(x)&gt;0
$$&lt;p&gt;所以只有
&lt;/p&gt;
$$
p(x)=0
\quad\text{或}\quad
p(x)=1
$$&lt;p&gt;
才能使该项为零。
再结合概率归一化条件
&lt;/p&gt;
$$
\sum_x p(x)=1
$$&lt;p&gt;
只能有一个状态的概率为 $1$，其余状态的概率全部为 $0$。
因此，
&lt;/p&gt;
$$
\boxed{H_{\min}=0}
$$&lt;p&gt;
且最小值恰好由任意 $\delta$ 分布取得。
$Q.E.D.$&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="19-互信息"&gt;1.9 互信息&lt;/h4&gt;
&lt;p&gt;衡量两个随机变量的相关性
随机变量 $X$ 和 $Y$ 之间的互信息定义为：
&lt;/p&gt;
$$
\mathbb{I}(X;Y)\triangleq\mathbb{KL}(p(x,y)\|p(x)p(y))=\sum_{y\in Y}\sum_{x\in X}p(x,y)\log \frac{p(x,y)}{p(x)p(y)} \ge 0
$$&lt;p&gt;
当且仅当 $p(x,y)=p(x)p(y)$ 时，达到边界0
进一步可以使用联合熵和条件熵来表示
&lt;/p&gt;
$$
\mathbb{I}(X;Y)=\mathbb{H}(X)-\mathbb{H}(X|Y)=\mathbb{H}(Y)-\mathbb{H}(Y|X)
$$&lt;p&gt;
进一步化简合并可以得到
&lt;/p&gt;
$$
\mathbb{I}(X;Y)=\mathbb{H}(X) + \mathbb{H}(Y)-\mathbb{H}(X,Y)
$$&lt;p&gt;
然后从韦恩图上我们可以更加明显的理解这几个概念&lt;/p&gt;
&lt;div style="width:100%; overflow-x:auto;"&gt;
&lt;svg viewBox="0 0 1000 760"
xmlns="http://www.w3.org/2000/svg"
style="max-width:1000px; width:100%; height:auto; display:block; margin:auto;"&gt;
&lt;defs&gt;
&lt;!-- 斜线填充 --&gt;
&lt;pattern id="hatch"
patternUnits="userSpaceOnUse"
width="12"
height="12"
patternTransform="rotate(45)"&gt;
&lt;line x1="0" y1="0"
x2="0" y2="12"
stroke="currentColor"
stroke-width="2"
opacity="0.4"/&gt;
&lt;/pattern&gt;
&lt;!-- ============================== --&gt;
&lt;!-- c) 互信息：严格裁剪为 x ∩ y --&gt;
&lt;!-- ============================== --&gt;
&lt;!-- 左圆作为裁剪区域 --&gt;
&lt;clipPath id="clipLeftC"&gt;
&lt;circle cx="180" cy="505" r="120"/&gt;
&lt;/clipPath&gt;
&lt;!-- ============================== --&gt;
&lt;!-- d) 条件熵：集合差 mask --&gt;
&lt;!-- ============================== --&gt;
&lt;!-- x - y --&gt;
&lt;mask id="maskXminusY"
maskUnits="userSpaceOnUse"
x="500" y="360"
width="450" height="300"&gt;
&lt;!-- 默认全部保留 --&gt;
&lt;rect x="500" y="360"
width="450" height="300"
fill="white"/&gt;
&lt;!-- 删除 y 圆区域 --&gt;
&lt;circle cx="790" cy="505" r="120"
fill="black"/&gt;
&lt;/mask&gt;
&lt;!-- y - x --&gt;
&lt;mask id="maskYminusX"
maskUnits="userSpaceOnUse"
x="500" y="360"
width="450" height="300"&gt;
&lt;!-- 默认全部保留 --&gt;
&lt;rect x="500" y="360"
width="450" height="300"
fill="white"/&gt;
&lt;!-- 删除 x 圆区域 --&gt;
&lt;circle cx="650" cy="505" r="120"
fill="black"/&gt;
&lt;/mask&gt;
&lt;/defs&gt;
&lt;!-- ================================================= --&gt;
&lt;!-- a) 熵 --&gt;
&lt;!-- ================================================= --&gt;
&lt;g&gt;
&lt;circle cx="180" cy="180" r="120"
fill="url(#hatch)"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;circle cx="320" cy="180" r="120"
fill="url(#hatch)"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;!-- 小写 x、y --&gt;
&lt;text x="105" y="55"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
x
&lt;/text&gt;
&lt;text x="395" y="55"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
y
&lt;/text&gt;
&lt;!-- 熵 --&gt;
&lt;text x="135" y="185"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
H(x)
&lt;/text&gt;
&lt;text x="365" y="185"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
H(y)
&lt;/text&gt;
&lt;!-- 单向箭头 --&gt;
&lt;text x="180" y="330"
font-size="21"
text-anchor="middle"&gt;
H(x) → x
&lt;/text&gt;
&lt;text x="320" y="330"
font-size="21"
text-anchor="middle"&gt;
H(y) → y
&lt;/text&gt;
&lt;text x="250" y="365"
font-size="24"
font-weight="600"
text-anchor="middle"&gt;
a) 熵
&lt;/text&gt;
&lt;/g&gt;
&lt;!-- ================================================= --&gt;
&lt;!-- b) 联合熵 --&gt;
&lt;!-- ================================================= --&gt;
&lt;g&gt;
&lt;circle cx="650" cy="180" r="120"
fill="url(#hatch)"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;circle cx="790" cy="180" r="120"
fill="url(#hatch)"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;text x="575" y="55"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
x
&lt;/text&gt;
&lt;text x="865" y="55"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
y
&lt;/text&gt;
&lt;text x="720" y="185"
font-size="27"
font-style="italic"
text-anchor="middle"&gt;
H(x,y)
&lt;/text&gt;
&lt;text x="720" y="330"
font-size="21"
text-anchor="middle"&gt;
H(x,y) → x ∪ y
&lt;/text&gt;
&lt;text x="720" y="365"
font-size="24"
font-weight="600"
text-anchor="middle"&gt;
b) 联合熵
&lt;/text&gt;
&lt;/g&gt;
&lt;!-- ================================================= --&gt;
&lt;!-- c) 互信息 --&gt;
&lt;!-- ================================================= --&gt;
&lt;g&gt;
&lt;!-- 两个圆的边界 --&gt;
&lt;circle cx="180" cy="505" r="120"
fill="none"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;circle cx="320" cy="505" r="120"
fill="none"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;!--
关键：
画右圆，但是用左圆裁剪。
最终留下的区域严格等于：
left circle ∩ right circle
--&gt;
&lt;circle cx="320" cy="505" r="120"
fill="url(#hatch)"
clip-path="url(#clipLeftC)"/&gt;
&lt;!-- 再画一次边界，保证边缘清楚 --&gt;
&lt;circle cx="180" cy="505" r="120"
fill="none"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;circle cx="320" cy="505" r="120"
fill="none"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;text x="105" y="380"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
x
&lt;/text&gt;
&lt;text x="395" y="380"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
y
&lt;/text&gt;
&lt;text x="250" y="510"
font-size="26"
font-style="italic"
text-anchor="middle"&gt;
I(x;y)
&lt;/text&gt;
&lt;text x="250" y="655"
font-size="21"
text-anchor="middle"&gt;
I(x;y) → x ∩ y
&lt;/text&gt;
&lt;text x="250" y="695"
font-size="24"
font-weight="600"
text-anchor="middle"&gt;
c) 互信息
&lt;/text&gt;
&lt;/g&gt;
&lt;!-- ================================================= --&gt;
&lt;!-- d) 条件熵 --&gt;
&lt;!-- ================================================= --&gt;
&lt;g&gt;
&lt;!-- x - y --&gt;
&lt;circle cx="650" cy="505" r="120"
fill="url(#hatch)"
mask="url(#maskXminusY)"/&gt;
&lt;!-- y - x --&gt;
&lt;circle cx="790" cy="505" r="120"
fill="url(#hatch)"
mask="url(#maskYminusX)"/&gt;
&lt;!-- 圆边界 --&gt;
&lt;circle cx="650" cy="505" r="120"
fill="none"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;circle cx="790" cy="505" r="120"
fill="none"
stroke="currentColor"
stroke-width="3"/&gt;
&lt;text x="575" y="380"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
x
&lt;/text&gt;
&lt;text x="865" y="380"
font-size="25"
font-style="italic"
text-anchor="middle"&gt;
y
&lt;/text&gt;
&lt;text x="605" y="510"
font-size="23"
font-style="italic"
text-anchor="middle"&gt;
H(x|y)
&lt;/text&gt;
&lt;text x="835" y="510"
font-size="23"
font-style="italic"
text-anchor="middle"&gt;
H(y|x)
&lt;/text&gt;
&lt;text x="625" y="655"
font-size="19"
text-anchor="middle"&gt;
H(x|y) → x − y
&lt;/text&gt;
&lt;text x="815" y="655"
font-size="19"
text-anchor="middle"&gt;
H(y|x) → y − x
&lt;/text&gt;
&lt;text x="720" y="695"
font-size="24"
font-weight="600"
text-anchor="middle"&gt;
d) 条件熵
&lt;/text&gt;
&lt;/g&gt;
&lt;/svg&gt;
&lt;/div&gt;
&lt;h5 id="191-条件互信息"&gt;1.9.1 条件互信息&lt;/h5&gt;
&lt;p&gt;当然我们还可以定义条件互信息
&lt;/p&gt;
$$
\begin{align*}
\mathbb{I}(X; Y|Z) &amp;\triangleq \mathbb{E}_{p(z)}\left[\mathbb{I}(X; Y|Z=z)\right]\\
&amp;= \mathbb{E}_{p(x, y, z)} \left[ \log \frac{p(x, y|z)}{p(x|z)p(y|z)} \right]\\
&amp;= \mathbb{H}(X|Z) + \mathbb{H}(Y|Z) - \mathbb{H}(X, Y|Z)\\
&amp;= \mathbb{H}(X|Z) - \mathbb{H}(X|Y, Z) = \mathbb{H}(Y|Z) - \mathbb{H}(Y|X, Z)\\
&amp;= \mathbb{H}(X, Z) + \mathbb{H}(Y, Z) - \mathbb{H}(Z) - \mathbb{H}(X, Y, Z)\\
&amp;= \mathbb{I}(Y; X, Z) - \mathbb{I}(Y; Z)
\end{align*}
$$&lt;p&gt;
上式也可以写为 $\mathbb{I}(Z, Y; X) = \mathbb{I}(Z; X) + \mathbb{I}(Y; X|Z)$，进而有&lt;strong&gt;互信息的链式法则&lt;/strong&gt;
&lt;/p&gt;
$$
\mathbb{I}(Z_1, \cdots, Z_N; X) = \sum_{n=1}^N \mathbb{I}(Z_n; X | Z_1, \cdots, Z_{n-1})
$$&lt;h5 id="192-归一化互信息"&gt;1.9.2 归一化互信息&lt;/h5&gt;
&lt;p&gt;当分母非零时，我们可以定义一个介于 $0$ 和 $1$ 之间的归一化相关性度量
&lt;/p&gt;
$$
\text{NMI}(X,Y)=\frac{\mathbb{I}(X;Y)}{\text{min}(\mathbb{H}(X),\mathbb{H}(Y))}
$$&lt;h5 id="193-最大信息系数"&gt;1.9.3 最大信息系数&lt;/h5&gt;
&lt;p&gt;是一种用于衡量两个变量之间相关性的统计量，可以用于发现线性关系以及多种非线性关系。&lt;/p&gt;
&lt;p&gt;MIC 的基本思想是：&lt;strong&gt;将二维样本空间划分成不同大小的网格，在各种网格划分中寻找能够产生最大互信息的划分，并对互信息进行归一化。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;对于数据集 $D$，给定一个 $x\times y$ 的网格，定义&lt;/p&gt;
$$
M(D)_{x,y}=\frac{\max_{G\in\mathcal{G}_{x,y}} I(D|G)}{\log \min{\{x,y\}}}
$$&lt;p&gt;其中，$\mathcal{G}_{x,y}$ 表示所有可能的 $x\times y$ 网格划分，$I(D|G)$ 表示数据 $D$ 在网格 $G$ 下离散化后得到的互信息。&lt;/p&gt;
&lt;p&gt;分母&lt;/p&gt;
$$
\log \min{\{x,y\}}
$$&lt;p&gt;
用于对互信息进行归一化，因为对于一个 $x\times y$ 的网格，
&lt;/p&gt;
$$
I(X;Y) \le \min{H(X),H(Y)}\le \log \min\{{x,y\}}
$$&lt;p&gt;因此 $M(D)_{x,y}$ 可以理解为：&lt;strong&gt;当前网格能够捕获的信息量占该网格理论最大信息量的比例。&lt;/strong&gt;
最后，在所有满足复杂度约束的网格中取最大值：
&lt;/p&gt;
$$
\operatorname{MIC}(D)=\max_{xy&lt;B(n)}M(D)_{x,y}.
$$&lt;p&gt;
其中 $n$ 为样本数量，$B(n)$ 用于限制网格复杂度，防止网格划分过细而产生过拟合。
因此，MIC 可以简单理解为&lt;strong&gt;不同网格划分下的最大归一化互信息&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;MIC 的取值通常位于 $0$ 到 $1$ 之间。MIC 越接近 $1$，说明两个变量之间存在越强的依赖关系；越接近 $0$，说明能够检测到的依赖关系越弱。&lt;/p&gt;
&lt;h5 id="194-数据处理不等式"&gt;1.9.4 数据处理不等式&lt;/h5&gt;
&lt;p&gt;假设有一个位置变量 $X$，我们观察到该未知变量的一个噪声函数，称之为 $Y$ 。如果我们以某种方式处理有噪声的观测结果，以创建一个新的变量 $Z$ ，那么显然，我们无法增加关于未知变量 $X$ 的信息量，这个就被成为数据处理不等式
形式化表达：
假设 $X\rightarrow Y\rightarrow Z$ 形成一个马尔可夫链，那么在给定 $Y$ 的条件下 $X$ 、$Z$ 相互独立，则$\mathbb{I}(X;Y)\ge\mathbb{I}(X;Z)$ 。
证明：由于互信息的链式法则，我们可以使用两种不同的方式扩展互信息
&lt;/p&gt;
$$
\mathbb{I}(X;Y,Z)=\mathbb{I}(X;Z)+\mathbb{I}(X;Y|Z)=\mathbb{I}(X;Y)+\mathbb{I}(X;Z|Y)
$$&lt;p&gt;
由于在给定 $Y$ 的条件下 $X$ 、$Z$ 相互独立，因此 $\mathbb{I}(X;Z|Y)=0$，于是
&lt;/p&gt;
$$
\mathbb{I}(X;Z)+\mathbb{I}(X;Y|Z)=\mathbb{I}(X;Y)
$$&lt;p&gt;
由于 $\mathbb{I}(X;Y|Z)\ge0$ ,因此 $\mathbb{I}(X;Y)\ge\mathbb{I}(X;Z)$，同理可以证明 $\mathbb{I}(Y;Z)\ge\mathbb{I}(X;Z)$。&lt;/p&gt;
&lt;h5 id="195-充分统计量"&gt;1.9.5 充分统计量&lt;/h5&gt;
&lt;p&gt;从数据处理不等式中我们可以得到重要结论，假设 $\theta\rightarrow\mathcal{D}\rightarrow s(\mathcal{D})$，于是
&lt;/p&gt;
$$
\mathbb{I}(\theta;s(\mathcal{D}))\le\mathbb{I}(\theta;\mathcal{D})
$$&lt;p&gt;
若等式成立，那么我们称 $s(\mathcal{D})$ 是数据 $\mathcal{D}$ 用于推断 $\theta$ 的充分统计量，一个例子，$s(\mathcal{D}) =\mathcal{D}$，就是数据本身。
进而我们可以定义一个&lt;strong&gt;最小充分统计量&lt;/strong&gt;：如果对于所有充分统计量 $s'(\mathcal{D})$ ，存在某个函数 $f$ ，使得 $s(\mathcal{D})=f(s'(\mathcal{D}))$ ，那么我们称 s 是 D 的最小充分统计量&lt;/p&gt;</description></item><item><title>Welcome to My AI Research Blog: Multi-Agent Systems, Robotics and World Models</title><link>https://xht252.github.io/blog/welcome/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://xht252.github.io/blog/welcome/</guid><description>&lt;p&gt;Welcome to my personal website and blog.&lt;/p&gt;
&lt;p&gt;My name is &lt;strong&gt;Haotian Xue&lt;/strong&gt;. I am currently a graduate student in Software Engineering at Sichuan University, where I am exploring topics at the intersection of artificial intelligence, autonomous systems, robotics, and software engineering.&lt;/p&gt;
&lt;p&gt;I created this website as a place to organize my work, document what I learn, and share ideas that may be useful to other students, researchers, and developers.&lt;/p&gt;
&lt;h2 id="why-i-started-this-blog"&gt;Why I Started This Blog&lt;/h2&gt;
&lt;p&gt;Research and software development involve much more than presenting a final result. Behind every paper, experiment, or open-source project, there are usually many intermediate steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;understanding a new problem;&lt;/li&gt;
&lt;li&gt;reading papers and technical documentation;&lt;/li&gt;
&lt;li&gt;designing experiments;&lt;/li&gt;
&lt;li&gt;debugging code and environments;&lt;/li&gt;
&lt;li&gt;comparing alternative methods;&lt;/li&gt;
&lt;li&gt;recording failed attempts;&lt;/li&gt;
&lt;li&gt;and gradually refining an idea.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many of these details are valuable, but they are often scattered across notebooks, repositories, documents, and temporary files. This blog gives me a more structured place to preserve them.&lt;/p&gt;
&lt;p&gt;Writing also helps me examine whether I truly understand a topic. When an idea cannot be explained clearly, it often means that some part of the reasoning is still incomplete. For this reason, I hope this website will serve not only as a public portfolio, but also as a long-term record of my learning and research process.&lt;/p&gt;
&lt;h2 id="what-i-am-interested-in"&gt;What I Am Interested In&lt;/h2&gt;
&lt;p&gt;My current interests include several closely related areas.&lt;/p&gt;
&lt;h3 id="multi-agent-reinforcement-learning"&gt;Multi-Agent Reinforcement Learning&lt;/h3&gt;
&lt;p&gt;Multi-agent reinforcement learning studies how multiple decision-making agents learn to cooperate, compete, communicate, and coordinate in shared environments.&lt;/p&gt;
&lt;p&gt;I am especially interested in problems involving structured environments, decentralized decision-making, safety constraints, heterogeneous agents, and generalization to unseen scenarios.&lt;/p&gt;
&lt;p&gt;These problems appear in many real-world systems, including intelligent transportation, robotics, autonomous vehicles, and large-scale coordination.&lt;/p&gt;
&lt;h3 id="world-models"&gt;World Models&lt;/h3&gt;
&lt;p&gt;World models aim to learn compact representations of an environment and predict how that environment may evolve.&lt;/p&gt;
&lt;p&gt;A useful world model can help an intelligent agent reason about future states before taking an action. This creates opportunities for planning, imagination-based learning, sample-efficient reinforcement learning, and long-horizon decision-making.&lt;/p&gt;
&lt;p&gt;I am interested in how world models can be extended from single-agent settings to multi-agent and embodied systems.&lt;/p&gt;
&lt;h3 id="robotics-and-autonomous-systems"&gt;Robotics and Autonomous Systems&lt;/h3&gt;
&lt;p&gt;Robotics connects perception, planning, control, and interaction with the physical world.&lt;/p&gt;
&lt;p&gt;I am particularly interested in autonomous systems that must operate under uncertainty, respond to changing environments, and coordinate with other agents. This includes aerial robots, intelligent vehicles, and other embodied platforms.&lt;/p&gt;
&lt;h3 id="intelligent-transportation"&gt;Intelligent Transportation&lt;/h3&gt;
&lt;p&gt;Transportation systems naturally involve many interacting agents, shared resources, safety requirements, and complex operational constraints.&lt;/p&gt;
&lt;p&gt;I am interested in how learning-based methods can be combined with graph representations, domain knowledge, planning algorithms, and safety rules to improve coordination and decision-making in these systems.&lt;/p&gt;
&lt;h3 id="open-source-software"&gt;Open-Source Software&lt;/h3&gt;
&lt;p&gt;Open-source development is also an important part of my learning process.&lt;/p&gt;
&lt;p&gt;Implementing ideas, organizing code, reproducing experiments, and documenting software are essential skills for turning research concepts into usable systems. I plan to share development records, environment setup notes, debugging experiences, and lessons learned from my projects.&lt;/p&gt;
&lt;h2 id="what-i-will-share-here"&gt;What I Will Share Here&lt;/h2&gt;
&lt;p&gt;The content of this blog will mainly include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;research notes on artificial intelligence and reinforcement learning;&lt;/li&gt;
&lt;li&gt;paper reading notes and method explanations;&lt;/li&gt;
&lt;li&gt;technical tutorials and environment setup guides;&lt;/li&gt;
&lt;li&gt;experiment design and implementation records;&lt;/li&gt;
&lt;li&gt;project development summaries;&lt;/li&gt;
&lt;li&gt;debugging notes and solutions to practical problems;&lt;/li&gt;
&lt;li&gt;reflections on research, learning, and open-source development.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some posts will focus on theoretical ideas, while others will be more practical and code-oriented. I hope to keep the explanations clear and reproducible whenever possible.&lt;/p&gt;
&lt;h2 id="my-background"&gt;My Background&lt;/h2&gt;
&lt;p&gt;Before beginning my graduate study at Sichuan University, I completed a bachelor&amp;rsquo;s degree in Computer Science and Technology at the Civil Aviation University of China.&lt;/p&gt;
&lt;p&gt;My previous studies and projects involved software engineering, systems programming, computer networks, and open-source development. These experiences gradually led me toward artificial intelligence, autonomous systems, and multi-agent decision-making.&lt;/p&gt;
&lt;p&gt;I am still learning, and this website will evolve together with my research interests and technical experience.&lt;/p&gt;
&lt;h2 id="looking-ahead"&gt;Looking Ahead&lt;/h2&gt;
&lt;p&gt;This is the first post on the website, but it is not intended to remain only a simple welcome page.&lt;/p&gt;
&lt;p&gt;Over time, I hope the blog will become a searchable collection of useful research notes, technical explanations, project records, and lessons from both successful and unsuccessful experiments.&lt;/p&gt;
&lt;p&gt;You can also find my open-source work on
and some of my earlier technical writing on my
.&lt;/p&gt;
&lt;p&gt;Thank you for visiting.&lt;/p&gt;</description></item></channel></rss>