模式识别期末笔记
基于模式识别期末考纲第四个和第五个part,符号源于课程讲义,整理了关于混合模型分类(GMM),EM算法及其变分表示以及MM算法的相关笔记。
本次笔记主要关于K-Means 及其变分问题、熵不等式、Softmax/Softmin 函数、数值稳定化、以及泛函与方向导数等内容。
K-Means 算法的能量函数(目标函数)定义如下:
$$
E(\vec{U}, \vec{C})
= \sum_{x \in \Omega} \sum_{k=1}^{K} \bigl(f(x) - C_k\bigr)^2 U_k(x)
$$
其中:
然后定义
$$
\langle \overrightarrow{O}, \overrightarrow{u} \rangle = \sum_{x \in \Omega} \sum_{k=1}^{K} O_k(x) \cdot u_k(x)
$$
其中误差函数为:
$$
O_k(x) = \bigl(f(x) - C_k\bigr)^2
$$
该能量函数也可用内积的形式表示:
$$
E(\vec{U}, \vec{C}) = \langle \vec{O}, \vec{U} \rangle
$$
其中 $\vec{O}$ 为一个误差向量。
K-Means 算法通过两步交替迭代来最小化能量函数 $E(\vec{U}, \vec{C})$:
更新归属矩阵 $\vec{U}^{t+1}$:
$$
\vec{U}^{t+1} = \arg \min_{\vec{U}} E(\vec{U}, \vec{C}^t)
$$
具体到每个样本点 $x$ 的更新规则为:
$$ U_k^{t+1}(x)= \begin{cases} 1, & \text{if} k = \arg \min_{k \in \{1, \dots, K\}} (f(x) - C_k^t)^2 \\ 0, & \text{otherwise} \end{cases} $$即将每个数据点分配给距离其最近的簇中心。
更新聚类中心 $\vec{C}^{t+1}$:
$$
\vec{C}^{t+1} = \arg \min_{\vec{C}} E\bigl(\vec{U}^{t+1}, \vec{C}\bigr)
$$
即对每个簇的样本求均值,作为新的聚类中心。
定义误差函数:
$$
O_k(x) = \bigl(f(x) - C_k\bigr)^2
$$
令
$$
\vec{O}(x) = \bigl(O_1(x), O_2(x), \dots, O_K(x)\bigr)^\mathsf{T},
$$
则 $\vec{O}$ 是一个向量值函数,映射
$$
\vec{O}: \Omega \subseteq \mathbb{R}^2 \to \mathbb{R}^K.
$$
我们希望最小化下述能量函数:
$$
\min_{\vec{U}, \vec{C}} E(\vec{U}, \vec{C})
$$
其中 $\vec{U}$ 为归属矩阵,$\vec{C}$ 为聚类中心。
除硬划分之外,还可使用许多优化或正则化技巧,例如引入软分类思想(softmax / softmin)的方法。
在分析 K-Means 变分问题时,引入熵的一条不等式,用于约束归属矩阵的对数项:
$$
-\ln K
\le \langle \vec{U}, \ln \vec{U} \rangle
\le 0
$$
其中:
该不等式可以用 Jensen 不等式等方法证明。等号成立的两种情况为:
这里给出熵不等式:
$$
-\ln K
\leq \langle \vec{U}, \ln \vec{U} \rangle
\leq 0
$$
的推导思路详述如下:
函数 $f(u) = -\ln u$ 的一阶导数和二阶导数分别为:
$$
f’(u) = -\frac{1}{u},
\quad
f’’(u) = \frac{1}{u^2} > 0 \quad (u>0)
$$
由于 $f’’(u) > 0$,可知 $f(u)$ 是凸函数。
令 $g(u) = -u \ln u$,求其极限:
$$
\lim_{u\to0^+} u \ln u = \lim_{u\to0^+} \frac{\ln u}{1/u}
$$
利用洛必达法则,分子求导得$1/u$,分母求导得 $-1/u^2$,因此:
$$
\lim_{u\to0^+} \frac{\ln u}{1/u} = \lim_{u\to0^+} \frac{1/u}{-1/u^2} = \lim_{u\to0^+} -u = 0
$$
所以:
$$
\lim_{u\to0^+} u \ln u = 0.
$$
这表明当 $u \to 0$ 时,$u \ln u$ 趋于 0。
由于 $f(x)=-\ln x$ 是凸函数,因此对于满足 $\sum_{k=1}^{K} \alpha_k = 1$ 且 $ 0 \leq \alpha_k \leq 1$ 的权重 $\alpha_{k} $ ,有:
$$
\left( \sum_{k=1}^{K} \alpha_k x_k \right) \leq \sum_{k=1}^{K} \alpha_k f(x_k)
$$
取 $\alpha_k = U_k$,$x_k = \frac{1}{U_k}$,则:
$$
-ln \left( \sum_{k=1}^{K} U_k \cdot \frac{1}{U_k} \right) \leq \sum_{k=1}^{K} U_k (-\ln \frac{1}{U_k})
$$
由于 $\sum_{k=1}^{K} U_k = 1$,所以:
$$
-ln K \leq \sum_{k=1}^{K} U_k \ln U_k \leq 0
$$
即
$$
ln K \geq -\langle \vec{U}, \ln \vec{U} \rangle
$$
该不等式用于限制聚类的过度集中,即防止所有数据点都归属于同一簇。同时,它也鼓励一定程度的分散度,使簇划分更加均匀,从而优化聚类效果。
在传统 K-Means 的能量函数 $E(\vec{U}, \vec{C})$ 基础上,引入一项基于熵的正则化:
$$
\min_{\vec{u}\in U}
\Bigl[
E(\vec{u}, \vec{C})
+\varepsilon \langle \vec{u}, \ln \vec{u}\rangle
\Bigr]
$$
其中 $\varepsilon > 0$ 为权衡系数(正则化参数)。当 $\varepsilon \to 0$ 时,该模型接近传统 K-Means 硬分类;当 $\varepsilon$ 较大时,模型更倾向于软聚类。
更新过程:
这里的熵项
$$
H(\vec{u})
= - \sum_{k=1}^{K} \sum_{x\in \Omega} u_k(x)\ln u_k(x)
$$
作为“软化”或正则化手段,避免完全的 0-1 硬分类。
熵项 $H(\vec{u})$ 可重写为
$$
-H(\vec{u}) = \langle \vec{u}, \ln \vec{u} \rangle.
$$
对于目标函数 $E(\vec{u}, \vec{C}) - \varepsilon H(\vec{u})$,计算其关于 $u_k$ 的偏导数:
设 $E(\vec{u}, \vec{C})$ 关于 $u_k$ 的偏导数为:
$$
\frac{\delta E}{\delta u_k} = O_k
$$
对于熵项:
$$
\frac{\delta (-H)}{\delta u_k} = \ln u_k + 1
$$
结合上述结果,求解极值条件:
$$
O_k - \varepsilon (\ln u_k + 1) = 0
$$
化简得:
$$
u_k = \exp\left(-\frac{O_k}{\varepsilon} - 1\right)
$$
这表明更新 $u_k$ 时,其值受 $\varepsilon$ 控制,较大的 $\varepsilon$ 使得 $u_k$ 更加平滑,有助于软聚类。
定义拉格朗日函数:
$$
\mathcal{L}(\vec{u}, \lambda)
= E(\vec{u}, \vec{c})
-\varepsilon H(\vec{u})+\sum_{x \in \Omega} \lambda(x)
\Bigl(
\sum_{k=1}^{K} u_k(x)-1
\Bigr)
$$
其中:
对 $\mathcal{L}(\vec{u}, \lambda)$ 关于 $u_k$ 取偏导为 0,可得到:
$$
\ln u_k(x)= -\frac{O_k(x) +\lambda(x)}{\varepsilon}
$$
其中 $O_k$ 是某类损失(例如 $(f(x)-C_k)^2$ )或能量。
结合约束 $\sum_{k=1}^K u_k(x)=1$,可得Softmin形式:
$$
u_k^{t+1}(x)= \frac{\exp\Bigl(\dfrac{-O_k(x)}{\varepsilon}\Bigr)}{\sum_{j=1}^{K} \exp\Bigl(\dfrac{-O_j(x)}{\varepsilon}\Bigr)}
$$
也可写成softmax形式:
$$ \text{Softmax}_{\varepsilon}(-\vec{O}) = \left[\text{Softmin}_{\varepsilon}(\vec{O})\right]_k $$当不考虑熵正则化时,k-means 的硬分类可写为:
$$
u_k^{t+1}(x) =
\begin{cases}
1, & \text{if } k = \arg \min_{k \in {1, \dots, K}} O_k, \
0, & \text{otherwise}.
\end{cases}
$$
考虑
$$ \lim_{\varepsilon \to 0^+} \frac{\exp\bigl(-O_k(x)/\varepsilon\bigr)}{\sum_{j=1}^K \exp\bigl(-O_j(x)/\varepsilon\bigr)} =\lim_{\varepsilon \to 0^+}\frac{\exp\bigl(-O_k(x)+m(x)/\varepsilon\bigr)}{\sum_{j\in M} \exp\bigl(-O_j(x)+m(x)/\varepsilon\bigr)+\sum_{j\notin M} \exp\bigl(-O_j(x)+m(x)/\varepsilon\bigr)} $$令 $m = \min \bigl\{ O_1(x), O_2(x), \dots, O_K(x) \bigr\}, \quad M = \arg\min_{k \in \bigl\{ 1, \dots, K \bigr\}} O_k(x)$。
当 $\varepsilon \to 0^+$,对于属于最优集 $M$ 的索引 $k$,$\exp(-O_k/\varepsilon)$ 主导;而不是最优集的 $\exp(-O_k/\varepsilon)$ 迅速衰减为 0。因此极限结果为:
通过在 k-means 能量函数中加入熵项并令 $\varepsilon>0$,可以将硬分类变为软分类,使其输出变得连续可导。
Softmax 标准形式:
$$ \text{Softmax}\bigl(\vec{O}\bigr)_k = \frac{e^{O_k}}{\sum_{j=1}^K e^{O_j}}. $$若 $O_k$ 值过大,$e^{O_k}$ 可能数值溢出。
解决方案:数值稳定化
取 $\displaystyle M = \max\{O_1, O_2, \dots, O_K\}$ ,将所有项减去 $M$:
这样可防止溢出,保持结果不变。
在更高层次,令
$$ J: \mathcal{F} \to \mathbb{R} $$是作用于函数空间 $\mathcal{F}$ 的一个泛函(functional)。对于 $u(x)$ 的变化,可以定义方向导数:
$$ \lim_{h \to 0} \frac{J\bigl(x + hv\bigr) - J(x)}{h} = \left. \frac{d}{dh} J\bigl(x + hv\bigr) \right|_{h=0} $$方向导数与梯度存在对应关系:若把 $\nabla J=(\tfrac{\delta J}{\delta x_1},\tfrac{\delta J}{\delta x_2} \cdot \cdot \cdot \tfrac{\delta J}{\delta x_n})$ 类比于有限维中的梯度,则方向导数可理解为梯度在 $v$ 方向的投影。
对 $J(U_k)$ 做微分:
$$ \langle \tfrac{\delta J}{\delta U_k}, V_k \rangle = \left. \tfrac{d}{dh} J\bigl(U_k + hV_k\bigr) \right|_{h=0}. $$例如,若
$$ J(U_k) = \sum_{x\in \Omega} O_k(x)\ln U_k(x), $$则
$$ J(U_k + hV_k) = \sum_{x\in \Omega} O_k(x)\ln\bigl(U_k(x) + hV_k(x)\bigr) $$对其在 $h=0$ 处求导,可得到对应的偏导,从而确定梯度形式。
K-Means 算法
K-Means 的变分扩展
熵不等式与数值稳定
泛函与方向导数
I am honored to be the co-first author of this paper, and my main contrbution are data extraction and visualization.
Based on the 2019-2024 scoping review of 95 peer-reviewed articles, this study mapped the landscape of large language models (LLMs) applications in mental health across three key domains. The analysis revealed that LLMs are predominantly utilized for screening and detection of mental disorders (71%), with particular emphasis on depression detection (35%) and suicide risk prediction (13%). Additionally, LLMs demonstrate significant potential in supporting clinical treatments (33%) and facilitating mental health counseling and education (12%). Comparative assessments indicate that LLMs exhibit superior capabilities in information processing and natural language response generation relative to traditional non-transformer models and human performance in specific contexts. The research identified distinct advantages among different LLM architectures for various mental health applications, highlighting their promising role in addressing critical challenges in global mental healthcare, including detection efficiency, treatment effectiveness, privacy protection, and access to specialized care. These findings provide essential scientific evidence for the development and implementation of LLM-enhanced mental health interventions, which may significantly improve early detection rates and expand access to mental healthcare resources.
Word2Vec 是一种用于将单词映射到向量空间的技术,通过训练语料库来学习单词的语义关系。核心思想是将单词转换为一个高维向量,使得语义相近的单词在向量空间中距离较近。
在黑板上的示例中,展示了单词如何通过 Word2Vec 进行向量化,并且最终映射到一个 n 维向量空间中。
K-Means 是一种常见的无监督学习算法,主要用于数据聚类。其基本思想是:
定义样本 $f$ 归属于最接近的簇:
$$
U_k^* =
\begin{cases}
1, & f \in S_k \
0, & \text{otherwise}
\end{cases}
$$
其中,样本 $f$ 的归属取决于其与聚类中心 $C_k$ 的欧式距离:
$$
| f - C_k |^2
$$
因此,每个样本都会归属于离它最近的簇。
这两者结合在自然语言处理 (NLP) 中可用于 文本分类、聚类分析 等任务。例如,先用 Word2Vec 将文本转换为向量,然后使用 K-Means 进行文本聚类。
在 K-Means 聚类算法中,我们使用独热编码(One-Hot Encoding)来表示样本所属的类别:
若样本 $f$ 属于第 $k$ 个簇,则其独热编码表示为
$$
\mathbf{U}^* = (0, 0, \dots, 1, \dots, 0)
$$
其中只有第 $k$ 维的值为 1,其余维度为 0。
例如:
在 K-Means 算法中,我们的目标是最小化样本点到其分配的聚类中心的距离平方和:
$$
\mathbf{U}^* = \arg\min_{\mathbf{U} \in \mathcal{U}} \sum_{k=1}^{K}U_k (f - C_k)^2
$$
其中:
表示每个样本点只能属于一个簇。
对于任意样本 $f$ 和聚类中心 $C_1, C_2, \dots, C_K$,定义:
$$ U_k^* = \begin{cases} 1, & k = \arg\min\limits_{R=1,2,\dots,K} (f - C_R)^2 \\ 0, & \text{else} \end{cases} $$即,样本 $f$ 应该被分配到使得 $(f - C_k)^2$(最小值唯一) 最小的簇 $C_k$。
定义
$$
m = \min_{k \in {1,2,\dots,K}} {(f - C_k)^2}
$$
由于 $U_k$ 是独热编码,所有可能的 $U_k$ 满足
$$
\sum_{k=1}^{K} U_k = 1
$$
目标函数展开:
$$
\sum_{k=1}^{K} U_k (f - C_k)^2 \geq\ \sum_{k=1}^{K} U_k \cdot m
$$
由于 $\sum_{k=1}^{K} U_k = 1,$ 代入可得:
$$
\sum_{k=1}^{K} U_k (f - C_k)^2 \geq m
$$
取 $U_k^*$ 使得 $k$ 取最小距离的索引,则:
$$
\sum_{k=1}^{K} U_k^* (f - C_k)^2 = m.
$$
这说明只有当 $U_k^$ 取最优独热编码时,目标函数才能取到最小值 $m$ ,从而证明了 $U_k^$ 具有唯一最优解。
这一定理是 K-Means 算法的核心之一,保证了算法在每一步迭代中都能使目标函数收敛到一个局部最优解。
–
在离散情况下,我们用有限个样本点 $f$ 进行聚类,而在连续情况下,需要对整个定义域 $\Omega$ 进行考虑。
设函数 $f: \Omega \to \mathbb{R}$,其中 $\Omega$ 是定义域,$f(x)$ 是定义在 $\Omega$ 上的连续函数。
目标是在整个 $\Omega$ 上最小化聚类误差:
$$
\min_{\mathbf{U}(x) \in \mathcal{U}} \sum_{x \in \Omega} \sum_{k=1}^{K} U_k(x) (f(x) - C_k)^2
$$
其中:
为了保证每个点 $x$ 仅归属于一个聚类簇,引入约束:
$$ \mathcal{U} = \left\{ \mathbf{U}(x) = (U_1(x), U_2(x), \dots, U_K(x)) \,\middle|\, \sum_{k=1}^{K} U_k(x) = 1, \quad 0 \leq U_k(x) \leq 1, \quad \forall x \in \Omega \right\} $$这意味着:
从黑板上的示意图可以看出:
K-Means 算法的目标是最小化聚类误差 $E(\mathbf{U}, \mathbf{C})$,即样本点到其聚类中心的平方误差和。它采用 迭代优化 的方式,在每次迭代中交替更新 簇分配 和 聚类中心,直到收敛。
聚类中心向量:
$$
\mathbf{C} = (C_1, C_2, \dots, C_K)^T.
$$
K-Means 的优化目标:
$$
\min_{\mathbf{U} \in \mathcal{U}, \mathbf{C}} E(\mathbf{U}, \mathbf{C}).
$$
$$
\mathbf{U}^{t+1} = \arg\min_{\mathbf{U} \in \mathcal{U}} E(\mathbf{U}, \mathbf{C}^t).
$$
其中,$U_k^{t+1}(x)$ 按照最近邻准则更新:
$$ U_k^{t+1}(x) = \begin{cases} 1, & k = \arg\min\limits_{\,k' \in \{1,2,\dots,K\}} \bigl(f(x) - C_{k'}^t\bigr)^2 \\ 0, & \text{otherwise} \end{cases} $$即,将样本 $x$ 归到当前最近的聚类中心 $C_k^t$。
$$
\mathbf{C}^{t+1} = \arg\min_{\mathbf{C}} E(\mathbf{U}^{t+1}, \mathbf{C}).
$$
聚类中心的更新公式:
$$
C_k = \frac{\sum\limits_{x \in \Omega} U_k^{t+1}(x) , f(x)}{|\Omega_k|},
$$
其中:
以下演示 Step 2(更新聚类中心)中,如何对目标函数关于聚类中心 $C_k$ 求导并得到更新公式。为简化,只对离散情形展示,连续情形可将求和替换为积分,思路相同。
K-Means 的目标函数(离散情形):
$$
E(\mathbf{U}, \mathbf{C})
= \sum_{k=1}^{K} \sum_{x \in \Omega} U_k(x)\bigl(f(x) - C_k\bigr)^2
$$
我们先单独关注属于簇 $k$ 的部分:
$$
E_k(\mathbf{U}, C_k)
= \sum_{x \in \Omega} U_k(x)\bigl(f(x) - C_k\bigr)^2
$$
在更新 $C_k$ 时,$U_k(x)$ 固定,只需对 $C_k$ 进行最优化。
令
$$
E_k(\mathbf{U}, C_k)
= \sum_{x \in \Omega} U_k(x)\bigl(f(x) - C_k\bigr)^2
$$
对 $C_k$ 求导并令其为 0:
$$
\frac{\partial}{\partial C_k} E_k(\mathbf{U}, C_k)
= \sum_{x \in \Omega} 2 U_k(x) \bigl(C_k - f(x)\bigr).
$$
令其为 0,可得:
$$
\sum_{x \in \Omega} U_k(x)\bigl(C_k - f(x)\bigr) = 0
$$
整理可得:
$$
C_k \sum_{x \in \Omega} U_k(x)
= \sum_{x \in \Omega} U_k(x)f(x)
$$
若分母不为 0(该簇有样本),则
$$
C_k = \frac{\sum\limits_{x \in \Omega} U_k(x) f(x)}{\sum\limits_{x \in \Omega} U_k(x)}
$$
这就是 K-Means 中聚类中心的更新公式。在常见的离散数据立场下,上式意味着“该簇内所有样本特征的加权平均值”,权值由 $U_k(x)$ 决定。
若 $U_k(x)$ 只取 0 或 1(硬划分),则退化为简单的算术平均。
注:
在连续情况下,将“求和”换为对 $\Omega$ 的积分即可:
$$C_k = \frac{\int_{\Omega} U_k(x)f(x)\mathrm{d}x}{\int_{\Omega} U_k(x)\mathrm{d}x}$$
当 $U_k(x)$ 只取 0 或 1,即标准 K-Means,公式变为簇内样本的算术平均。
以下笔记基于课堂板书,展示 K-Means 迭代过程中目标函数(也称“能量”或“误差”)如何在每一步都单调下降(或不增),从而收敛到局部最优解。
定理:
由 K-Means 算法产生的迭代序列 $(\mathbf{u}^{(t)}, \mathbf{c}^{(t)})$ 满足$$
E\bigl(\mathbf{u}^{(t+1)}, \mathbf{c}^{(t+1)}\bigr)
\le
E\bigl(\mathbf{u}^{(t)}, \mathbf{c}^{(t)}\bigr),
$$即每次迭代更新后,目标函数 $E(\cdot)$ 不会增大,从而保证了算法的单调收敛性。
离散情形下的 K-Means 目标函数:
$$
E\bigl(\mathbf{u}, \mathbf{c}\bigr)
= \sum_{k=1}^{K} \sum_{x \in \Omega}
U_k(x)\bigl(f(x) - C_k\bigr)^2
$$
Step 1:更新 $\mathbf{u}^{(t+1)}$
固定 $\mathbf{c}^{(t)}$,令
$$
\mathbf{u}^{(t+1)}
= \arg\min_{\mathbf{u} \in \mathcal{U}}
E\bigl(\mathbf{u}, \mathbf{c}^{(t)}\bigr)
$$
由于独热编码的性质,每个样本 $x$ 归于距离最近的中心 $C_k^{(t)}$。
这样得到
$$
E\bigl(\mathbf{u}^{(t+1)}, \mathbf{c}^{(t)}\bigr)
\le
E\bigl(\mathbf{u}^{(t)}, \mathbf{c}^{(t)}\bigr)
$$
Step 2:更新 $\mathbf{c}^{(t+1)}$
固定 $\mathbf{u}^{(t+1)}$,令
$$
\mathbf{c}^{(t+1)}
= \arg\min_{\mathbf{c}}
E\bigl(\mathbf{u}^{(t+1)}, \mathbf{c}\bigr).
$$
对每个 $C_k$ 求导并令其为 0,得到聚类中心是该簇内样本的加权平均。于是
$$
E\bigl(\mathbf{u}^{(t+1)}, \mathbf{c}^{(t+1)}\bigr)
\le
E\bigl(\mathbf{u}^{(t+1)}, \mathbf{c}^{(t)}\bigr)
$$
上两步结合,可得:
$$
E\bigl(\mathbf{u}^{(t+1)}, \mathbf{c}^{(t+1)}\bigr)
\le
E\bigl(\mathbf{u}^{(t)}, \mathbf{c}^{(t)}\bigr)
$$
这说明每一轮迭代后,目标函数都会朝着不增的方向变化,从而收敛到某个局部最优或鞍点。
这便是 K-Means 能量单调下降 的主要证明思路,也是该算法能保证在有限步内收敛的关键原因。
I am honored to be the co-first author of this paper, and my main for data processing, data analysis, visualization, and paper writing.
Based on the 2016-2020 China Family Tracking Survey (CFPS) data, the study analyzed 1,772 adolescents and their parents over a four-year period, and for the first time systematically revealed the bidirectional mechanism of family conflict and adolescent depressive symptoms and the intergenerational transmission pathway. The study found that: (1) family conflict significantly exacerbates adolescent depression, and adolescent depression will in turn aggravate family conflict, forming a vicious cycle; (2) mothers’ depression has a particularly prominent impact on adolescent mental health, and adolescent depression may further trigger fathers’ depression; (3) mothers’ education level is an important protective factor against adolescent depression, and mothers with high levels of education can significantly reduce the risk of their children’s depression. risk. These findings provide key scientific support for the development of family-centered mental health intervention strategies, which are important for breaking the intergenerational transmission of depression and improving family functioning.