机器学习中的损失函数(lossfunction)介绍说明(代码片段)

小葵花幼儿园园长 小葵花幼儿园园长     2023-03-09     511

关键词:

损失函数

损失函数介绍

解决一个机器学习问题主要有两部分:数据和算法。

算法又有三个部分组成:假设函数、损失函数、算法优化。

损失函数: 用于计算损失的函数。在机器学习中,通常把模型关于单个样本预测值与真实值的差称为损失,损失越小,模型越好。

主要的损失函数:

logLoss (对数损失函数,LR)

hinge loss (合页损失函数,SVM)

exp-loss (指数损失函数,AdaBoost)

cross-entropy loss (交叉熵损失函数,Softmax)

quadratic loss (平方误差损失函数,线性回归)

absolution loss (绝对值损失函数, )

0-1 loss (0-1损失函数)

常见的损失函数

1.对数损失函数(Logloss)

logLoss (对数损失函数,也叫binary cross entropy,二元交叉熵损失,LR)

logLoss (log 损失函数)的函数标准形式:

适用于:逻辑回归

逻辑回归目标函数:

2. hinge loss 合页损失函数

适用于:SVM

SVM目标函数:

第一种

通过拉格朗日乘子法转化并求解之后,得到的式子为:

第二种:包含有hinge loss的解释方式,其通过最小化下面的目标函数

而上面的式子中,第1项是经验损失或者经验风险第二项为系数为 λ \\lambda λ的w的L2范数,为正则化项,对于第1项经验损失,函数

称为合页损失函数(hinge loss function)。下标“+”表示下面取正值的函数:

3. exp-loss 指数损失函数

适用于:AdaBoost

Adaboost 算法采用调整样本权重的方式来对样本分布进行调整,即提高前一轮个体学习器错误分类的样本的权重,而降低那些正确分类的样本的权重,这样就能使得错误分类的样本可以受到更多的关注,从而在下一轮中可以正确分类,使得分类问题被一系列的弱分类器“分而治之”。对于组合方式,AdaBoost采用加权多数表决的方法,具体地,加大分类误差率小的若分类器的权值,减小分类误差率大的若分类器的权值,从而调整他们在表决中的作用。

Adaboost的损失函数为指数损失函数.在Adaboost算法学习的过程中,经过m轮迭代之后,可以得到 f m ( x ) f_m(x) fm(x):

指数损失函数的标准形式为:
L ( y , f ( x ) ) = e x p [ − y f ( x ) ] L(y, f(x)) = exp[-yf(x)] L(y,f(x))=exp[yf(x)]

4. cross-entropy loss 交叉熵损失函数

适用于:ID3(决策树)、softmax

交叉熵是信息论中的概念,其原来是用来估算平均编码长度的。给定两个概率分布p和q,通过q来表示p的交叉熵为:

H ( p , q ) = − ∑ y p ( y )   l o g   q ( y ) H(p,q) = - \\sum_yp(y)\\ log\\ q(y) H(p,q)=yp(y) log q(y)

交叉熵刻画的是两个概率分部之间的距离,或可以说其刻画的是通过概率分布q来表达概率分布p的困难程度,p代表正确答案,q代表的是预测值,交叉熵越小,两个概率的分布越接近。

交叉熵损失函数通常使用在softmax上,而softmax通常使用在神经网络的末端,使其预测结果以概率的形式输出。Softmax函数为:
σ ( Z ) j = e z j ∑ k = 1 K e z k \\sigma (Z)_j=\\frace^z_j\\sum_k=1^Ke^z_k σ(Z)j=k=1Kezkezj
其把原始输出 z j z_j zj转化成概率,从而可以通过交叉熵来计算预测的概率分布和真实答案的概率分布之间的距离。

5. quadratic loss 平方误差损失函数

适用于:线性回归

在回归问题中,我们常常使用平方误差作为其损失函数,其公式为:

L ( Y ,   f ( X ) ) = ( f ( X ) − Y ) 2 L(Y,\\ f(X))=(f(X)-Y)^2 L(Y, f(X))=(f(X)Y)2

但更多的是使用其平均值,即

l ( Y , f ( X ) ) = 1 2 m ∑ i = 1 m ( f ( x i ) − y i ) 2 l(Y,f(X))=\\frac12m\\sum_i=1^m(f(x_i)-y_i)^2 l(Y,f(X))=2m1i=1m(f(xi)yi)2

线性回归中常常添加正则化

加入L1正则化为Lasso回归:

L ( Y , f ( X ) ) = 1 2 m ∑ i = 1 m [ f ( x i ) − y i ] 2   +   λ ∑ j = 1 n ∣ w j ∣ L(Y,f(X))=\\frac12m\\sum_i=1^m[f(x_i)-y_i]^2\\ +\\ \\lambda\\sum_j=1^n|w_j| L(Y,f(X))=2m1i=1m[f(xi)yi]2 + λj=1nwj

加入L2正则化则为岭回归:

L ( Y , f ( X ) ) = 1 2 m ∑ i = 1 m [ f ( x i ) − y i ] 2   +   λ ∑ j = 1 n w j 2 L(Y,f(X))=\\frac12m\\sum_i=1^m[f(x_i)-y_i]^2\\ +\\ \\lambda\\sum_j=1^nw_j^2 L(Y,f(X))=2m1i=1m[f(xi)yi]2 + λj=1nwj2

6. absolution loss (绝对值损失函数)

绝对值损失函数的公式:

L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X))=|Y-f(X)| L(Y,f(X))=Yf(X)

表示预测值与真实值的距离。

7. 0-1 loss (0-1损失函数)

L ( y , f ( x ) ) = 0     i f    y = f ( x ) 1     i f    y ≠ f ( x ) L(y,f(x)) = \\left\\\\beginmatrix 0 \\ \\ \\ if\\ \\ y=f(x)& \\\\ & \\\\ 1 \\ \\ \\ if\\ \\ y\\neq f(x)& \\endmatrix\\right. L(y,f(x))=0   if  y=f(x)1   if  y=f(x)

《新程序员》:云原生和全面数字化实践 50位技术专家共同创作,文字、视频、音频交互阅读

机器学习中的损失函数

机器学习中的损失函数损失函数(lossfunction)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,参考技术A机器学习中的损失函数损失函数(lossfunction)是用来估量你模型的预测值f(x)与真... 查看详情

机器学习中的损失函数

损失函数(lossfunction)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,... 查看详情

机器学习心得

...的成分一个机器学习的模型需要有三部分组成:hypothesis+lossfunction(learningcriteria)+optimization。modelrepresentation也可以叫hypothesis就是一个数学函数。这个函数形如(h_ heta(x)=f(x, heta)),注意,( heta)在这个里面是常量,(x)是自变量。hypothe... 查看详情

机器学习大牛是如何选择回归损失函数的?

...域中,损失函数都是一个非常重要的知识点。损失函数(LossFunction)是用来估量模型的预测值f(x)与真实值y的不一致程度。我们的目标就是最小化损失函数,让f(x)与y尽量接近。通常可以使用梯度下降算法寻找函数最小值。关于梯... 查看详情

机器学习中目标函数损失函数代价函数之间的区别和联系

...于目标函数来说在有约束条件下的最小化就是损失函数(lossfunction)举个例子解释一下:(图片来自AndrewNgMachineLearning公开课视频) 上面三个图的函数依次为,,。我们是想用这三个函数分别来拟合Price,Price的真实值记为。我们... 查看详情

损失函数(lossfunction)和代价函数(costfunction)

1损失函数和代价函数的区别:损失函数(Lossfunction):指单个训练样本进行预测的结果与实际结果的误差。代价函数(Costfunction):整个训练集,所有样本误差总和(所有损失函数总和)的平均值。(这一步体现在propagate()函数中的第32... 查看详情

目标函数损失函数代价函数

...Belter/p/6653773.html注:代价函数(有的地方也叫损失函数,LossFunction)在机器学习中的每一种算法中都很重要,因为训练模型的过程就是优化代价函数的过程,代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过拟合... 查看详情

机器学习中的损失函数(着重比较:hingelossvssoftmaxloss)

1.损失函数损失函数(Lossfunction)是用来估量你模型的预测值f(x)f(x)与真实值YY的不一致程度,它是一个非负实值函数,通常用L(Y,f(x))L(Y,f(x))来表示。损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核... 查看详情

机器学习代价函数(costfunction)

注:代价函数(有的地方也叫损失函数,LossFunction)在机器学习中的每一种算法中都很重要,因为训练模型的过程就是优化代价函数的过程,代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过拟合时添加的正则化... 查看详情

常见损失函数lossfunction的选择(regressionproblem)

损失函数LossFunction的设计是机器学习模型的核心问题,一般情况下函数式子会分成两项:衡量预估值和目标间的差距、正则项式。其中正则项式子一般用于衡量模型的复杂度,可以避免模型过拟合(奥卡姆剃刀原... 查看详情

损失函数(lossfunction)的全面介绍(简单易懂版)(代码片段)

一:什么是损失函数:简单的理解就是每一个样本经过模型后会得到一个预测值,然后得到的预测值和真实值的差值就成为损失(当然损失值越小证明模型越是成功),我们知道有许多不同种类的损失函数... 查看详情

机器学习之--线性分类

...表图像属于该类别的可能性高低。例如:二.损失函数(lossfunction)在评分函数中,该函数的参数是权重矩阵,因此在训练评分函数的过程中就是为了得到一个合适的权重矩阵。我们调整权重矩阵这个参数,使得评分函数的结果... 查看详情

盘点机器学习中那些神奇的损失函数

盘点机器学习中那些神奇的损失函数我最近在学习R语言,但是估R语言我应该没能跟sas一样玩那么好。今天来更新在机器学习中的一些专业术语,参考技术A盘点机器学习中那些神奇的损失函数我最近在学习R语言,但是估R语言我... 查看详情

机器学习—逻辑回归与svm区别

...判别模型。2、LR和SVM有什么不同点  (1)本质上是其lossfunction不同;  逻辑回归损失函数:    SVM损失函数:    LR方法基于概率理论,假设样本为0或者1的概率可以用sigmoid函数来表示,然后 查看详情

机器学习中的目标函数损失函数代价函数有什么区别?

作者:zzanswer链接:https://www.zhihu.com/question/52398145/answer/209358209来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。谢谢评论区@阿萨姆老师的建议,完善下答案: 首先给出结论:损失函数... 查看详情

cs231n学习笔记03——课程3.1损失函数

损失函数(LossFunction)是一类广义的称呼,指利用数值化的方法表现机器学习算法中产生的模型对于训练集(TrainingSet)的满意程度。通常函数值越小,表示该模型预测越精准。损失函数是一个评判标准,模型的优化训练皆是基... 查看详情

(转载)机器学习中的目标函数损失函数代价函数有什么区别

作者:zzanswer链接:https://www.zhihu.com/question/52398145/answer/209358209来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。举个例子解释一下:(图片来自AndrewNgMachineLearning公开课视频)  上面... 查看详情

深度学习中的损失函数(代码片段)

...个最小化或最大化一个函数,称之为损失函数(lossfunction)&#x 查看详情