南瓜书公试详解------第十一章(特征选择)

式11.1(信息增益)

Gain ⁡ ( A ) = Ent ⁡ ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Ent ⁡ ( D v ) \operatorname{Gain}(A)=\operatorname{Ent}(D)-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Ent}\left(D^{v}\right) Gain(A)=Ent(D)v=1VDDvEnt(Dv)
这个公式是信息增益(Information Gain)的计算公式,它是决策树算法中用来选择特征的关键指标之一。信息增益衡量的是在知道特征A的值后,数据集D的不确定性(或熵)减少的程度。下面是对公式中各个部分的详细解释:

  • Gain ⁡ ( A ) \operatorname{Gain}(A) Gain(A):特征A的信息增益。

  • Ent ⁡ ( D ) \operatorname{Ent}(D) Ent(D):数据集D的熵(Entropy),表示数据集的初始不确定性。

  • V V V:特征A的可能值的数量。

  • D v D^{v} Dv:数据集D中特征A取值为v的子集。

  • ∣ D v ∣ |D^{v}| Dv:子集 D v D^{v} Dv中的样本数量。

  • ∣ D ∣ |D| D:数据集D中的总样本数量。

  • Ent ⁡ ( D v ) \operatorname{Ent}(D^{v}) Ent(Dv):子集 D v D^{v} Dv的熵。

信息增益的计算步骤如下:

  1. 计算数据集D的熵 Ent ⁡ ( D ) \operatorname{Ent}(D) Ent(D)
  2. 对于特征A的每个可能值v,计算子集 D v D^{v} Dv的熵 Ent ⁡ ( D v ) \operatorname{Ent}(D^{v}) Ent(Dv)
  3. 计算每个子集 D v D^{v} Dv的熵对整个数据集D的加权平均,权重为子集大小与数据集大小的比例 ∣ D v ∣ ∣ D ∣ \frac{|D^{v}|}{|D|} DDv
  4. 信息增益 Gain ⁡ ( A ) \operatorname{Gain}(A) Gain(A)等于数据集D的熵减去这个加权平均熵。

信息增益的目的是为了衡量特征A对分类结果的贡献大小。如果特征A能够显著减少数据集的不确定性,那么它的信息增益就高,这通常意味着它是一个有用的特征。在构建决策树时,通常会选择信息增益最大的特征进行节点分裂。

式11.2(熵)

Ent ⁡ ( D ) = − ∑ i = 1 ∣ Y ∣ p k log ⁡ 2 p k \operatorname{Ent}(D)=-\sum_{i=1}^{| \mathcal{Y |}} p_{k} \log _{2} p_{k} Ent(D)=i=1Ypklog2pk
其中, p i p_i pi是数据集中第i个类别的样本比例,n是类别总数。熵的值越大,表示数据集的不确定性越高。
这个公式是熵(Entropy)的定义,用于度量样本集合的不确定性或随机性。熵的概念在信息论和机器学习中非常重要,特别是在决策树的构建和特征选择中。下面是对公式中各个部分的详细解释:

  • Ent ⁡ ( D ) \operatorname{Ent}(D) Ent(D):数据集 D D D 的熵。

  • ∣ Y ∣ | \mathcal{Y} | Y:数据集中所有可能的类别(或结果)的数量。

  • p k p_k pk:数据集中第 k k k 个类别的样本所占的比例。这里的 p k p_k pk 是类别 k k k 的经验概率,即数据集中属于类别 k k k 的样本数与总样本数的比例。

  • log ⁡ 2 \log_2 log2:以 2 为底的对数,用于计算信息的单位是比特(bit)。

熵的计算公式为:
Ent ⁡ ( D ) = − ∑ i = 1 ∣ Y ∣ p k log ⁡ 2 p k \operatorname{Ent}(D) = -\sum_{i=1}^{| \mathcal{Y} |} p_{k} \log_2 p_{k} Ent(D)=i=1Ypklog2pk

计算步骤如下:

  1. 对于数据集中的每个类别 k k k,计算该类别的样本比例 p k p_k pk
  2. 对每个比例 p k p_k pk 计算 p k log ⁡ 2 p k p_k \log_2 p_k pklog2pk。由于信息论中的熵是关于概率的函数,当 p k p_k pk 为 0 时,这一项的值为 0(因为 0 log ⁡ 2 0 0 \log_2 0 0log20 被定义为 0)。
  3. 将所有的 − p k log ⁡ 2 p k -p_k \log_2 p_k pklog2pk 值相加,得到数据集 D D D 的熵。

熵的值越大,表示数据集的不确定性越高。如果数据集中所有样本都属于同一个类别,那么熵为 0,表示没有不确定性。如果样本均匀分布在所有类别中,熵达到最大值,表示最高的不确定性。

在决策树算法中,熵用来评估属性指标的好坏,选择能够最大化类别区分度的属性进行节点分裂。通过计算分裂前后熵的差值,即信息增益,可以确定哪个特征进行分裂能够最好地提高模型的预测能力。

式11.5(最小二乘)

min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 \min _{\boldsymbol{w}} \sum_{i=1}^{m}\left(y_{i}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right)^{2} wmini=1m(yiwTxi)2
这个公式表示的是线性回归问题中的最小二乘法(Least Squares Method)目标函数。最小二乘法是一种常用的线性回归模型参数估计方法,旨在最小化模型预测值与实际观测值之间的差异(即残差)。下面是对公式中各个部分的详细解释:

  • min ⁡ w \min _{\boldsymbol{w}} minw:表示我们需要找到权重向量 w \boldsymbol{w} w 的值,使得目标函数达到最小。

  • ∑ i = 1 m \sum_{i=1}^{m} i=1m:表示对所有 m m m 个样本求和。

  • y i y_{i} yi:第 i i i 个样本的真实标签或观测值。

  • w T x i \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i} wTxi:模型对第 i i i 个样本的预测值,其中 w \boldsymbol{w} w 是权重向量, x i \boldsymbol{x}_{i} xi 是特征向量, w T \boldsymbol{w}^{\mathrm{T}} wT w \boldsymbol{w} w 的转置。

  • ( y i − w T x i ) 2 \left(y_{i}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right)^{2} (yiwTxi)2:第 i i i 个样本的残差平方,即预测值与实际值之差的平方。

整个目标函数是所有样本残差平方的总和,这个值越小,表示模型的预测越接近实际观测值,模型的性能越好。

最小二乘法通过最小化这个目标函数来寻找最佳的权重向量 w \boldsymbol{w} w。求解过程通常涉及对目标函数求导,并设置导数为零来找到极值点。在最简单的线性回归情况下,可以得到一个解析解,其形式为:

w = ( X T X ) − 1 X T y \boldsymbol{w} = (\boldsymbol{X}^{\mathrm{T}} \boldsymbol{X})^{-1} \boldsymbol{X}^{\mathrm{T}} \boldsymbol{y} w=(XTX)1XTy

其中, X \boldsymbol{X} X 是一个 m × n m \times n m×n 的矩阵,包含了所有样本的特征向量 x i \boldsymbol{x}_{i} xi 作为行向量; y \boldsymbol{y} y 是一个长度为 m m m 的向量,包含了所有样本的真实标签 y i y_{i} yi

最小二乘法是统计学和机器学习中的基础工具,广泛应用于各种预测和回归问题。

式名词解释----正则项

正则项(Regularization Term)是机器学习和统计建模中用来防止模型过拟合的数学表达式。通过在模型的目标函数中添加一个额外的项,正则项有助于控制模型的复杂度,促使模型学习到更加泛化的特征。以下是正则项的一些关键特点:

  1. 目的:正则项的主要目的是减少模型的复杂性,避免在训练数据上的过度拟合,提高模型在未知数据上的泛化能力。

  2. 形式:正则项通常是模型参数的函数,常见的形式包括L1范数(曼哈顿距离)、L2范数(欧几里得距离)或其他更复杂的范数形式。

  3. L1正则化(Lasso正则化):
    λ ∥ w ∥ 1 \lambda \|\boldsymbol{w}\|_1 λw1
    其中, λ \lambda λ是正则化系数, ∥ w ∥ 1 \|\boldsymbol{w}\|_1 w1是权重向量的L1范数,即权重的绝对值之和。

  4. L2正则化(Ridge正则化):
    λ ∥ w ∥ 2 2 \lambda \|\boldsymbol{w}\|_2^2 λw22
    其中, λ \lambda λ是正则化系数, ∥ w ∥ 2 2 \|\boldsymbol{w}\|_2^2 w22是权重向量的L2范数的平方,即权重的平方和。

  5. 弹性网正则化(Elastic Net Regularization):
    λ 1 ∥ w ∥ 1 + λ 2 ∥ w ∥ 2 2 \lambda_1 \|\boldsymbol{w}\|_1 + \lambda_2 \|\boldsymbol{w}\|_2^2 λ1w1+λ2w22
    结合了L1和L2正则化的特点,允许模型同时享受两种正则化的好处。

  6. 正则化系数(Regularization Parameter): λ \lambda λ是控制正则化强度的超参数,需要通过交叉验证等方法来选择最优值。

  7. 目标函数:在大多数机器学习算法中,正则项被添加到目标函数中,如最小二乘损失函数,形成新的优化目标:
    Loss ( w ) + λ ⋅ Regularization Term \text{Loss}(\boldsymbol{w}) + \lambda \cdot \text{Regularization Term} Loss(w)+λRegularization Term

  8. 作用:正则项通过惩罚大的参数值来减少模型的复杂度,有助于防止模型学习到训练数据中的噪音和异常值。

  9. 模型选择:正则化是模型选择过程的一部分,它帮助确定模型的复杂度,平衡偏差和方差。

  10. 应用领域:正则化广泛应用于线性回归、逻辑回归、神经网络、支持向量机等机器学习算法中。

正则化是构建稳健、可靠和可泛化模型的关键技术之一。通过恰当地选择正则化形式和调整正则化系数,可以显著提高模型在实际应用中的表现。

式11.6(带L2正则项后----岭回归)

min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 + λ ∥ w ∥ 2 2 \min _{\boldsymbol{w}} \sum_{i=1}^{m}\left(y_{i}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right)^{2}+\lambda\|\boldsymbol{w}\|_{2}^{2} wmini=1m(yiwTxi)2+λw22
这个公式表示的是带有L2正则化项的线性回归问题,也就是岭回归(Ridge Regression)。岭回归是一种带有正则化项的最小二乘法,用于处理共线性问题,同时可以防止模型过拟合。下面是对公式中各个部分的详细解释:

  • min ⁡ w \min _{\boldsymbol{w}} minw:表示我们需要找到权重向量 w \boldsymbol{w} w 的值,使得目标函数达到最小。

  • ∑ i = 1 m \sum_{i=1}^{m} i=1m:表示对所有 m m m 个样本求和。

  • y i y_{i} yi:第 i i i 个样本的真实标签或观测值。

  • w T x i \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i} wTxi:模型对第 i i i 个样本的预测值,其中 w \boldsymbol{w} w 是权重向量, x i \boldsymbol{x}_{i} xi 是特征向量。

  • ( y i − w T x i ) 2 \left(y_{i}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right)^{2} (yiwTxi)2:第 i i i 个样本的残差平方,即预测值与实际值之差的平方。

  • λ ∥ w ∥ 2 2 \lambda\|\boldsymbol{w}\|_{2}^{2} λw22:L2正则化项,其中 λ \lambda λ 是正则化参数, ∥ w ∥ 2 2 \|\boldsymbol{w}\|_{2}^{2} w22 是权重向量的L2范数(即欧几里得范数)的平方。这个项会惩罚过大的权重值,有助于防止过拟合。

整个目标函数是所有样本残差平方的总和加上正则化项。正则化参数 λ \lambda λ 决定了正则化项的强度。选择 λ \lambda λ 的值通常需要通过交叉验证等方法来确定。

岭回归的解不是通过解析方法得到的,而是通过数值优化方法,如梯度下降法。在某些情况下,当设计矩阵 X \boldsymbol{X} X 是方阵且可逆时,岭回归有一个闭式解,其形式为:

$ w = ( X T X + λ I ) − 1 X T y \boldsymbol{w} = (\boldsymbol{X}^{\mathrm{T}} \boldsymbol{X} + \lambda \boldsymbol{I})^{-1} \boldsymbol{X}^{\mathrm{T}} \boldsymbol{y} w=(XTX+λI)1XTy$

其中, I \boldsymbol{I} I 是单位矩阵。

岭回归是一种广泛应用于实际问题中的回归分析方法,特别是在处理具有高度相关特征的数据集时。通过引入正则化项,岭回归能够提供更加稳定和可靠的预测模型。

式11.7(带L1正则项后----Lasso回归)

min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 + λ ∥ w ∥ 1 \min _{\boldsymbol{w}} \sum_{i=1}^{m}\left(y_{i}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right)^{2}+\lambda\|\boldsymbol{w}\|_{1} wmini=1m(yiwTxi)2+λw1
这个公式表示的是带有L1正则化项的线性回归问题,通常称为Lasso回归(Least Absolute Shrinkage and Selection Operator Regression)。Lasso回归不仅像L2正则化(岭回归)一样防止模型过拟合,而且还具有特征选择的能力,可以将一些特征的权重压缩至零。下面是对公式中各个部分的详细解释:

  • min ⁡ w \min _{\boldsymbol{w}} minw:表示我们需要找到权重向量 w \boldsymbol{w} w的值,使得目标函数达到最小。

  • ∑ i = 1 m \sum_{i=1}^{m} i=1m:表示对所有 m m m个样本求和。

  • y i y_{i} yi:第 i i i个样本的真实标签或观测值。

  • w T x i \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i} wTxi:模型对第 i i i个样本的预测值,其中 w \boldsymbol{w} w是权重向量, x i \boldsymbol{x}_{i} xi是特征向量。

  • ( y i − w T x i ) 2 \left(y_{i}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}\right)^{2} (yiwTxi)2:第 i i i个样本的残差平方,即预测值与实际值之差的平方。

  • λ ∥ w ∥ 1 \lambda\|\boldsymbol{w}\|_{1} λw1:L1正则化项,其中 λ \lambda λ是正则化参数, ∥ w ∥ 1 \|\boldsymbol{w}\|_{1} w1是权重向量的L1范数(即曼哈顿距离),它是权重向量各个元素绝对值的和。这个项会惩罚权重向量的非零元素,促使一些权重变为零,实现特征选择。

整个目标函数是所有样本残差平方的总和加上正则化项。正则化参数 λ \lambda λ的值决定了正则化项的强度。选择 λ \lambda λ通常需要通过交叉验证等方法来确定。

Lasso回归通常通过数值优化方法求解,如坐标下降法(Coordinate Descent)或梯度下降法。由于L1正则化项的性质,Lasso回归在求解过程中可以产生稀疏权重向量,即很多权重元素为零,这有助于简化模型并提高解释性。

Lasso回归在特征数量较多且希望在模型训练过程中进行特征选择的场景下非常有用。通过选择重要的特征并忽略不重要的特征,Lasso回归可以构建更加简洁和有效的预测模型。

式11.10

f ^ ( x ) ≃ f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ + L 2 ∥ x − x k ∥ 2 = L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + c o n s t \begin{aligned} \hat{f}(\boldsymbol{x}) & \simeq f\left(\boldsymbol{x}_{k}\right)+\left\langle\nabla f\left(\boldsymbol{x}_{k}\right), \boldsymbol{x}-\boldsymbol{x}_{k}\right\rangle+\frac{L}{2}\left\|\boldsymbol{x}-\boldsymbol{x}_{k}\right\|^{2} \\ &=\frac{L}{2}\left\|\boldsymbol{x}-\left(\boldsymbol{x}_{k}-\frac{1}{L} \nabla f\left(\boldsymbol{x}_{k}\right)\right)\right\|_{2}^{2}+\mathrm{const} \end{aligned} f^(x)f(xk)+f(xk),xxk+2Lxxk2=2L x(xkL1f(xk)) 22+const
这个公式展示了一个函数 f f f 在点 x k \boldsymbol{x}_k xk 附近的一阶泰勒展开(Taylor expansion),并且引入了一个上界,这个上界是由函数在该点的Lipschitz连续梯度假设得到的。这种形式在优化理论中非常重要,尤其是在分析梯度下降算法的收敛性时。下面是对公式中各个部分的详细解释:

  1. f ^ ( x ) \hat{f}(\boldsymbol{x}) f^(x):在点 x \boldsymbol{x} x 处对函数 f f f 的一个近似。

  2. f ( x k ) f\left(\boldsymbol{x}_{k}\right) f(xk):函数 f f f 在点 x k \boldsymbol{x}_k xk 的实际值。

  3. ⟨ ∇ f ( x k ) , x − x k ⟩ \left\langle\nabla f\left(\boldsymbol{x}_{k}\right), \boldsymbol{x}-\boldsymbol{x}_{k}\right\rangle f(xk),xxk:函数 f f f 在点 x k \boldsymbol{x}_k xk 的梯度与向量 x − x k \boldsymbol{x} - \boldsymbol{x}_k xxk 的内积,这是泰勒展开的线性项。

  4. L 2 ∥ x − x k ∥ 2 \frac{L}{2}\left\|\boldsymbol{x}-\boldsymbol{x}_{k}\right\|^{2} 2Lxxk2:引入的上界项,其中 L L L 是函数 f f f 的梯度的Lipschitz常数,这个假设保证了函数 f f f 的梯度在 x k \boldsymbol{x}_k xk 附近的变动不会太快。

  5. ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 \left\|\boldsymbol{x}-\left(\boldsymbol{x}_{k}-\frac{1}{L} \nabla f\left(\boldsymbol{x}_{k}\right)\right)\right\|_{2}^{2} x(xkL1f(xk)) 22:这是一个平方的欧几里得范数,表示点 x \boldsymbol{x} x 与点 x k − 1 L ∇ f ( x k ) \boldsymbol{x}_k - \frac{1}{L} \nabla f(\boldsymbol{x}_k) xkL1f(xk) 之间的距离的平方。这个表达式展示了函数 f f f 可以被看作是围绕点 x k \boldsymbol{x}_k xk 附近的一个抛物面。

  6. c o n s t \mathrm{const} const:常数项,它不依赖于 x \boldsymbol{x} x,因此在优化问题中通常可以忽略。

这个公式的第二部分通过完成平方(Completing the Square)来重写函数 f f f 的近似,这在分析梯度下降算法的每一步更新时非常有用。通过这种方式,我们可以看到梯度下降算法实际上是在每一步寻找函数 f f f 的一个下界,并且通过迭代地移动到这个下界来最小化 f f f

在优化理论中,这种近似方法常用于证明算法的收敛性,因为它允许我们量化在每次迭代中函数值减少的量,并且可以展示在满足一定条件下,算法能够以一定的速率收敛到局部最小值。

式11.11

x k + 1 = x k − 1 L ∇ f ( x k ) \boldsymbol{x}_{k+1}=\boldsymbol{x}_{k}-\frac{1}{L} \nabla f\left(\boldsymbol{x}_{k}\right) xk+1=xkL1f(xk)
这个公式描述的是梯度下降算法(Gradient Descent)的迭代更新步骤。梯度下降算法是一种一阶迭代优化算法,用于最小化一个给定的函数,通常在机器学习和人工智能中用于求解带参数的优化问题。下面是对公式中各个部分的详细解释:

  • x k + 1 \boldsymbol{x}_{k+1} xk+1:在第 k + 1 k+1 k+1 步更新后的新解。

  • x k \boldsymbol{x}_{k} xk:当前步 k k k 的解。

  • 1 L \frac{1}{L} L1:学习率或步长(step size),这里 L L L 表示函数 f f f 的梯度的Lipschitz常数的倒数。使用Lipschitz常数的倒数作为学习率是一种常见的梯度下降变体,称为梯度下降的Lipschitz版本。

  • ∇ f ( x k ) \nabla f\left(\boldsymbol{x}_{k}\right) f(xk):函数 f f f 在点 x k \boldsymbol{x}_k xk 处的梯度,是一个向量,其方向指向函数增长最快的方向。

梯度下降算法的核心思想是,通过在当前解 x k \boldsymbol{x}_k xk 的基础上,沿着负梯度方向(即函数值减少最快的方向)进行更新,来逐步逼近函数的最小值。更新规则如下:

  1. 计算当前解 x k \boldsymbol{x}_k xk 处的梯度 ∇ f ( x k ) \nabla f\left(\boldsymbol{x}_{k}\right) f(xk)
  2. 将当前解 x k \boldsymbol{x}_k xk 减去学习率 1 L \frac{1}{L} L1 与梯度 ∇ f ( x k ) \nabla f\left(\boldsymbol{x}_{k}\right) f(xk) 的乘积,得到新的解 x k + 1 \boldsymbol{x}_{k+1} xk+1

梯度下降算法的关键在于选择合适的学习率。如果学习率太大,可能会导致算法在最小值附近发生震荡甚至发散;如果学习率太小,算法的收敛速度会很慢。在实际应用中,学习率的选择通常需要根据具体问题和函数的性质来调整。

此外,梯度下降算法有多种变体,例如随机梯度下降(Stochastic Gradient Descent, SGD)、小批量梯度下降(Mini-batch Gradient Descent)等,它们在处理大规模数据集时更为高效。

式名词解释----Lipschitz常数

Lipschitz常数是一个与Lipschitz连续性相关的数学概念,用于衡量函数或映射的"平滑度"或变化速度。如果一个函数是Lipschitz连续的,那么存在一个非负实数L(称为Lipschitz常数),使得对于函数定义域内的任意两点x和y,函数值的变化不会超过这两点距离的L倍。具体来说:

Lipschitz连续的定义:
如果存在一个非负实数L,使得对于所有x, y属于函数f的定义域,都有
∣ f ( x ) − f ( y ) ∣ ≤ L ⋅ ∣ x − y ∣ |f(x) - f(y)| \leq L \cdot |x - y| f(x)f(y)Lxy
则称函数f是Lipschitz连续的,L是函数f的Lipschitz常数。

Lipschitz连续性的关键特点包括:

  1. 有界变化:Lipschitz连续函数的值不会在两点间发生无限大的变化。Lipschitz常数L实际上给出了函数值变化的一个上限。

  2. 全局定义:Lipschitz常数在整个函数的定义域内是一致的,即它控制了函数在整个定义域内的变化速度。

  3. 凸函数特性:如果一个函数是凸的,那么它也是Lipschitz连续的。对于凸函数,Lipschitz常数可以由函数在某点的梯度来界定。

  4. 优化算法中的应用:在优化算法中,尤其是梯度下降法,Lipschitz连续性可以用来确保算法的收敛性。如果目标函数的梯度是Lipschitz连续的,那么可以保证梯度下降法以一定的速率收敛到最小值。

  5. 稳定性:Lipschitz连续函数对输入的微小变化不敏感,这使得这类函数在数值分析和工程应用中具有很好的稳定性。

  6. 泛化能力:在机器学习中,Lipschitz连续性可以用来控制模型的复杂度,防止过拟合,提高模型的泛化能力。

  7. 数值计算:在数值计算中,Lipschitz常数有助于估计算法的误差界限和确定算法的步长。

Lipschitz常数的寻找和证明可能涉及到复杂的数学分析,但在许多实际应用中,这个概念提供了一种强有力的工具来分析和保证算法的性能。

x k + 1 = arg ⁡ min ⁡ x L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + λ ∥ x ∥ 1 \boldsymbol{x}_{k+1}=\underset{\boldsymbol{x}}{\arg \min } \frac{L}{2}\left\|\boldsymbol{x}-\left(\boldsymbol{x}_{k}-\frac{1}{L} \nabla f\left(\boldsymbol{x}_{k}\right)\right)\right\|_{2}^{2}+\lambda\|\boldsymbol{x}\|_{1} xk+1=xargmin2L x(xkL1f(xk)) 22+λx1
这个公式描述的是带有L1正则化项的梯度下降算法的更新步骤,通常用于求解带有正则化项的优化问题,例如Lasso回归或弹性网回归。这里的更新步骤同时考虑了函数沿梯度方向的下降以及对解的正则化惩罚。下面是对公式中各个部分的详细解释:

  • x k + 1 \boldsymbol{x}_{k+1} xk+1:在第 k + 1 k+1 k+1 步更新后的新解。

  • L 2 \frac{L}{2} 2L:正则化系数的一半,其中 L L L 是函数 f f f 的梯度的Lipschitz常数。

  • ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 \left\| \boldsymbol{x} - \left( \boldsymbol{x}_{k} - \frac{1}{L} \nabla f\left(\boldsymbol{x}_{k}\right) \right) \right\|_{2}^{2} x(xkL1f(xk)) 22:正则化项之前的平方欧几里得范数,表示当前解 x \boldsymbol{x} x 与当前步估计的最小点 x k − 1 L ∇ f ( x k ) \boldsymbol{x}_{k} - \frac{1}{L} \nabla f\left(\boldsymbol{x}_{k}\right) xkL1f(xk) 之间的距离的平方。

  • λ ∥ x ∥ 1 \lambda \|\boldsymbol{x}\|_{1} λx1:L1正则化项,其中 λ \lambda λ 是正则化参数, ∥ x ∥ 1 \|\boldsymbol{x}\|_{1} x1 是权重向量的L1范数,即权重的绝对值之和。

  • arg ⁡ min ⁡ x \arg \min_{\boldsymbol{x}} argminx:表示找到使目标函数最小的 x \boldsymbol{x} x 的值。

整个更新步骤的目标是最小化由两部分组成的目标函数:一部分是关于 x \boldsymbol{x} x 的平方欧几里得范数的正则化项,另一部分是L1正则化项。这个目标函数实际上是在梯度下降的每一步中,对当前解进行更新的同时,通过L1正则化项来促使解的稀疏性。

求解这个优化问题通常需要使用特殊的优化算法,如坐标下降法(Coordinate Descent)、次梯度法(Subgradient Method)或内点法(Interior Point Method)等。在某些情况下,可以通过软阈值操作(Soft Thresholding)来求解L1正则化问题,这在Lasso回归中特别常见。

L1正则化项的引入,使得求解过程不仅关注于函数值的下降,还关注于解的稀疏性,这有助于特征选择和提高模型的可解释性。

式11.13

x k + 1 = arg ⁡ min ⁡ x L 2 ∥ x − z ∥ 2 2 + λ ∥ x ∥ \boldsymbol{x}_{k+1}=\underset{\boldsymbol{x}}{\arg \min } \frac{L}{2}\|\boldsymbol{x}-\boldsymbol{z}\|_{2}^{2}+\lambda\|\boldsymbol{x}\| xk+1=xargmin2Lxz22+λx
这个公式描述的是带有L1正则化项的梯度下降算法的更新步骤,其中 L L L是函数 f f f的梯度的Lipschitz常数, λ \lambda λ是正则化参数。这里的 z \boldsymbol{z} z通常表示当前步的某个中间状态,可能是 x k \boldsymbol{x}_k xk减去某个与梯度相关的项。这个更新步骤的目标是最小化一个包含L2范数项和L1范数项的正则化目标函数。

具体来说:

  • x k + 1 \boldsymbol{x}_{k+1} xk+1:在第 k + 1 k+1 k+1 步更新后的新解。

  • L 2 ∥ x − z ∥ 2 2 \frac{L}{2} \|\boldsymbol{x}-\boldsymbol{z}\|_{2}^{2} 2Lxz22:这是L2正则化的平方欧几里得范数项,它衡量的是解 x \boldsymbol{x} x与中间状态 z \boldsymbol{z} z之间的距离的平方乘以 L / 2 L/2 L/2

  • λ ∥ x ∥ \lambda \|\boldsymbol{x}\| λx:这是L1正则化项,其中 λ \lambda λ是正则化参数, ∥ x ∥ \|\boldsymbol{x}\| x是权重向量的L1范数,即权重的绝对值之和。

  • arg ⁡ min ⁡ x \arg \min_{\boldsymbol{x}} argminx:表示找到使目标函数最小的 x \boldsymbol{x} x的值。

目标函数结合了L2范数项和L1范数项,其中L2范数项有助于确保解 x \boldsymbol{x} x不会偏离中间状态 z \boldsymbol{z} z太远,而L1范数项则有助于产生稀疏解,即解中的一些分量为零,这在特征选择中非常有用。

求解这个优化问题通常需要使用特殊的优化算法,如坐标下降法、次梯度法或内点法等。在某些情况下,可以通过软阈值操作来求解L1正则化问题,这在Lasso回归中特别常见。

这个更新步骤在机器学习和优化理论中非常重要,因为它提供了一种在求解过程中平衡模型复杂度和拟合优度的方法。通过适当选择 L L L λ \lambda λ,可以控制模型的平滑度和稀疏度,从而提高模型的泛化能力。

式11.14

x k + 1 i = { z i − λ / L , λ / L < z i 0 , ∣ z i ∣ ⩽ λ / L z i + λ / L , z i < − λ / L x_{k+1}^{i}=\left\{\begin{array}{ll} {z^{i}-\lambda / L,} & {\lambda / L<z^{i}} \\ {0,} & {\left|z^{i}\right| \leqslant \lambda / L} \\ {z^{i}+\lambda / L,} & {z^{i}<-\lambda / L} \end{array}\right. xk+1i= ziλ/L,0,zi+λ/L,λ/L<zi zi λ/Lzi<λ/L
这个公式描述的是Lasso回归问题中的标准软阈值操作(Soft Thresholding),它用于求解带有L1正则化项的优化问题。在每次迭代中,对每个权重系数 x k + 1 i x_{k+1}^{i} xk+1i 进行更新,以实现稀疏性,即让一些系数变为零。下面是对公式中各个部分的详细解释:

  • x k + 1 i x_{k+1}^{i} xk+1i:第 k + 1 k+1 k+1 步更新后,第 i i i 个特征的权重系数。

  • z i z^{i} zi:当前中间状态的权重系数,可能是 x k \boldsymbol{x}_k xk 减去某个与梯度相关的项后的结果。

  • L L L:函数 f f f 的梯度的Lipschitz常数。

  • λ \lambda λ:正则化参数,控制L1正则化的强度。

  • λ / L \lambda / L λ/L:阈值值,用于确定是否将权重系数设置为零。

软阈值操作的规则如下:

  1. z i z^{i} zi 的值大于 λ / L \lambda / L λ/L 时,权重系数更新为 z i − λ / L z^{i} - \lambda / L ziλ/L,即减少 λ / L \lambda / L λ/L 的量。

  2. z i z^{i} zi 的绝对值小于或等于 λ / L \lambda / L λ/L 时,权重系数更新为0,即这个特征的系数被完全“阈值化”或“惩罚掉”。

  3. z i z^{i} zi 的值小于 − λ / L -\lambda / L λ/L 时,权重系数更新为 z i + λ / L z^{i} + \lambda / L zi+λ/L,即增加 λ / L \lambda / L λ/L 的量。

这种更新规则确保了只有当权重系数的绝对值大于某个阈值时,它们才会被保留;否则,它们将被设置为零。这有助于实现特征选择,因为较小的系数被排除在模型之外。

软阈值操作是求解Lasso回归问题的关键步骤,通常在坐标下降法中用于更新每个权重系数。通过这种方式,Lasso回归能够在保持模型预测能力的同时,减少模型复杂度并提高解释性。

式11.15

min ⁡ B , α i ∑ i = 1 m ∥ x i − B α i ∥ 2 2 + λ ∑ i = 1 m ∥ α i ∥ 1 \min _{\mathbf{B}, \boldsymbol{\alpha}_{i}} \sum_{i=1}^{m}\left\|\boldsymbol{x}_{i}-\mathbf{B} \boldsymbol{\alpha}_{i}\right\|_{2}^{2}+\lambda \sum_{i=1}^{m}\left\|\boldsymbol{\alpha}_{i}\right\|_{1} B,αimini=1mxiBαi22+λi=1mαi1
这个公式描述的是一个带有L1正则化项的优化问题,通常出现在机器学习中的稀疏编码(Sparse Coding)或矩阵分解(Matrix Factorization)任务中。目标是找到两个矩阵 B \mathbf{B} B 和一组系数向量 α i \boldsymbol{\alpha}_{i} αi,使得原始数据 x i \boldsymbol{x}_{i} xi 可以被 B \mathbf{B} B 通过 α i \boldsymbol{\alpha}_{i} αi 的线性组合来近似,同时鼓励系数向量 α i \boldsymbol{\alpha}_{i} αi 是稀疏的。下面是对公式中各个部分的详细解释:

  • min ⁡ B , α i \min _{\mathbf{B}, \boldsymbol{\alpha}_{i}} minB,αi:表示我们需要最小化目标函数,找到最优的矩阵 B \mathbf{B} B 和系数向量 α i \boldsymbol{\alpha}_{i} αi

  • ∑ i = 1 m ∥ x i − B α i ∥ 2 2 \sum_{i=1}^{m}\left\|\boldsymbol{x}_{i}-\mathbf{B} \boldsymbol{\alpha}_{i}\right\|_{2}^{2} i=1mxiBαi22:这是数据拟合项,表示所有样本 x i \boldsymbol{x}_{i} xi 与它们的近似值 B α i \mathbf{B} \boldsymbol{\alpha}_{i} Bαi 之间的平方欧几里得距离的总和。这里 m m m 是样本的数量。

  • λ \lambda λ:正则化参数,控制L1正则化项的强度,用于平衡数据拟合项和正则化项。

  • ∑ i = 1 m ∥ α i ∥ 1 \sum_{i=1}^{m}\left\|\boldsymbol{\alpha}_{i}\right\|_{1} i=1mαi1:这是L1正则化项,表示所有系数向量 α i \boldsymbol{\alpha}_{i} αi 的L1范数的总和。L1正则化有助于产生稀疏的系数向量,即让一些 α i j \alpha_{i}^{j} αij 的值为零。

  • ∥ ⋅ ∥ 2 \left\|\cdot\right\|_{2} 2:表示L2范数,即平方和的平方根,用于计算欧几里得距离。

  • ∥ ⋅ ∥ 1 \left\|\cdot\right\|_{1} 1:表示L1范数,即绝对值的和。

这个问题通常通过迭代优化算法来求解,例如交替方向乘子法(Alternating Direction Method of Multipliers, ADMM)或坐标下降法(Coordinate Descent Method)。在每次迭代中,可以分别对 B \mathbf{B} B α i \boldsymbol{\alpha}_{i} αi 进行更新,例如:

  1. 固定 α i \boldsymbol{\alpha}_{i} αi,更新 B \mathbf{B} B 以最小化拟合项。
  2. 固定 B \mathbf{B} B,使用软阈值操作更新 α i \boldsymbol{\alpha}_{i} αi 以最小化正则化项。

通过这种方式,可以在保证模型对数据有良好拟合的同时,通过L1正则化鼓励模型的稀疏性,这有助于提高模型的解释性和泛化能力。这种类型的优化问题在图像处理、信号处理和推荐系统中有广泛应用。

式11.16

min ⁡ α i ∥ x i − B α i ∥ 2 2 + λ ∥ α i ∥ 1 \min _{\boldsymbol{\alpha}_{i}}\left\|\boldsymbol{x}_{i}-\mathbf{B} \boldsymbol{\alpha}_{i}\right\|_{2}^{2}+\lambda\left\|\boldsymbol{\alpha}_{i}\right\|_{1} αiminxiBαi22+λαi1
这个公式描述的是每个样本 x i \boldsymbol{x}_{i} xi 的稀疏编码问题,其中目标是找到系数向量 α i \boldsymbol{\alpha}_{i} αi,使得它在重建原始样本 x i \boldsymbol{x}_{i} xi 时的误差最小化,同时通过L1正则化项 λ ∥ α i ∥ 1 \lambda\|\boldsymbol{\alpha}_{i}\|_{1} λαi1 来促进稀疏性。这个问题可以独立地针对每个样本 i i i 求解。下面是对公式中各个部分的详细解释:

  • min ⁡ α i \min _{\boldsymbol{\alpha}_{i}} minαi:表示对每个样本 i i i 的系数向量 α i \boldsymbol{\alpha}_{i} αi 进行最小化。

  • ∥ x i − B α i ∥ 2 2 \left\|\boldsymbol{x}_{i}-\mathbf{B} \boldsymbol{\alpha}_{i}\right\|_{2}^{2} xiBαi22:第 i i i 个样本的重建误差,它是原始样本 x i \boldsymbol{x}_{i} xi 与通过基矩阵 B \mathbf{B} B 和系数向量 α i \boldsymbol{\alpha}_{i} αi 重建的样本之间的欧几里得距离的平方。

  • B \mathbf{B} B:基矩阵或字典矩阵,其列向量构成了表示样本的空间基。

  • λ \lambda λ:正则化参数,用于控制重建误差和稀疏性之间的权衡。

  • ∥ α i ∥ 1 \left\|\boldsymbol{\alpha}_{i}\right\|_{1} αi1:第 i i i 个系数向量的L1范数,即系数的绝对值之和,L1范数可以促进稀疏性。

这个问题通常通过特殊的优化算法求解,例如:

  • 坐标下降法(Coordinate Descent Method):在这种方法中,每个系数 α i j \alpha_{i}^{j} αij 被单独更新,而其他系数保持固定。

  • 梯度下降法(Gradient Descent Method):通过迭代地沿着目标函数的负梯度方向更新系数向量。

  • 内点法(Interior Point Method):一种用于求解凸优化问题的算法,它可以处理带有L1正则化的问题。

  • 线性编程(Linear Programming):当问题被转化为线性规划问题时,可以使用线性规划算法求解。

  • 软阈值(Soft Thresholding):一种特殊的操作,用于在迭代过程中更新系数,实现稀疏性。

稀疏编码在机器学习、信号处理和图像处理等领域有广泛应用,它可以用于特征提取、降维和去噪等任务。通过优化问题中的L1正则化项,稀疏编码能够产生稀疏的系数向量,这有助于提高模型的解释性和泛化能力。

式11.17

min ⁡ B ∥ X − B A ∥ F 2 \min _{\mathbf{B}}\|\mathbf{X}-\mathbf{B} \mathbf{A}\|_{F}^{2} BminXBAF2
这个公式描述的是矩阵分解问题中的一个最小化问题,通常用于推荐系统、信号处理或图像分析等领域。目标是找到两个矩阵 B \mathbf{B} B A \mathbf{A} A,使得它们的乘积 B A \mathbf{B} \mathbf{A} BA 尽可能接近给定的矩阵 X \mathbf{X} X。这里的最小化问题是针对矩阵的Frobenius范数进行的,即矩阵元素平方和的平方根。下面是对公式中各个部分的详细解释:

  • min ⁡ B \min _{\mathbf{B}} minB:表示我们的目标是最小化目标函数,找到最优的矩阵 B \mathbf{B} B

  • ∥ X − B A ∥ F 2 \|\mathbf{X}-\mathbf{B} \mathbf{A}\|_{F}^{2} XBAF2:目标函数,即矩阵 X \mathbf{X} X 与矩阵 B A \mathbf{B} \mathbf{A} BA 之间差的Frobenius范数的平方。Frobenius范数 ∥ ⋅ ∥ F \|\cdot\|_{F} F 是矩阵元素平方和的平方根,定义为 ∥ M ∥ F = ∑ i , j ∣ m i j ∣ 2 \|\mathbf{M}\|_{F} = \sqrt{\sum_{i,j} |m_{ij}|^2} MF=i,jmij2 ,其中 m i j m_{ij} mij 是矩阵 M \mathbf{M} M 中的元素。

  • X \mathbf{X} X:给定的数据矩阵,通常包含了观测值或样本数据。

  • B \mathbf{B} B:我们试图优化的矩阵,其列可以代表基础元素或特征。

  • A \mathbf{A} A:另一个矩阵,其行通常与 B \mathbf{B} B 的列相乘,以重建原始矩阵 X \mathbf{X} X

这个问题可以通过多种数值方法求解,包括:

  • 梯度下降法(Gradient Descent):通过迭代地沿着目标函数的负梯度方向更新 B \mathbf{B} B 来最小化目标函数。

  • 交替最小二乘法(Alternating Least Squares, ALS):在这种方法中,我们固定一个矩阵,然后优化另一个矩阵,如此交替进行。

  • 奇异值分解(Singular Value Decomposition, SVD):在某些特定情况下,可以使用SVD来找到矩阵 B \mathbf{B} B A \mathbf{A} A 的最优解。

  • 优化库:使用现成的数值优化库,如CVXOPT、ECOS等,这些库提供了多种优化算法来求解这类问题。

矩阵分解问题在实际应用中非常有用,例如在推荐系统中,它可以用于发现用户和物品之间的潜在关系;在图像处理中,它可以用于图像去噪或特征提取。通过最小化Frobenius范数,矩阵分解问题鼓励找到的矩阵 B \mathbf{B} B A \mathbf{A} A 能够精确地重建原始数据矩阵 X \mathbf{X} X

式11.18

min ⁡ B ∥ X − B A ∥ F 2 = min ⁡ b i ∥ X − ∑ j = 1 k b j α j ∥ F 2 = min ⁡ b i ∥ ( X − ∑ j ≠ i b j α j ) − b i α i ∥ F 2 = min ⁡ b i ∥ E i − b i α i ∥ F 2 \begin{aligned} \min _{\mathbf{B}}\|\mathbf{X}-\mathbf{B} \mathbf{A}\|_{F}^{2} &=\min _{\boldsymbol{b}_{i}}\left\|\mathbf{X}-\sum_{j=1}^{k} \boldsymbol{b}_{j} \boldsymbol{\alpha}^{j}\right\|_{F}^{2} \\ &=\min _{\boldsymbol{b}_{i}}\left\|\left(\mathbf{X}-\sum_{j \neq i} \boldsymbol{b}_{j} \boldsymbol{\alpha}^{j}\right)-\boldsymbol{b}_{i} \boldsymbol{\alpha}^{i}\right\| _{F}^{2} \\ &=\min _{\boldsymbol{b}_{i}}\left\|\mathbf{E}_{i}-\boldsymbol{b}_{i} \boldsymbol{\alpha}^{i}\right\|_{F}^{2} \end{aligned} BminXBAF2=bimin Xj=1kbjαj F2=bimin Xj=ibjαj biαi F2=bimin Eibiαi F2
这个公式展示了矩阵分解问题中的一个特定情况,其中目标是最小化重构误差,即原始矩阵 X \mathbf{X} X 与通过矩阵 B \mathbf{B} B A \mathbf{A} A 的乘积重构的矩阵之间的Frobenius范数的平方。公式从一般形式逐步转化为针对单个基向量 b i \boldsymbol{b}_{i} bi 的优化问题。下面是对公式的逐步解释:

  1. 一般形式:
    min ⁡ B ∥ X − B A ∥ F 2 \min _{\mathbf{B}}\|\mathbf{X}-\mathbf{B} \mathbf{A}\|_{F}^{2} BminXBAF2
    这里,目标是最小化所有基向量 b j \boldsymbol{b}_{j} bj 与对应的系数 α j \boldsymbol{\alpha}^{j} αj 的乘积之和与原始矩阵 X \mathbf{X} X 之间的Frobenius范数的平方。

  2. 展开形式:
    min ⁡ b i ∥ X − ∑ j = 1 k b j α j ∥ F 2 \min _{\boldsymbol{b}_{i}}\left\|\mathbf{X}-\sum_{j=1}^{k} \boldsymbol{b}_{j} \boldsymbol{\alpha}^{j}\right\|_{F}^{2} bimin Xj=1kbjαj F2
    这个表达式展开了重构误差,显示了它是如何由所有基向量和系数的线性组合构成的。

  3. 消去项:
    min ⁡ b i ∥ ( X − ∑ j ≠ i b j α j ) − b i α i ∥ F 2 \min _{\boldsymbol{b}_{i}}\left\|\left(\mathbf{X}-\sum_{j \neq i} \boldsymbol{b}_{j} \boldsymbol{\alpha}^{j}\right)-\boldsymbol{b}_{i} \boldsymbol{\alpha}^{i}\right\| _{F}^{2} bimin Xj=ibjαj biαi F2
    这里,除了第 i i i 个基向量 b i \boldsymbol{b}_{i} bi 外,其他所有项都被合并到一个误差矩阵 E i \mathbf{E}_{i} Ei 中。

  4. 针对单个基向量的优化:
    min ⁡ b i ∥ E i − b i α i ∥ F 2 \min _{\boldsymbol{b}_{i}}\left\|\mathbf{E}_{i}-\boldsymbol{b}_{i} \boldsymbol{\alpha}^{i}\right\|_{F}^{2} bimin Eibiαi F2
    最终,公式被转化为只针对单个基向量 b i \boldsymbol{b}_{i} bi 的优化问题,其中 E i \mathbf{E}_{i} Ei 是原始矩阵 X \mathbf{X} X 减去所有除了第 i i i 个基向量外其他基向量与系数乘积的和。

这种转化表明,矩阵分解问题可以分解为一系列更小的优化问题,每个问题只涉及一个基向量 b i \boldsymbol{b}_{i} bi。这种方法通常用于交替最小二乘法(ALS),在这种方法中,我们固定其他基向量,只优化一个基向量,然后交替进行,直到收敛。

在推荐系统中,这种优化问题可以用来找到用户偏好的潜在因子表示 α i \boldsymbol{\alpha}^{i} αi 和物品特征的潜在因子表示 b i \boldsymbol{b}_{i} bi。通过最小化Frobenius范数的平方,我们鼓励找到的矩阵 B \mathbf{B} B A \mathbf{A} A 能够精确地重建原始数据矩阵 X \mathbf{X} X

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值