当前位置: 首页 > news >正文

常用损失函数学习

损失函数(Loss Function),在机器学习和统计学中,是用来量化模型预测输出与真实结果之间差异的函数。简而言之,损失函数衡量了模型预测的好坏,目标是通过最小化这个函数来优化模型参数,从而提高预测准确性。下面是一些常用的损失函数及其应用场景:

1. 均方误差(Mean Squared Error, MSE)

  • 理解:对于回归问题,MSE计算预测值与真实值之差的平方和的均值,能够放大较大误差的影响。
  • 公式 L ( Y , Y ^ ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 L(Y, \hat{Y}) = \frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 L(Y,Y^)=n1i=1n(yiy^i)2
  • 场景:广泛用于连续值预测任务,如房价预测、股票价格预测等。

2. 平均绝对误差(Mean Absolute Error, MAE)

  • 理解:与MSE类似,但取差值的绝对值,对异常值敏感性较低。
  • 公式 L ( Y , Y ^ ) = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ L(Y, \hat{Y}) = \frac{1}{n} \sum_{i=1}^{n}|y_i - \hat{y}_i| L(Y,Y^)=n1i=1nyiy^i
  • 场景:同样适用于回归问题,特别是当希望模型对误差有更均匀的反应时。

3. 交叉熵损失(Cross-Entropy Loss)

  • 理解:用于分类问题,特别是在神经网络中,衡量预测概率分布与实际类别标签的概率分布的差异。
  • 公式(二分类问题,sigmoid激活函数): L ( y , p ) = − y log ⁡ ( p ) − ( 1 − y ) log ⁡ ( 1 − p ) L(y, p) = -y \log(p) - (1-y) \log(1-p) L(y,p)=ylog(p)(1y)log(1p)
  • 场景:分类任务,如图像分类、文本分类等。

4. 逻辑斯谛损失(Logistic Loss)

  • 理解:实际上是二元交叉熵损失的一种特例,常用于逻辑回归模型。
  • 场景:与交叉熵损失类似,适用于二分类问题。

5. Hinge损失

  • 理解:主要用于最大间隔分类器,如支持向量机(SVM),鼓励模型找到宽的分类边界。
  • 公式 L ( y , y ^ ) = max ⁡ ( 0 , 1 − y y ^ ) L(y, \hat{y}) = \max(0, 1 - y\hat{y}) L(y,y^)=max(0,1yy^)
  • 场景:适用于支持向量机等最大间隔分类问题。

6. Huber损失

  • 理解:结合了MSE和MAE的优点,对离群点较为鲁棒,当误差较小时表现为平方损失,误差较大时变为线性损失。
  • 公式:基于阈值 δ ( δ ) δ(\delta) δ(δ),当误差 ∣ y − y ^ ∣ ≤ δ |y-\hat{y}|≤δ yy^δ时, L = 1 2 ( y − y ^ ) 2 L=\frac{1}{2}(y-\hat{y})^2 L=21(yy^)2;否则, L = δ ( ∣ y − y ^ ∣ − 1 2 δ ) L=\delta(|y-\hat{y}|-\frac{1}{2}\delta) L=δ(yy^21δ)
  • 场景:适合包含较多离群值的数据集的回归问题。

选择原则:

选择损失函数时,需考虑任务类型(回归还是分类)、数据特性(如是否含有离群点)、模型训练的稳定性以及对误差的容忍度等因素。例如,在对预测误差的敏感性要求不高且数据可能存在噪声时,MAE可能是更好的选择;而在分类任务中,尤其是多分类或需要概率输出时,交叉熵损失通常是首选。

相关文章:

常用损失函数学习

损失函数(Loss Function),在机器学习和统计学中,是用来量化模型预测输出与真实结果之间差异的函数。简而言之,损失函数衡量了模型预测的好坏,目标是通过最小化这个函数来优化模型参数,从而提高预…...

判断视频moov的位置

前言 MP4文件由若干称为Atom(或称为box)的数据对象组成,每个Atom的起首为四个字节的数据长度(Big Endian)和四个字节的类型标识,数据长度和类型标志都可以扩展。Atom可以嵌套,即其数据域可以由…...

python安装依赖

创建 requirement.txt 文件并填充内容 flask2.0.0 pandas1.3.3 numpy1.21.2 安装模块 pip install -r requirement.txt...

如何利用GitHubAction来发布自己的Python软件包

我们开发的python软件包如果想发布到网上,可以让其他人通过pip install下载,一般是把软件包发布到PYPI平台。 PYPI准备 我们要现在pypi注册登录一下 文件组织架构 一般的python软件包的文件组织架构为包名文件夹__init__.py程序,包文件夹的…...

raspberry pi/orienge pi等arm架构硬件打包ros humble docker视觉及机器人开发镜像

raspberry pi/orienge pi等arm架构硬件打包ros humble docker开发镜像 文章目录 前言准备工作拉取镜像编写Dockerfile编译docker镜像启动镜像docker-compose文件编写总结前言 这篇文章主要用于定制化打包需要的docker镜像,由于ros1提供的镜像源是国外的很多软件无法更新,所以…...

springboot+mysql在线考试系统-计算机毕业设计源码82584

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对在线考试等问题,对如何通过计算…...

LangChain - 建立代理

本文翻译整理自:Build an Agent https://python.langchain.com/v0.2/docs/tutorials/agents/ 文章目录 一、说明概念 二、定义工具1、TavilyAPI参考: 2、RetrieverAPI参考:API参考: 3、工具 三、使用语言模型四、创建代理五、运行…...

爬虫案例:有道翻译python逆向

pip install pip install requestspip install base64pip install pycrytodome tools 浏览器的开发者工具,重点使用断点,和调用堆栈 工具网站:https://curlconverter.com/ 简便请求发送信息 flow 根据网站信息,preview,respon…...

仅需一块 4GB 的 GPU ,就能运行开源大语言模型:Llama3 70B

最强的开源大语言模型 Llama3 已经发布一段时间了,一些盆友资源有限,私信询问是否可以使用 4GB 的 VRAM 在本地运行 Llama3 70B。 与 GPT-4 相比,Llama3 的性能如何?Llama3 使用了哪些关键的前沿技术使其变得如此强大&#xff1f…...

一战成电失败,二战上岸复旦!

这个系列会邀请往届学长学姐进行经验分享~ 本篇是复旦大学957来自专业课134分上岸同学的经验分享。 经验分享 大家好,大伙能点进这个帖子倍感荣幸。 先说一下个人情况吧,鼠鼠本科武汉大学物院,总共四年混了四年,绩点低&#x…...

27寸2K显示器 - HKC G27H2

HKC G27H2是一款面向电竞市场的高性能显示器,以其2K分辨率和180Hz的刷新率作为主要卖点,旨在为玩家提供流畅而清晰的视觉体验。配备HDR 400技术和95% DCI-P3色域覆盖,这款显示器还支持升降旋转支架,为用户提供了高度的人体工程学适…...

编程实战:类C语法的编译型脚本解释器(七)语句

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 系列入口: 编程实…...

实体-联系图

为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境, 而且与在软件系统中的实现方法无关。…...

ROCm上来自Transformers的双向编码器表示(BERT)

14.8. 来自Transformers的双向编码器表示(BERT) — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2l#save def get_tokens_and_segments(tokens_a, tokens_bNone):""&qu…...

期权课程之第一节【用生活的例子解释什么是期权】

1、用生活的例子解释什么是期权 期权的英文名也就叫Option【选择】,实际上期权本质也就是一种选择权。 买入资产的例子 假如你【买家】看上了一套老王的【卖家】房子,现价100W、但是目前手头比较紧、但是你又不想错过这个房子,你可以先给老…...

【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...

[windows系统安装/重装系统][step-4][番外篇-2]N卡驱动重装 |解决:开机几小时后电脑卡顿 | 后台自动运行了上千个Rundll32进程问题

现象 开机几小时后,电脑变卡,打开后台管理器都卡,后台管理去转圈圈一小会儿后看到后台进程上千个,好多个Rundll32进程 重启下运行会稍快 重启后运行快,后台管理器反应也快 打开后台管理器不卡(几小时后打…...

Redis开发实战

单机部署安装 服务端下载,安装,启动去官网下载最新的版本:http://redis.io/download ,这里用的是3.0.2解压后,进入解压好的文件夹redis的安装非常简单,因为已经有现成的Makefile文件,所以直接先…...

C++ | Leetcode C++题解之第112题路径总和

题目: 题解: class Solution { public:bool hasPathSum(TreeNode *root, int sum) {if (root nullptr) {return false;}if (root->left nullptr && root->right nullptr) {return sum root->val;}return hasPathSum(root->left…...

leetcode力扣 2024. 考试的最大困扰度

一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 ‘T’ 表示)或者 false (用 ‘F’ 表示)。老师想增加学生对自己做出答案的不确定性,方法是最大化有连续相同结果的题数。(…...

从SQL入门到性能调优进阶,精通SQL数据库实用教程

SQL进阶教程:从“会查表”到“调度数据洪流”的跃迁指南 SQL入门后,你已能在单张表里自如翻找、增删改写——但这只是拿到了数据库城邦的游客地图;进阶,是获得一张实时交通调度图:它显示哪条数据通道正拥堵、哪个查询…...

从“听”到“看”:希尔伯特变换如何让机械故障诊断更精准?一个振动信号分析实战

从“听”到“看”:希尔伯特变换如何让机械故障诊断更精准?一个振动信号分析实战 当工厂里的关键设备突然发出异常声响,经验丰富的老师傅可能会竖起耳朵听几秒,然后准确判断:"轴承内圈有损伤"。这种神奇的&qu…...

化工企业ERP核心功能模块

化工行业ERP系统需满足生产流程复杂、合规性要求高、供应链管理特殊等需求,通常包含以下核心模块:生产管理模块配方管理(BOM):支持多版本配方管理,精确到原料比例、工艺参数及替代方案批次跟踪:…...

-:RAG 入门-向量存储与企业级向量数据库 milvus匾

起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧&#xff…...

地理数据处理不再复杂:3分钟掌握Mapshaper核心技巧

地理数据处理不再复杂:3分钟掌握Mapshaper核心技巧 【免费下载链接】mapshaper Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files 项目地址: https://gitcode.com/gh_mirrors/ma/mapshaper 你是否曾因处理Shapefile时遇到文件过大而卡顿&#…...

Spring Boot Starter 自定义组件封装技巧

Spring Boot Starter 自定义组件封装技巧 在微服务架构盛行的今天,Spring Boot凭借其"约定优于配置"的理念成为开发者的首选。而Starter作为Spring Boot生态中的核心组件,能够将依赖、配置和自动装配逻辑封装为开箱即用的模块。掌握自定义Sta…...

某型高速可回收模块化靶标无人机总体设计方案

1. 总体设计1.1 项目概述与设计目标本方案面向新一代防空武器系统测试、训练需求的高性能靶标无人机。其核心任务是逼真模拟典型高速突防空中威胁(如巡航导弹、战斗轰炸机等)的飞行特性、电磁特征与机动模式,为防空部队提供高价值、高强度、低…...

我用 AI 辅助开发了一系列小工具():文件提取工具挖

从0构建WAV文件:读懂计算机文件的本质 虽然接触计算机有一段时间了,但是我的视野一直局限于一个较小的范围之内,往往只能看到于算法竞赛相关的内容,计算机各种文件在我看来十分复杂,认为构建他们并能达到目的是一件困难…...

DVWA靶场JavaScript通关实战:从源码混淆到手动生成Token的完整指南

DVWA靶场JavaScript通关实战:从源码混淆到手动生成Token的完整指南 1. 初识DVWA JavaScript挑战 DVWA(Damn Vulnerable Web Application)作为经典的Web安全学习靶场,其JavaScript Attacks模块专门设计用于训练前端安全分析能力。这…...

实测PyTorch-2.x-Universal-Dev-v1.0:开箱即用,GPU验证到Jupyter启动全流程

实测PyTorch-2.x-Universal-Dev-v1.0:开箱即用,GPU验证到Jupyter启动全流程 1. 引言:为什么选择这个镜像 深度学习开发环境配置一直是让开发者头疼的问题。从CUDA驱动安装到各种Python库的版本兼容性,每一步都可能遇到意想不到的…...