详细整理几种常见的损失函数|机器学习

简介: 在学习过程中我们经常会接触到损失函数、代价函数、目标函数三个词语,本文让我们来总结一下机器学习中常见的损失函数和代价函数。

机器学习|常见的损失函数

在学习过程中我们经常会接触到损失函数、代价函数、目标函数三个词语,本文让我们来总结一下机器学习中常见的损失函数和代价函数。


概念

首先让我们来了解一下三种损失函数的概念。


损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。


代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。


目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是代价函数 + 正则化项)。


关于目标函数和代价函数的区别还有一种通俗的区别:


目标函数是最大化或者最小化,而代价函数是最小化。


常见的损失函数

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

函数表达式:

26.png

函数说明:


  • 关于0-1损失函数,也就是说当我们预测错误时,损失函数的值为1,预测正确时,损失函数的值为0,该函数无需考虑预测值和真实值的误差程度,只要预测错误就会输出1。


函数特点:


  • 0-1损失函数直接对应分类判断错误的个数,但是它是一个非凸函数,不太适用。


  • 感知机通常会使用该损失函数,在使用的时候我们也可以通过设置一个阈值的方式来放宽它的条件,改变成下面的形式:

27.png

平方损失函数(quadratic loss function)

函数表达式:

28.png

函数说明:


  • 平方损失函数指的是预测值与实际值差的平方。


函数特点:


  • 平方损失函数经常应用在回归问题上。


绝对值损失函数(absolute loss function)

函数表达式:

L(y,f(x))=∣y−f(x)∣


函数说明:


  • 该损失函数本质上和平方损失函数没有什么差别,只不过此时取的是绝对值而不是平方,差距不会因为平方而被放大。


函数特点:


  • 绝对值损失函数经常用在回归问题上。


对数损失函数(logarithmic loss function)

函数表达式:

L(y,p(y∣x))=−logp(y∣x)


函数说明:


  • 对数损失函数用到了极大似然估计的思想,我们对p(y|x)通俗的解释就是:在当前模型的基础上,对于样本x它的预测值为y,也就是我们预测正确的概率,但是我们在概率之间的同时满足需要使用乘法,考虑到计算方便,我们取对数将其转化为加法,同时由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取反。


函数特点:


  • log损失函数能够很好的表示概率分布,适用于很多的分类场景中,如果需要知道结果属于每个类别的置信度log损失函数非常适合。
  • log损失函数对噪声很敏感。
  • 逻辑回归的损失函数就是log损失函数。


合页损失函数(Hinge loss function)

函数表达式:

L(w,b)=max{0,1−yf(x)}

y=±1,f(x)=wx+b


函数说明:


  • hinge损失函数一般用作分类算法的损失函数。


函数特点:


  • SVM使用的就是hinge损失函数,hinge损失函数表示如果被分类正确,损失为0,否则损失就为1-yf(x)。


  • 一般的f(x)是预测值,在[-1,1]之间,y是目标值(-1或1)。我们并不鼓励|f(x)|>1,也就是不鼓励分类器过度的自信,让某个正确分类的样本距离分割线超过1并不会有任何奖励,从而使分类器可以更加专注于整体的误差。


  • Hinge算是函数对异常点、噪声并不敏感,但是相对于log损失函数来说它没有很好的概率解释。


指数损失函数(exponential loss)

函数表达式:


L(y∣f(x))=exp(−yf(x))


函数说明:


  • 一种很少接触并使用的损失函数。


函数特点:


  • AdaBoost算法使用的就是指数损失函数,该损失函数对噪声、离群点非常敏感。


常见的代价函数

均方误差(Mean Squared Error)

函数表达式:

29.png

函数说明:


  • 均方误差是指预测值与真实值之差平方的期望值;MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。


函数特点:


  • 均方误差通常用来做回归问题的代价函数。


均方根误差(Root Mean Squared Error)

函数表达式:

30.png

函数说明:


  • 均方根误差是均方误差的算术平方根,能够直观观测预测值与实际值的离散程度。


函数特点:


  • 通常用来作为回归算法的性能指标


平均绝对误差(Mean Absolute Error)

函数表达式:

31.png

函数说明:


  • 平均绝对误差是绝对误差的平均值 ,平均绝对误差能更好地反映预测值误差的实际情况。


函数特点:


  • 通常用来作为回归算法的性能指标。


交叉熵代价函数(Cross Entry)

函数表达式:

32.png

函数说明:


  • 交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。其中p(x)指的是真实分布的概率,q(x)是模型通过数据计算出来的概率估计。


函数特点:


  • 通常用做分类问题的代价函数。


举例说明:

逻辑回归(二分类)的损失函数:

33.png

这里的h(x)可以是sigmoid函数,也可以是深度学习中的其他激活函数。


相关文章
|
机器学习/深度学习 人工智能 达摩院
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
本文介绍阿里巴巴达摩院决策智能实验室时间序列预测方向的最新(ICML 2022 accepted)工作:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting论文链接:https://arxiv.org/abs/2201.12740代码链接:https://github.com/DA
3341 0
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
|
机器学习/深度学习 人工智能 算法
神经网络算法——损失函数(Loss Function)
神经网络算法——损失函数(Loss Function)
2512 0
|
机器学习/深度学习 算法 数据挖掘
深度学习中常用损失函数介绍
选择正确的损失函数对于训练机器学习模型非常重要。不同的损失函数适用于不同类型的问题。本文将总结一些常见的损失函数,并附有易于理解的解释、用法和示例
1125 0
深度学习中常用损失函数介绍
|
机器学习/深度学习 分布式计算 安全
联邦学习的简要概述
联邦学习(Federated Learning, FL)是一种分布式机器学习方法,旨在保护数据隐私的同时,利用多方数据进行模型训练。
1316 5
|
Python
【Python-numpy】numpy.random.choice()解析与使用
本文介绍了NumPy中的`numpy.random.choice()`函数,它用于从一维数组或整数范围内根据指定概率或均匀分布生成随机样本,支持设置样本大小、是否替换以及每个元素的特定概率。
590 5
|
Cloud Native JavaScript API
一文读懂云原生 go-zero 微服务框架
一文读懂云原生 go-zero 微服务框架
|
人工智能 自然语言处理 自动驾驶
Prompt入门到进阶
本文介绍了如何有效利用AI工具,特别是ChatGPT,通过优化提问技巧来获得更高质量的答案。首先阐述了AI工具在各行业的广泛应用,并强调了良好提问的重要性。接着,文章详细解释了提问的基本原则——CLAR原则(明确、合乎逻辑、准确、相关),以及更高级的LACES模型(增加限定条件、分配角色、提供背景、给出示例、拆分任务)。通过案例演示,展示了如何运用这些原则和模型撰写书籍的不同章节。最后,文章总结了设计高效提示的关键要素,并鼓励读者通过实践来提升与AI交互的能力,从而在工作和生活中获得更高的效率和创新。
279 1
|
存储 人工智能 自然语言处理
机器学习系列 | 04: 知识图谱发展历程及其分类
本文简要梳理知识图谱的前世今生及其分类
|
应用服务中间件 Linux API
Linux 利用 Cloudflare API 配置 acme.sh 自动续签 SSL (Apache、Nginx适用)
安装acme.sh工具,命令为`curl https://get.acme.sh | sh -s email=你的邮箱`。接着配置Cloudflare API,创建并记录API令牌及Zone ID。最后通过`acme.sh --issue -d 你的域名 --dns dns_cf`签发SSL证书,对于Nginx可使用`acme.sh --install-cert`命令安装证书,并设置自动重载Nginx服务。
|
人工智能 弹性计算 自然语言处理
解决方案应用实例 | 零售云业务中台+超级App,阿里云助力海底捞全面实现“云上捞”
2018年,海底捞和阿里云合作搭建数据中台、业务中台和移动中台的基础架构,并在此基础上升级了海底捞超级App,重构了会员体系。同年,海底捞在北京开设了第一家智慧餐厅,采用了自动配锅机、智能传菜机器人和智能厨房管理系统。2019年,海底捞的订餐排号系统搬上云端。到2020年,海底捞将自动配锅机和智能传菜机器人推向了数百家门店,同时,后勤行政系统也上云,从前端到后端所有核心业务系统全部上云,海底捞至此全面实现了“云上捞”。
6210 2
解决方案应用实例 | 零售云业务中台+超级App,阿里云助力海底捞全面实现“云上捞”