从潜在变量到概率预测:深入理解逻辑斯蒂与Softmax函数
编辑在监督学习的广阔领域中,我们主要面对两类核心问题:回归问题和分类问题。回归问题旨在预测连续的数值输出,例如房价或温度;而分类问题则致力于预测离散的类别标签,例如识别图片中的物体是猫还是狗。
回归问题的建模通常可以直接采用基于线性关系的概率模型,即输出值围绕真实值上下波动,这种波动可以由加性噪声来表述。然而,对于分类问题,尽管也存在类似的“噪声”概念,但其表现形式和处理方式有所不同。由于分类问题的预测值是离散的,从连续的特征空间到离散的类别标签之间存在一个固有的“鸿沟”,因此不能直接沿用回归的建模方式,而是需要额外引入一层“包装”来桥接这个差距。
分类问题的本质:潜在变量与决策边界
寻找特征到类别的最佳映射
分类问题中,目标是找到输入特征\mathcal{X}到类别\mathcal{Y}的最佳映射:
其中\pmb \theta = [\theta_1, \cdots, \theta_n]^\top是决定映射f的参数。
揭秘分类背后的连续性:潜在连续变量假设
在分类问题中,有一个关键假设,叫做潜在的连续变量假设(Latent Continuous Variables Assumption),其指的是:假设存在一个无法直接被观测到的连续变量L,其反映的是给定输入特征后,其隶属于某一类别的倾向性/得分/置信度。若令g(\pmb x)为真实的置信度,则随机变量置信度L围绕真实的置信度上下波动,即存在噪声Z,有下式
成立,其中噪声Z服从均值为0,方差为\sigma^2的某一分布以确保潜在得分的期望是无偏的。对于多分类问题,这一概念可以自然地扩展:将L扩展为多个潜在得分值,相应的函数g和噪声Z也向量化即可。
若采用判别式模型,可以使用f_{\pmb \theta}(\pmb x)来近似真实映射g(\pmb x),此时f_{\pmb \theta}(x)成为 L 的期望:
这意味着f_{\pmb \theta}(\pmb x)是g(\pmb x)的无偏估计。基于此,我们可以进一步构建条件概率分布,例如:
从连续得分到离散决策:决策边界的作用
尽管通过潜在连续变量假设,我们得到了一个连续的得分值或置信度L,但它并非最终的类别标签。因此,我们需要一个决策映射将这个连续的置信度转换(或“判决”)为离散的类别标签。
这一问题可以从二分类的决策边界入手,再拓展到多分类问题,体现了“减而治之”的思想。对于二分类问题,通常存在一个决策边界(Decision Boundary)或阈值(Thresholding)。通过决策函数,潜在连续变量 L 被映射到离散的类别值上,例如:
其中c是一个预设的阈值。
阶段性总结:离散标签的连续根源
通过对潜在连续变量假设和决策边界的阐述,可以清晰地看到:虽然最终观察到的是离散类型的类别标签(如0或1),但其背后是由一个连续的潜在得分或置信度,经过特定的判决规则(如阈值比较)转换而来的。这种连续性是连接输入特征与离散输出的关键桥梁。
Logistic 函数的推导:三种视角
推导一:基于潜在变量与误差分布
判别式模型(Discriminative Model)旨在直接建模输入特征与预测值之间的关系,它不直接关心数据本身的生成过程。若其为确定性模型(Determinant Model),则其可以表示为:
但对于分类这种存在不确定性的问题,我们更倾向于采用概率模型,即建模条件概率分布P_{\pmb \theta}(Y|X),其表示的含义是:它表示在已知输入特征\pmb x,其预测值Y的概率分布是什么。
根据我们之前建立的潜在连续变量假设和决策函数,有:
令v = c - f_{\pmb \theta}(x),进而类别条件分布函数P_{\pmb \theta}(Y = 1|x)可以表述为下式:
其中F_z(v)是噪声Z的累积分布函数(Cumulative Distribution Function,CDF)。
为了得到 Sigmoid 函数形式的后验概率,我们做出一个关键的分布假设:假设噪声Z服从一个对称的概率分布。逻辑斯蒂分布的均值为0,其累积分布函数(CDF)是光滑且严格单调递增的,并且恰好就是 Sigmoid 函数的形式:
其中 s 是尺度参数。采用f_{\pmb \theta}(x)近似真实模型g(x),则可假设函数f_{\pmb \theta}(x)是线性函数,即满足下式:
其中w_1, w_2可由\theta_1, \theta_2表示,则有:
令
则类别条件分布函数P_{\pmb \theta}(Y = 1|x)可以表述为下式:
即逻辑斯蒂函数,也称sigmoid函数。
推导二:从生成式模型视角看 Logistic 函数
除了上述基于潜在变量和误差分布的推导,Logistic 函数也可以从生成式模型的角度自然地“涌现”。这种方法假设我们对数据本身的生成过程有一定了解。
对于二分类问题,其可以视为0-1分布,其参数p可以被定义为后验概率:
假设各类别的输入特征分别服从具有相同方差的正态分布:
根据贝叶斯公式,在给定输入特征x时的后验概率可以表述为:
其先验概率P(Y = 1)和P(Y = 0)可以从观测数据集\mathcal{D}中学习到,进而可以对上式进行化简,有:
对于该式中分母的复杂项进行展开,有:
其中
进而后验概率可以化简为:
这同样导出了逻辑斯蒂函数的形式。
推导三:启发式方法构建 Logistic 函数
除了基于特定概率分布的推导,我们也可以从更直观的启发式视角直接建模类别条件概率分布函数 P(Y∣X)。由于仿射函数(线性函数)简单、可解释性强且具有良好的性质(如光滑),本节的目标是将条件概率与仿射函数关联起来。
在二分类问题中,假设仿射函数f由参数\pmb \theta = [\theta_1, \theta_2]^\top决定,其形式可以表示为:
其取值范围是整个实数集\mathbb{R}。因此,条件概率分布的取值范围是[0, 1]。因此,我们需要找到一个合适的映射,将\mathbb{R}映射到[0, 1]。
考虑几率(odds):
其取值范围是[0, +\infty)。其虽然扩展到了非负实数空间\mathbb{R}_+,但是仍未充满整个实数空间。现在的目标是找到一个取值范围在[0, +\infty)的函数,该函数是单调、光滑,且其值域能够充满整个实数空间\mathbb R,一个满足这些性质的函数自然而然的浮现出来:对数函数\ln x。
对几率取对数,我们得到对数几率(log-odds):
经过这样处理,即将类别条件概率分布与仿射函数关联起来。下面做一些化简,反解出P(Y = 1|X):
这最终得到了逻辑斯蒂函数的形式。
阶段性总结:Logit与对数几率的直观解释
将线性得分称为对数几率(Log-Odds),也被称作Logit。也就是说,两者其实指的一回事儿。通常将一个事件发生与不发生的比率称为发生几率(简称几率,Odds),也称胜算,是一种相对概率。假设一个事件(event)发生的概率为p,则不发生的概率是1- p,则几率可以表述为下式:
几率的取值范围是[0, +\infty),使用对数函数\ln(\cdot)将其取值范围扩展到\mathbb R上,记:
为对数几率。由于\ln(\cdot)函数是光滑且严格单调递增的函数,则有事件发生的概率p越大,其发生的对数几率\operatorname{logit}(p)也就越大,但需要注意的是,这种关系是非线性的,两者并非简单地成正比(即两个变量之间不一定是常数倍的关系)。
Logistic函数中的参数\pmb \theta的几何解释
在 Logistic 函数中,其参数\pmb \theta具有直观的几何意义。我们以常见的形式为例:
其中\pmb x = [1, x_1, \cdots, x_{n - 1}]是增广后的输入特征向量,\pmb \theta = [\theta_0, \cdots, \theta_{n - 1}]^\top是模型的权重向量(包含偏置项\theta_0)。
在 Logistic 函数中,变量z= \pmb \theta^\top \pmb x实际上是一个线性得分(或称对数几率)。它的值是一个标量,表示了输入特征\pmb x经过线性变换后的结果。
根据解析几何中的知识,满足形如\pmb a^\top \pmb v = C其中(C是常数)的点的集合,构成了一个超平面。在这里,权重向量\pmb \theta 正是这个超平面的法向量。因此,当线性得分z取一个固定值z_0时,方程:
定义了\mathbb R^n空间中的一个超平面。这意味着变量z = \pmb \theta^\top \pmb x的等值面(所有使得z取相同值的点\pmb x构成的集合)是超平面。
在二分类问题中,\mu(\pmb x)表示的是类别Y=1的后验概率P(Y = 1|\pmb x),根据决策边界,当\mu(\pmb x) > 0.5时,将其分类为Y=1的类别;当\mu(\pmb x) < 0.5时,将其分类为Y = 0的类别。因此,\mu(\pmb x) = 0.5时为分类边界。
当\mu(\pmb x) = 0.5时,可以推导出:
因此,决策边界正是由线性方程\pmb \theta^\top \pmb x = 0所定义的超平面。
权重向量 θ(除了增广向量中的偏置项θ_0外的部分)是决策超平面的法向量,垂直于分类边界。它的方向指示着被预测为正类概率(即P(Y = 1|\pmb x))增大的方向。其模长\|\pmb \theta\|越大,概率曲线在决策边界附近的变化越陡峭,表示模型对分类的“信心”越强。 偏置项 \pmb \theta_0 决定了决策超平面在特征空间中的位置,控制着超平面与原点的距离,从而调整了分类边界的整体偏移。
Softmax函数:多分类概率的优雅表达
softmax(软最大值 ) 这一命名源于该函数是对\mathop{\arg\max}函数的一种平滑近似。例如,对于向量 (1, 2, 6) ,其 softmax 输出约为 (0.007, 0.018, 0.976),这使得几乎所有的单位权重都集中在了该向量的最大元素上。
许多实际问题不局限于二分类,可能会有多种类别(例如,识别手写数字0-9),这类问题称为多分类问题。那么,如何建模多分类问题的类别条件概率分布函数P(Y = k|X; \pmb \theta)呢?
从生成式模型视角看Softmax函数
给定类别总数量为K的多分类问题,令k \in \{1, 2, \cdots, K\}为类别索引,假设给定类别的输入特征的分布为同协方差\Sigma的多元高斯分布:
则后验概率分布:
其中\pmb \mu_k, \Sigma为参数,\pmb x \in \mathbb R^d。利用对数函数的性质简化乘除法运算,有下式:
我们首先分别对等号右边的第一个式子进行化简,即:
展开二次项(\pmb x- \pmb \mu_k)^\top \Sigma^{-1}(\pmb x - \pmb \mu_k):
将此结果代回\ln[P(\pmb x|Y = k)P(Y = k)]的表达式中:
然后,化简\ln [\sum_{i = 1}^K P(\pmb x|Y = i)P(Y = i)]:
将\ln P(Y = k|\pmb x)的表达式重新组合,有:
观察上式,可将\ln P(Y = k|\pmb x)化为下述表达形式:
其中C(\pmb x)是与类别k无关的项(即包含\pmb x^\top \Sigma^{-1}\pmb x,所有常数项以及\ln \left[\sum_{i = 1}^K \exp(-\frac{1}{2}(\pmb x - \pmb \mu_i)^\top \Sigma^{-1}(\pmb x - \pmb \mu_i)) P(Y = i) \right],而z_k是与类别k相关的线性加权和,定义为:
令\pmb w^\top = \pmb \mu_k^\top \Sigma^{-1},w_0 = - \frac{1}{2} \pmb \mu_k^\top \Sigma^{-1}\pmb \mu_k + \ln P(Y = k),则上式可以简化表达为:
构造增广形式\pmb \theta = [\pmb w, w_0] \in \mathbb R^{d+1},\pmb y = [\pmb x, 1],可以化简为:
现对\ln P(Y = k|\pmb x) = z_k - C(\pmb x)等式两边取指数,得到:
根据概率分布的归一性,有:
解得:
最终,可得后验概率分布函数:
即Softmax函数。
启发式方法构建Softmax函数
一个比较自然的想法是能否从 Logistic 函数的二分类形式拓展到多分类问题的类别条件概率分布函数上?答案是肯定的。观察二分类问题的 Logistic 函数,我们可以将其写成两种形式:
其分子的形式分别为\exp(0)和\exp(z),分母为1 + \exp(z),即归一化常数。根据概率的公理化定义,概率值必须满足非负性、归一性和可列可加性。因此,我们可以将上述“指数化和归一化”的规律进行拓展到多个类别。
对于K个类别的多分类问题,我们为每个类别k定义一个线性得分z_k = \theta_{k1}x_1 + \theta_{k2}x_2 + \cdots + \theta_{kn}(其中\theta_{ki}是与类别k相关的第i个参数)。那么,给定输入X,样本属于类别k的概率可以表示为:
其中 k\in \{1,2,\cdots,K\}表示类别索引, K为类别的总数量。该式称为softmax函数。
Softmax 函数符合人的直觉:输入的值(线性得分z_k)越大,其对应的概率 \exp(z_k)在总和中所占的比例就越大,因此其对应的类别概率也应该越大。
注意:在logistic函数和softmax函数中,\exp(\cdot)中括号内的值是某一类别的线性加权和,代表的是该类别的线性得分。
- 2
-
分享