《机器学习》支持向量机
目录
结构风险(Structural Risk)和经验风险(Empirical Risk)
经验风险(Empirical Risk):
结构风险(Structural Risk):
L0范数: L0范数是指向量中非零元素的个数。它通常用于特征选择,因为它可以迫使模型选择最少的非零特征。
解得稀疏性
稀疏性
SVM的稀疏性
为什么线性SVM的解具有稀疏性
结构风险(Structural Risk)和经验风险(Empirical Risk)
在机器学习和统计学习理论中,结构风险(Structural Risk)和经验风险(Empirical Risk)是评估模型性能的两个重要概念。
经验风险(Empirical Risk):
经验风险是指模型在训练数据集上的平均损失。它衡量的是模型在训练数据上的表现,通常通过损失函数(如平方损失、交叉熵损失等)来计算。经验风险越小,表示模型在训练数据上的拟合程度越高。公式可以表示为:
Remp(f)=N1i=1∑NL(yi,f(xi))
其中,�(��,�(��))L(yi,f(xi)) 表示单个样本的损失,�N 是训练样本的数量,(��,��)(xi,yi) 是第 �i 个训练样本及其标签。
结构风险(Structural Risk):
结构风险是在经验风险的基础上加入了一个正则化项(Regularization Term),用来衡量模型的复杂度。它考虑了模型的泛化能力,旨在防止模型过拟合。结构风险可以表示为:
Rstruct(f)=Remp(f)+λJ(f)
这里,����(�)Remp(f) 是经验风险,�(�)J(f) 是模型的复杂度(例如,可以是模型权重向量的范数),而 �λ 是正则化参数,用于平衡经验风险和模型复杂度。
结构风险最小化是统计学习中的一个重要原则,它要求在保证模型复杂度适中的前提下,最小化经验风险,从而使模型在未知数据上也能有较好的表现。这种方法可以提高模型的泛化能力,避免在训练集上过度拟合而在测试集上表现不佳。
在机器学习和优化问题中,L0、L1、L2和L∞范数是常用的几种范数,它们用于衡量向量或矩阵的某些特性,通常用于正则化以防止过拟合。以下是这些范数的定义:
-
L0范数: L0范数是指向量中非零元素的个数。它通常用于特征选择,因为它可以迫使模型选择最少的非零特征。
∥�∥0=Number of non-zero elements in �∥x∥0=Number of non-zero elements in x
- L1范数(曼哈顿范数): L1范数是指向量中所有元素的绝对值之和。它常用于稀疏编码和压缩感知,因为它可以促进稀疏解,即使得许多系数为零。
∥�∥1=∑�=1�∣��∣∥x∥1=i=1∑n∣xi∣
- L2范数(欧几里得范数): L2范数是指向量中所有元素的平方和的平方根。它是欧几里得空间中两点之间距离的度量。在机器学习中,L2范数常用于正则化,以防止过拟合。
∥�∥2=∑�=1���2∥x∥2=i=1∑nxi2
- L∞范数(切比雪夫范数): L∞范数是指向量中所有元素绝对值中的最大值。它衡量的是向量的最大偏差。
∥�∥∞=max�∣��∣∥x∥∞=imax∣xi∣
在实际应用中,这些范数的选择取决于具体的问题和需求。例如:
- L0范数通常不直接用于优化问题,因为它不是一个凸函数,因此难以优化。
- L1范数在求解问题时更容易得到稀疏解,因此适用于特征选择。
- L2范数在优化问题中更容易处理,因为它是一个凸函数,并且有助于防止过拟合。
- L∞范数在处理具有鲁棒性要求的优化问题时非常有用,因为它限制了最大偏差。
l0 l1都致力于让非零元小。
解得稀疏性
支持向量机(Support Vector Machine, SVM)的解在某些情况下可以具有稀疏性,这主要取决于所使用的核函数和正则化参数。
稀疏性
稀疏性指的是在解中只有少数几个参数是非零的,而大多数参数都是零。在机器学习中,稀疏性通常是一个受欢迎的特性,因为它意味着模型可以只用少数几个重要的特征来做出预测,这样可以提高解释性、减少计算量,并且在某些情况下还能提高泛化能力。
SVM的稀疏性
-
线性SVM:
- 当数据是线性可分的,或者使用线性核时,SVM的解通常具有稀疏性。这是因为线性SVM的目标是找到一个最大间隔的决策边界,这个边界只与支持向量(那些最接近决策边界的数据点)有关,而与其他数据点无关。
- 在线性SVM中,解的稀疏性体现在最终的模型权重中:只有支持向量的贡献非零,而其他数据点的拉格朗日乘子(或权重)将为零。
-
非线性SVM:
- 当使用非线性核(如多项式核或径向基函数核)时,SVM的解可能不具有稀疏性。这是因为非线性核可以创建非常复杂的决策边界,这些边界可能涉及所有数据点,从而导致所有拉格朗日乘子都不为零。
- 尽管如此,通过适当地选择正则化参数C(惩罚项),可以鼓励模型寻找一个更稀疏的解,即尽可能减少非零拉格朗日乘子的数量。
为什么线性SVM的解具有稀疏性
线性SVM通过以下优化问题来找到最大间隔的决策边界:
在最优解中,大多数数据点不会位于边界上,因此它们的拉格朗日乘子(在优化问题中引入的用于处理约束的乘子)将为零。只有那些位于边界上的点(即支持向量)的拉格朗日乘子不为零,它们决定了最优的�w和�b。因此,SVM的解是稀疏的,因为它只依赖于少数几个支持向量。
总的来说,线性SVM的解通常具有稀疏性,因为它们只与支持向量有关,而非线性SVM的稀疏性则取决于核函数和正则化参数的选择。
是的,每个数据点在支持向量机(SVM)的优化问题中都有其对应的拉格朗日乘子,但是并不是所有的拉格朗日乘子都是非零的。