常用损失函数学习
损失函数(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=1∑n(yi−y^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=1∑n∣yi−y^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)−(1−y)log(1−p)
- 场景:分类任务,如图像分类、文本分类等。
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,1−yy^)
- 场景:适用于支持向量机等最大间隔分类问题。
6. Huber损失
- 理解:结合了MSE和MAE的优点,对离群点较为鲁棒,当误差较小时表现为平方损失,误差较大时变为线性损失。
- 公式:基于阈值 δ ( δ ) δ(\delta) δ(δ),当误差 ∣ y − y ^ ∣ ≤ δ |y-\hat{y}|≤δ ∣y−y^∣≤δ时, L = 1 2 ( y − y ^ ) 2 L=\frac{1}{2}(y-\hat{y})^2 L=21(y−y^)2;否则, L = δ ( ∣ y − y ^ ∣ − 1 2 δ ) L=\delta(|y-\hat{y}|-\frac{1}{2}\delta) L=δ(∣y−y^∣−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 使用了哪些关键的前沿技术使其变得如此强大?…...
一战成电失败,二战上岸复旦!
这个系列会邀请往届学长学姐进行经验分享~ 本篇是复旦大学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’ 表示)。老师想增加学生对自己做出答案的不确定性,方法是最大化有连续相同结果的题数。(…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
