机器学习常见损失函数,经验/结构风险,参数和超参数

Izellah ·
更新时间:2024-09-21
· 650 次阅读

一、常用的损失函数

通常损失函数是一个非负实数函数,作用就是来量化模型预测和真是标签之间的差异,以下是几种常用的损失函数:
(1)0-1损失函数,很直观的表现了模型在训练集上的错误率,0−1损失函数0-1损失函数0−1损失函数表达式如下:
L(y,f(x,θ))={0ify=f(x;θ)1ify≠f(x;θ)(式1) \mathfrak{L}(y,f(x,\theta))=\begin{cases} 0 & if \qquad y=f(\boldsymbol{x};\theta)\\ 1 & if \qquad y\neq{f(\boldsymbol{x};\theta)} \end{cases} \tag{式1} L(y,f(x,θ))={01​ify=f(x;θ)ify​=f(x;θ)​(式1)
=I(y≠f(x;θ))(式2) =I(y\neq f(\boldsymbol{x};\theta))\tag{式2} =I(y​=f(x;θ))(式2)
其中I(⋅)I(\cdot)I(⋅)是指示函数。

从上面可以看到,尽管0−1损失0-1损失0−1损失函数可以很客观的评价模型的好坏,但是他的缺点也很明显:0−1损失函数0-1损失函数0−1损失函数不连续而且导数为零,难以进行优化。所以更常用的损失函数是连续可微的损失函数。
(2)平方损失函数,(Quadratic Loss Function)。平方损失函数经常使用在待预测的标签yyy为实数值的任务中,表达式如下:
L(y,f(x;θ))=12(y−f(x;θ))2(式3) \mathfrak{L}(y,f(x;\theta))=\cfrac{1}{2}(y-f(\boldsymbol{x};\theta))^2\tag{式3} L(y,f(x;θ))=21​(y−f(x;θ))2(式3)
平方损失函数不适合用在分类问题中,因为预测值和真实值都式离散型的,进行加减运算是没有意义的。
(3)交叉熵损失函数,(Cross-Entropy Loss Function)一般用于分类问题中。假设样本的标签y∈y\iny∈{1,⋯ ,C}\{1,\cdots,C\}{1,⋯,C}为离散的类别,模型f(x;θ)∈[0,1]cf(x;\theta)\in[0,1]^cf(x;θ)∈[0,1]c的输出为类别标签的条件概率分布,即:
P(y=c∣x;θ)=fc(x;θ)(式4) P(y=c\vert{\boldsymbol{x}};\theta)=f_c(\boldsymbol{x};\theta)\tag{式4} P(y=c∣x;θ)=fc​(x;θ)(式4)
fc(x;θ)f_c(x;\theta)fc​(x;θ)表示f(x;θ)f(x;\theta)f(x;θ)的输出向量的第ccc维。
而且,(式4)还满足:
fc(x;θ)∈[0,1],∑i=1Cfc(x;θ)=1(式5) f_c(\boldsymbol{x};\theta)\in[0,1],\qquad \sum_{i=1}^{C}f_c(\boldsymbol{x};\theta)=1\tag{式5} fc​(x;θ)∈[0,1],i=1∑C​fc​(x;θ)=1(式5)
如果使用一个ccc维的one-hot 向量y\boldsymbol{y}y来表示样本标签. 假设样本的标签为kkk,那么标签向量blodsymbolyblodsymbol{y}blodsymboly只有第



超参数 结构风险 损失 学习 参数 函数 损失函数 机器学习

需要 登录 后方可回复, 如果你还没有账号请 注册新账号