几种推荐系统领域解决排序问题的损失函数

博客介绍了loss的公式为误差加正则,列举了多种Loss Term,如0 - 1 loss、Hinge、Log、Squared loss、Exponential loss等,还介绍了top1 loss这种启发式组合损失函数,由两部分组成,以及BPR loss,其目标是使正样本与负样本之差尽可能最大。
部署运行你感兴趣的模型镜像

loss=误差+正则

http://www.cnblogs.com/rocketfan/p/4083821.html

1.1 Loss Term

  • Gold Standard (ideal case):0-1 loss, 记录分类错误的次数
  • Hinge (SVM, soft margin)
  • Log (logistic regression, cross entropy error)
  • Squared loss (linear regression)
  • Exponential loss (Boosting)

 

top1 loss:

这是一种启发式的组合损失函数,由两个部分组成:第一部分旨在将目标分数提升到样本分数以上,而第二部分则将负样本的分数降低到零。第二部分其实就是一个正则项,但是并没有直接约束权重,它惩罚了负样本的得分。因为所有的物品都有可能作为某一个用户的负样本。具体公式如下

在这里插入图片描述

这里j对应负样本(未观测到的),i对应正样本

BPR loss:使正样本与负样本之差尽可能最大

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

### 焦点损失函数 #### 原理 焦点损失函数(Focal Loss)是在交叉熵损失函数的基础上进行改进的,主要用于解决类别不平衡问题。在目标检测等任务中,正负样本数量往往极度不平衡,大量的负样本会主导损失的计算,使得模型难以学习到正样本的特征。焦点损失函数通过引入一个调节因子 $(1 - p_t)^\gamma$,其中 $p_t$ 是模型预测的概率,$\gamma$ 是一个大于 0 的超参数。当样本被正确分类时,$p_t$ 接近 1,调节因子 $(1 - p_t)^\gamma$ 接近 0,这样就降低了易分类样本的损失权重;而对于难分类样本,$p_t$ 较小,调节因子 $(1 - p_t)^\gamma$ 接近 1,损失权重基本不变。其公式为: $FL(p_t) = - \alpha_t(1 - p_t)^\gamma \log(p_t)$ 其中 $\alpha_t$ 是用于平衡正负样本的权重因子。 #### 应用 焦点损失函数在目标检测领域有广泛的应用,例如在 RetinaNet 中,通过使用焦点损失函数,有效地解决了目标检测中正负样本不平衡的问题,提高了检测的精度。此外,在图像分类、语义分割等任务中,当存在类别不平衡情况时,也可以使用焦点损失函数来提升模型性能。 ### 余弦相似函数 #### 原理 余弦相似函数用于衡量两个向量之间的相似度,它通过计算两个向量夹角的余弦值来表示相似度。对于两个非零向量 $\vec{A}$ 和 $\vec{B}$,它们的余弦相似度定义为: $\cos(\theta) = \frac{\vec{A} \cdot \vec{B}}{\|\vec{A}\| \|\vec{B}\|}$ 其中 $\vec{A} \cdot \vec{B}$ 是向量 $\vec{A}$ 和 $\vec{B}$ 的点积,$\|\vec{A}\|$ 和 $\|\vec{B}\|$ 分别是向量 $\vec{A}$ 和 $\vec{B}$ 的模。余弦相似度的值范围在 $[-1, 1]$ 之间,值越接近 1,表示两个向量越相似;值越接近 -1,表示两个向量越不相似;值为 0 表示两个向量正交。 #### 应用 余弦相似函数在信息检索、自然语言处理等领域有广泛的应用。在信息检索中,可以使用余弦相似度来衡量文档之间的相似度,从而实现文档的排序和推荐。在自然语言处理中,常用于计算文本的相似度,例如在文本分类、情感分析等任务中,通过计算文本向量的余弦相似度来判断文本之间的相关性。 ### 区别 焦点损失函数和余弦相似函数有以下几个方面的区别: - **功能用途**:焦点损失函数主要用于解决机器学习中的类别不平衡问题,是一种损失函数,用于指导模型的训练;而余弦相似函数主要用于衡量向量之间的相似度,是一种相似度度量方法,常用于数据的比较和匹配。 - **数学定义**:焦点损失函数是基于概率的损失计算,通过调节因子来调整不同样本的损失权重;余弦相似函数是基于向量的点积和模的计算,用于衡量向量之间的夹角。 - **应用场景**:焦点损失函数主要应用于分类、检测等监督学习任务;余弦相似函数主要应用于信息检索、文本处理等领域。 ```python import torch import torch.nn.functional as F # 焦点损失函数示例 def focal_loss(logits, labels, alpha=0.25, gamma=2): probs = torch.sigmoid(logits) pt = probs * labels + (1 - probs) * (1 - labels) at = alpha * labels + (1 - alpha) * (1 - labels) loss = -at * (1 - pt) ** gamma * torch.log(pt) return loss.mean() # 余弦相似函数示例 def cosine_similarity(vec1, vec2): return F.cosine_similarity(vec1, vec2, dim=0) # 示例数据 logits = torch.randn(10) labels = torch.randint(0, 2, (10,)) vec1 = torch.randn(10) vec2 = torch.randn(10) # 计算焦点损失 focal_loss_value = focal_loss(logits, labels) print(f"Focal Loss: {focal_loss_value.item()}") # 计算余弦相似度 cosine_similarity_value = cosine_similarity(vec1, vec2) print(f"Cosine Similarity: {cosine_similarity_value.item()}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值