如何理解svm的损失函数

合页损失函数

线性支持向量机还有另外一种解释,就是最小化以下目标函数(svm的损失函数):
在这里插入图片描述
目标函数第一项为经验损失或经验风险,函数:
在这里插入图片描述
称为合页损失函数,下标 “ + ” “+” +表示取正值。
在这里插入图片描述

在学习支持向量机的过程中,因为其损失函数的形状像一个合页,故命名合页损失函数。

下图为合页损失函数的图像:
在这里插入图片描述

横轴表示函数间隔,我们从两个方面来理解函数间隔:

  • 正负

    当样本被正确分类时, y ( w x + b ) > 0 y(wx+b)>0 y(wx+b)>0;当样本被错误分类时, y ( w x + b ) < 0 y(wx+b)<0 y(wx+b)<0

  • 大小

    y ( w x + b ) y(wx+b) y(wx+b)的绝对值代表样本距离决策边界的远近程度。 y ( w x + b ) y(wx+b) y(wx+b)的绝对值越大,表示样本距离决策边界越远。

因此,我们可以知道:

  1. y ( w x + b ) > 0 y(wx+b)>0 y(wx+b)>0时, y ( w x + b ) y(wx+b) y(wx+b)的绝对值越大表示决策边界对样本的区分度越好

  2. y ( w x + b ) < 0 y(wx+b)<0 y(wx+b)<0时, y ( w x + b ) y(wx+b) y(wx+b)的绝对值越大表示决策边界对样本的区分度越差

从图中我们可以看到,

  • 0-1损失

    当样本被正确分类时,损失为0;当样本被错误分类时,损失为1。

  • 感知机损失函数

    当样本被正确分类时,损失为0;当样本被错误分类时,损失为 − y ( w x + b ) -y(wx+b) y(wx+b)

  • 合页损失函数

    当样本被正确分类且函数间隔大于1时,合页损失才是0,否则损失是 1 − y ( w x + b ) 1-y(wx+b) 1y(wx+b)

相比之下,合页损失函数不仅要正确分类,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。

SVM的损失函数

SVM的损失函数就是合页损失函数加上正则化项:
在这里插入图片描述

平滑SVM损失函数是对传统SVM损失函数的改进。传统SVM损失函数合页损失函数,其数学原理基于结构风险最小化原则,目标是找到一个超平面,让正类和负类的样本尽可能远离这个超平面,通过最大化支持向量到超平面的间隔来找到最优解 [^3]。不过传统损失函数存在不可微的问题,而平滑SVM损失函数就是为了解决这一问题。 ### 原理 平滑SVM损失函数通过对传统SVM损失函数进行平滑近似,使得原本不可微的损失函数变得可微。这为使用梯度下降等基于梯度的优化算法提供了可能,从而加快模型的训练速度,避免在不可微点处优化算法失效的问题。 ### 应用 - **图像分类**:在图像分类任务中,平滑SVM损失函数可以帮助分类器更好地区分不同类别的图像。合理的损失函数有助于判断训练出模型的好坏,平滑SVM损失函数能够量化不同的错误程度,减少分类错误,提高分类的准确性 [^2]。 - **文本分类**:对于文本分类问题,平滑SVM损失函数可以对文本进行有效的分类,利用其可微性优化模型参数,提高分类效果。 ### 计算方法 平滑SVM损失函数有多种形式,以一种常见的平滑近似为例,对合页损失函数 \(L = \max(0, 1 - y\cdot f(x))\) 进行平滑近似。可以使用Logistic平滑函数来近似,其公式为 \(L_{smooth} = \frac{1}{\beta}\log(1 + \exp(\beta(1 - y\cdot f(x))))\),其中 \(\beta\) 是平滑参数,当 \(\beta\) 趋于无穷大时,该平滑损失函数趋近于合页损失函数。 ```python import numpy as np def smooth_svm_loss(y, f_x, beta): """ 计算平滑SVM损失函数 :param y: 真实标签 :param f_x: 模型预测值 :param beta: 平滑参数 :return: 平滑SVM损失值 """ return (1 / beta) * np.log(1 + np.exp(beta * (1 - y * f_x))) # 示例使用 y = 1 # 真实标签 f_x = 0.5 # 模型预测值 beta = 1 # 平滑参数 loss = smooth_svm_loss(y, f_x, beta) print(f"平滑SVM损失值: {loss}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值