机器学习(五)之损失函数

上面几节讲了监督学习和非监督学习的一些算法(目前还不完整,会慢慢补充哒)
如果文章内容有错误,欢迎小伙伴在评论区指出!

前言:

损失函数在机器学习中非常重要,直接关乎模型的好坏(so?学好它)。

其实第二节讲了这个最小二乘法,他的思想是使用残差和作为他的损失函数,来度量这个模型好不好,往哪个方向更新。通过最小化这个损失值,我们可以驱使模型不断学习和改进,直至达到满意的预测精度。

概念:

损失函数是一个量化模型预测错误的数学工具。

拓展:

我们常常在机器学习中听到成本函数。那两个有什么关系呢?

损失函数用于训练单个样本,也被成为误差训练。

成本函数用于训练整个数据集的平均损失。而我们的优化策略就是想让成本函数最小。

1、基于距离度量的损失函数

1.1 欧氏距离损失(Euclidean Distance Loss)

概念:

衡量模型输出值与真实值之间的欧式距离。

就是我们平时说的“距离”。

 这个很简单,就不多说啦,一看就明白啦。

用法:

适用于低维数据,最常用的距离方法之一。

1.2 曼哈顿距离损失(Manhattan Distance Loss)

概念:

衡量模型输出值与真实值之间的曼哈顿距离,也称为 L_{1}范式距离。

通常称为出租车距离城市街区距离( Taxicab distance or City Block distance)

只能直角移动,不能在对角线上移动。 

用法:

适用于高维数据但是不直观!

Lasso算法就用了这个L1范式(这里有讲lasso算法)

1.3 切比雪夫距离损失(Chebyshev Distance Loss)

概念:

衡量模型输出值与真实值之间的切比雪夫距离,即两个向量各维度差的最大值。

 距离计算就是像这样的。

 

 用法:

这个比较挑剔了,需要根据天时地利人和来选择,慎重哦!

1.4 马氏距离损失(Mahalanobis Distance Loss)

概念:

考虑特征之间的协方差,衡量样本之间的马氏距离。

马氏距离实际上是欧式距离在多变量下的“加强版”,用于测量点(向量)与分布之间的距离。

 yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=

用法:

适用于高维空间中的聚类或分类问题

1.5 哈林顿距离损失(Hamming Loss)

概念:

用于度量两个向量之间的相似性,通常用于多标签分类任务,衡量两个向量对应元素不相等的比率。

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs= 

 用法:

  • 度量分类变量之间的距离
  • 数据通过计算机网络传输时的错误纠正/检测。它可以用来确定二进制字中distorted bit的数目,作为估计误差的一种方法。

 1.6 余弦相似度损失(Cosine Similarity Loss)

概念:

衡量模型输出值与真实值之间的余弦相似度

 

 用法:

只考虑方向,没考虑大小。所以当大小不重要的时候,就可以用它了。

1.7 Jaccard 距离损失(Jaccard Distance Loss)

概念:

用于度量集合之间的相似性,通常用于聚类或分类问题。

 用法:

这个受数据集大小影响很大,当数据集很大时,他的交集和并集都会变大,损失值会很小就不准了。

经常用于处理二进制或者二进制化数据的应用程序中。例如预测衣服图像的片段时,Jaccard 索引就可以计算给出真实标签的预测片段的准确性。

还可以用来比较模式集,用于文本相似度分析,衡量文档之间的选词重叠程度。

这边介绍了基础的损失函数,下面还会介绍一些回归和分类中的损失函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/6398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32G474 CMAKE VSCODE 开发环境搭建

本篇博文尝试搭建 stm32g474 的开发环境 一. 工具安装 1. 关于 MinGW、OpenOCD、Zadig 这些工具的下载和安装见 JlinkOpenOCDSTM32 Vscode 下载和调试环境搭建_vscode openocd stm32 jlink-CSDN博客 2. 导出一个 STM32 的 CMAKE 工程,这里略过。 3. 安装 ninja …

matlab期末知识

1.期末考什么? 1.1 matlab操作界面 (1)matlab主界面 (2)命令行窗口 (3)当前文件夹窗口 (4)工作区窗口 (5)命令历史记录窗口 1.2 matlab搜索…

Elasticsearch:对 Java 对象的 ES|QL 查询

作者:Laura Trotta ES|QL 是 Elasticsearch 引入的一种新的查询语言,它将简化的语法与管道操作符结合起来,使用户能够直观地推断和操作数据。官方 Java 客户端的新版本 8.13.0 引入了对 ES|QL 查询的支持,提供了一个新的 API&…

Redis 实战2

系列文章目录 本文将从字典的实现、哈希算法、解决键冲突、rehash、渐进式rehash几方面来阐述 Redis 实战Ⅱ 系列文章目录字典的实现哈希算法解决键冲突rehash渐进式 rehash渐进式 rehash 执行期间的哈希表操作 字典 API总结 字典的实现 Redis 的字典使用哈希表作为底层实现&…

【大数据】学习笔记

文章目录 [toc]NAT配置IP配置SecureCRT配置PropertiesTerminal Java安装环境变量配置 Hadoop安装修改配置文件hadoop-env.shyarn-env.shslavescore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 环境变量配置 IP与主机名映射关系配置hostname配置映射关系配置 关闭防火墙…

分层图像金字塔变压器

文章来源:hierarchical-image-pyramid-transformers 2024 年 2 月 5 日 本文介绍了分层图像金字塔变换器 (HIPT),这是一种新颖的视觉变换器 (ViT) 架构,设计用于分析计算病理学中的十亿像素全幻灯片图像 (WSI)。 HIPT 利用 WSI 固有的层次结…

【matlab基础知识】(三)二维曲线绘制plot

x[-pi:0.0001:pi]; 选择较小步距 ysin(tan(x))-tan(sin(x));plot(x,y) 条件和函数值做一个点乘 x[-2:0.02:2];y1.1*sign(x).*(abs(x)>1.1)x.*(abs(x)<1.1);plot(x,y) 颜色&#xff0c;线形&#xff0c;曲线上的标志 由于0.01cosx波动太小&#xff0c;所以plotyy绘制多…

正在载入qrc文件 指定的qrc文件无法找到。您想更新这个文件的位置么?

打开Qt的ui文件&#xff0c;弹出提示框 如果需要用到qrc文件&#xff0c;选择Yes&#xff0c;再选择qrc文件所在的位置&#xff1b;如果不需要qrc文件&#xff0c;可以选择No&#xff0c;然后用普通文本编辑器打开&#xff0c;将“ <resources> <include location&q…

ARP欺骗使局域网内设备断网

一、实验准备 kali系统&#xff1a;可使用虚拟机软件模拟 kali虚拟机镜像链接&#xff1a;https://www.kali.org/get-kali/#kali-virtual-machines 注意虚拟机网络适配器采用桥接模式 局域网内存在指定断网的设备 二、实验步骤 打开kali系统命令行&#xff1a;ctrlaltt可快…

Zookeeper服务

一、什么是Zookeeper Zookeeper 是一个分布式应用程序的协调服务&#xff0c;它提供了一个高性能的分布式配置管理、分布式锁服务和分布式协调服务。它是 Apache 软件基金会的一个项目&#xff0c;被设计用来处理大规模的分布式系统中的一些关键问题。 Zookeeper的组成员关系&…

【C语言】——结构体

【C语言】——结构体 一、结构体类型的声明1.1、结构体的声明1.2、结构体变量的创建和初始化1.3、结构体的特殊声明1.4、结构体的自引用1.5、结构体的重命名 二、 结构体的内存对齐2.1、对齐规则2.2、结构体对齐实践2.3、为什么存在内存对齐2.4、修改默认对齐数 三、结构体传参…

VS Code 保存+格式化代码

在 VSCode 中&#xff0c;使用 Ctrl S 快捷键直接保存并格式化代码&#xff1a; 打开 VSCode 的设置界面&#xff1a;File -> Preferences -> Settings在设置界面搜索框中输入“format on save”&#xff0c;勾选“Editor: Format On Save”选项&#xff0c;表示在保存…

《Mask2Former》算法详解

文章地址&#xff1a;《Masked-attention Mask Transformer for Universal Image Segmentation》 代码地址&#xff1a;https://github.com/facebookresearch/Mask2Former 文章为发表在CVPR2022的一篇文章。从名字可以看出文章像提出一个可以统一处理各种分割任务&#xff08;…

C++ | Date 日期类详解

目录 简介 日期类总代码 | Date 类的定义 & 构造 & Print 类的定义 构造函数 & Print 比较类&#xff0c;如<、>、<...... 值加减类&#xff0c;如、-、、-...... 加减类具体分类 判断某个月有多少天 GetMonthDay 日期类 / &#xff08;- / -&…

随便聊一下 显控科技 控制屏 通过 RS485 接口 上位机 通讯 说明

系统搭建&#xff1a; 1、自己研发的一个小系统&#xff08;采集信号&#xff0c;将采集的信号数字化&#xff09;通过COM口&#xff0c;连接显控屏 COM3 口采用 485 协议送到显控屏&#xff08;显控科技&#xff09;的显示屏展示出来&#xff09;。 2、显控屏 将 展示的数据…

Jenkins(超详细的Docker安装Jenkins教程!!!)

Jenkins Jenkins&#xff0c;原名 Hudson&#xff0c;2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。 官方网站&#xff1a;https://www.jenkins.io/ 中文文档&#xff1a;https://www.jenkins.io/zh/ 为什么需要Jenkins&#xff1f; 我们以前写完代码&a…

Excel中怎样把单元格里的数据拆分成多行?

时常会遇到这种情况&#xff0c;需要将一个单元格里的数据分拆到多行&#xff0c;可以使用公式&#xff0c;这里演示使用基础操作的办法。 按照excel使用经验&#xff0c;可以复制数据&#xff0c;粘贴到MS Word里&#xff0c;这个是excel的同族软件&#xff0c;兼容性好。 在…

Redis的面试

认识Redis 认识NoSQL SQL&#xff08;关系型数据库&#xff09; NoSQL&#xff08;非关系型数据库&#xff09; 1.结构化 非结构化 2.关联的 非关联的 3.SQL查询 非SQL 4.事务 …

[C++基础学习-07]----C++结构体详解

前言 结构体&#xff08;Struct&#xff09;是C中一种用户定义的复合数据类型&#xff0c;用于存储不同类型的数据项。结构体可以包含不同类型的数据成员&#xff0c;这些数据成员可以是基本类型&#xff08;如int、float、char等&#xff09;&#xff0c;也可以是数组、指针、…

【SSM进阶学习系列丨分页篇】PageHelper 分页插件导入集成实践

文章目录 一、说明什么是分页PageHelper介绍 二、导入依赖三、集成Spring框架中四、编写Service五、编写Controller六、编写queryAllByPage页面展示数据 一、说明 什么是分页 ​ 针对分页&#xff0c;使用的是PageHelper分页插件&#xff0c;版本使用的是5.1.8 。 ​ 参考文档…