首页 > 其他分享 >常见的激活函数和损失函数

常见的激活函数和损失函数

时间:2024-11-05 19:15:08浏览次数:6  
标签:函数 Huber 常见 损失 ReLU 激活 MSE 表达式

激活函数

1. 线性激活函数

        • 数学表达式:y = x

        • 优点:简单,易于理解和实现

        • 缺点:不能处理复杂的数据模式,无法引入非线性

2. Sigmoid函数

        • 数学表达式:

        • 优点:将值映射到0和1之间,输出具有明确的意义(概率)

        • 缺点:梯度消失问题,输出不以0为中心

3. Tanh函数

         • 数学表达式(双曲正切):

        • 优点:将值映射到-1和1之间,输出以0为中心

        • 缺点:仍存在梯度消失问题

4. ReLU函数(Rectified Linear Unit)

        • 数学表达式:f(x) = max(0, x)

        • 优点:可以缓解梯度消失问题,计算效率高

        • 缺点:存在"死ReLU"问题

5. Leaky ReLU函数

        • 数学表达式:f(x) = max(0.01x, x)

         • 优点:尝试解决"死ReLU"问题

        • 缺点:参数可能需要调整

6. Swish函数

        • 数学表达式:f(x) = x * sigmoid(x)

        • 优点:据称其表现优于ReLU

        • 缺点:相比ReLU计算量较大

7. Softmax函数

        • 数学表达式: ,其中j从1到k

        • 优点:将一组值转换为一组概率值,常用于多类别分类问题的输出层

        • 缺点:当类别过多时,计算量较大

损失函数

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

        • 这是回归问题中最常用的损失函数。对于n个数据点,MSE为每个数据点 预测值与真实值差的平方的平均值。

        • 对于n个数据点,如果真实值为y_i,预测值为ŷ_i,则MSE = (1/n) Σ(y_i - ŷ_i)^2。

2. 均方根误差(Root Mean Squared Error, RMSE):

         • 它是MSE的平方根,用于量化预测误差的标准偏差。

        • RMSE是MSE的平方根,即RMSE = sqrt(MSE)。

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

        • 它是每个数据点预测值与真实值差的绝对值的平均值。

        • MAE = (1/n) Σ|y_i - ŷ_i|。

4. 交叉熵损失(Cross Entropy Loss)

        • 分类问题中最常用的损失函数。对于二分类问题,其形式为二元交叉熵 损失,用于衡量模型预测概率分布与真实分布之间的差距。对于多分类 问题,其形式为多项交叉熵损失。

        • 对于二分类问题,如果真实标签为y,预测为p,则二元交叉熵损失为-[y log(p) + (1-y) log(1-p)]。对于多分类问题,如果真实标签为one-hot编码 的向量y,预测为概率分布向量p,则多项交叉熵损失为-Σ(y_i log(p_i))。

5. 对数损失(Log Loss):

        • 对数损失通常用于二分类问题,其实就是二元交叉熵损失的另一种说法。

        • 对数损失的表达式与二元交叉熵损失相同,即-[y log(p) + (1-y) log(1 p)]。

6. Hinge损失 (Hinge Loss):

         • Hinge损失通常用于支持向量机和一些线性分类问题。

        • 对于分类问题,如果真实标签为y,预测为ŷ,则Hinge损失为max(0, 1 y*ŷ)。

7. Huber损失 (Huber Loss)

        • Huber损失是回归问题中的一种损失函数,它在误差小的时候变为平方 误差,误差大的时候变为绝对误差,因此对于异常值具有更好的鲁棒性。

        • 对于回归问题,Huber损失定义为:

                • 如果|y - ŷ| ≤ δ,则Huber损失为0.5 * (y - ŷ)^2

                • 如果|y - ŷ| > δ,则Huber损失为δ * |y - ŷ| - 0.5 * δ^2

                • 其中,δ是一个需要调整的参数。

标签:函数,Huber,常见,损失,ReLU,激活,MSE,表达式
From: https://blog.csdn.net/qq_67654130/article/details/143522454

相关文章

  • 利用射线检测实现光束照射激活功能——2024TapTap聚光灯GameJam(一)
    利用射线检测实现光束照射激活功能——2024TapTap聚光灯GameJam记录日期 2024-11-05                          记录时间 13:35项目完成 2024-10-28                         历经时长 21 天简介项目主题:Light项目......
  • 【semantic Kernel】如何让其他模型也能在SemanticKernel中调用本地函数
    参考:https://mp.weixin.qq.com/s/swPPTyIJa-2OJcyycBVJNQ代码://接入星火AIvarhttpClient=newHttpClient(newXinghuoOpenAIHttpClientHandler());varbuilder=Kernel.CreateBuilder().AddOpenAIChatCompletion(modelId:"generalv3.5","tHQoTStMXIMXmmFwr......
  • 智慧园区算法视频分析服务器烟雾识别监控系统常见的推荐配置参考指南
    在智慧园区的构建中,视频监控系统扮演着至关重要的角色,尤其是算法视频分析服务器在烟雾识别方面的应用,它能够极大地提升园区的安全监控能力。为了确保系统的有效运行和精准识别,合理的硬件配置是基础。以下是智慧园区算法视频分析服务器的推荐配置参考指南。1、处理器(CPU):视频分析......
  • C++——用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个团数,整数
    没注释的源代码#include<iostream>usingnamespacestd;voidsortNumbers(int**arr,intn);intmain(){  intn;  cout<<"enterthenumberofintegers:";  cin>>n;  int**arr=newint*[n];  for(inti=0;i<n;i++)  {......
  • C++中类的三的特性是什么?什么是构造函数和析构函数?它们的作用是什么?
    1)C++中类的三大特性是什么?请简要解释。C++中类的三大特性是封装、继承和多态。一、封装封装是将数据和操作数据的方法封装在类中,对外部隐藏类的内部实现细节。通过将数据成员设为私有(private),并提供公有的(public)成员函数来访问和修改这些数据,从而实现对数据的保护和控......
  • 每天两个知识点 拷贝构造函数和赋值运算符重载的作用&C++模板及其类型
    1)拷贝构造函数和赋值运算符重载的作用拷贝构造函数(CopyConstructor)和赋值运算符重载(AssignmentOperatorOverload)是C++中处理对象复制和赋值的两个重要机制。拷贝构造函数:拷贝构造函数是一个特殊的构造函数,它用于创建一个新对象,并将其初始化为另一个同类型对象的副本。......
  • 使用 axios 拦截器实现请求和响应的统一处理(附常见面试题)
    在现代前端开发中,我们经常需要向服务器发送HTTP请求,并根据响应内容做不同的处理。axios是一个流行的HTTP库,提供了拦截器功能,可以在请求和响应阶段插入自定义逻辑,这使得我们在处理认证、错误提示等场景时更为简洁、统一。本文将讲解如何利用axios的请求拦截器和响应拦......
  • 常见设计模式-工厂模式
    文章目录1.简单工厂模式2.工厂方法模式3.抽象工厂模式设计模式七大原则工厂模式是一种创建型设计模式,它提供了一种创建对象的接口,但由子类决定要实例化的类是哪一个。工厂模式让一个类的实例化延迟到其子类。工厂模式主要分为三种:简单工厂模式、工厂方法模式......
  • AI运动小程序开发常见问题集锦二
    截止到现在写博文时,我们的AI运动识别小程序插件已经迭代了23个版本,成功应用于健身、体育、体测、AR互动等场景;为了让正在集成或者计划进行功能扩展优化的用户,少走弯路、投入更少的开发资源,针对近期的咨询问题,我们又归集了一些常见问题,供大家参考。一、计时、计数计量模式有什么......