机器学习--损失函数

损失函数概述

损失函数(Loss Function)是机器学习中用于衡量模型预测值与真实值之间差异的函数,是优化算法的核心目标。通过最小化损失函数,模型逐步调整参数以提高预测准确性。


常见损失函数分类

回归任务
  1. 均方误差(MSE)

    计算预测值与真实值平方差的平均值,对异常值敏感:

    L(y, \\hat{y}) = \\frac{1}{n}\\sum_{i=1}\^{n}(y_i - \\hat{y}_i)\^2

  2. 平均绝对误差(MAE)

    使用绝对差值,对异常值鲁棒性更强:

    L(y, \\hat{y}) = \\frac{1}{n}\\sum_{i=1}\^{n}\|y_i - \\hat{y}_i\|

  3. Huber损失

    结合MSE和MAE,在误差较小时使用平方项,较大时转为线性项:

    L(y, \\hat{y}) = \\begin{cases} \\frac{1}{2}(y_i - \\hat{y}_i)\^2 \& \\text{if } \|y_i - \\hat{y}_i\| \\leq \\delta \\ \\delta(\|y_i - \\hat{y}_i\| - \\frac{1}{2}\\delta) \& \\text{otherwise} \\end{cases}

分类任务
  1. 交叉熵损失(Cross-Entropy)

    用于二分类或多分类,衡量概率分布的差异:

    • 二分类:

      L(y, \\hat{y}) = -\\frac{1}{n}\\sum_{i=1}\^{n}\[y_i \\log(\\hat{y}_i) + (1-y_i)\\log(1-\\hat{y}_i)\]

    • 多分类(Softmax交叉熵):

      L(y, \\hat{y}) = -\\frac{1}{n}\\sum_{i=1}\^{n}\\sum_{c=1}\^{C}y_{i,c} \\log(\\hat{y}_{i,c})

  2. Hinge损失

    支持向量机(SVM)中使用的损失函数,最大化分类边界:

    L(y, \\hat{y}) = \\max(0, 1 - y_i \\cdot \\hat{y}_i)

  3. Focal Loss

    解决类别不平衡问题,通过调整难易样本的权重:

    L(y, \\hat{y}) = -\\alpha (1-\\hat{y}_i)\^\\gamma y_i \\log(\\hat{y}_i)


损失函数选择原则

  • 任务类型:回归任务常用MSE/MAE,分类任务常用交叉熵。
  • 数据特性:异常值较多时选择MAE或Huber损失;类别不平衡时使用Focal Loss。
  • 模型需求:SVM需配合Hinge损失,神经网络常用交叉熵。

自定义损失函数

通过组合现有函数或设计新公式满足特定需求。例如:

  • 加权MSE:为不同样本分配不同权重。
  • 正则化损失:加入L1/L2惩罚项防止过拟合。

代码示例(PyTorch自定义Huber损失):

python 复制代码
import torch

def huber_loss(y_pred, y_true, delta=1.0):
    error = y_true - y_pred
    mask = (error.abs() <= delta).float()
    return (mask * 0.5 * error.pow(2) + (1 - mask) * delta * (error.abs() - 0.5 * delta)).mean()
相关推荐
学电子她就能回来吗1 天前
深度学习速成:完整的模型验证(测试,demo)套路
人工智能·深度学习
VIP_CQCRE1 天前
Nano Banana API 来了:不到半价享官方同款品质,仅需约 ¥0.10/张!
人工智能
珠海西格1 天前
光伏电站全景感知体系:数据采集与设备状态监测技术
大数据·运维·服务器·数据库·人工智能
产品经理邹继强1 天前
VTC产品与创新篇④:产品战略全景图——从“造物者”到“生态设计师”
人工智能·产品经理
Deepoch1 天前
自然交互+精准感知!Deepoc具身模型开发板让清洁机器人告别“盲扫”
人工智能·科技·机器人·半导体·清洁机器人·具身模型·deepoc
yuezhilangniao1 天前
从对话大脑到万能助手:企业级AI助理五层AI架构实战指南-AI开发架构AI体系理性分层篇
人工智能·架构
玄同7651 天前
LangChain 1.0 模型接口:多厂商集成与统一调用
开发语言·人工智能·python·langchain·知识图谱·rag·智能体
acai_polo1 天前
如何在国内合规、稳定地使用GPT/Claude/Gemini API?中转服务全解析
人工智能·gpt·ai·语言模型·ai作画
北京青翼科技1 天前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库
喵手1 天前
Python爬虫实战:构建招聘会数据采集系统 - requests+lxml 实战企业名单爬取与智能分析!
爬虫·python·爬虫实战·requests·lxml·零基础python爬虫教学·招聘会数据采集