机器学习基础知识【 激活函数、损失函数、优化器、 正则化、调度器、指标函数】

目录标题

    • 机器学习基础知识概览
      • 激活函数 (Activation Functions)
      • 损失函数 (Loss Functions / Cost Functions)
      • 优化器 (Optimizers)
      • 正则化 (Regularization)
      • 调度器 (Schedulers / Learning Rate Schedulers)
      • 指标函数 (Metric Functions)
      • 其他重要概念
      • 训练流程


机器学习基础知识概览

激活函数 (Activation Functions)

激活函数是神经网络中的一个关键组成部分,它引入了非线性。如果没有激活函数,即使是多层神经网络也只会执行线性变换,从而限制了其学习复杂模式的能力。激活函数决定了神经元的输出。

常见类型:

  • Sigmoid 函数: 将输入压缩到 0 到 1 的范围。它曾经很流行,但在深度网络中容易出现梯度消失问题。
  • ReLU (Rectified Linear Unit) 函数: 当输入大于 0 时,输出等于输入;当输入小于等于 0 时,输出为 0。ReLU 是目前最常用的激活函数,因为它计算简单且能有效缓解梯度消失问题。
  • Leaky ReLU 函数: 解决了 ReLU 在输入为负时“死亡”的问题,即在输入为负时,输出一个小的非零梯度。
  • Tanh (Hyperbolic Tangent) 函数: 将输入压缩到 -1 到 1 的范围,是 Sigmoid 的改进版,但仍可能面临梯度消失。
  • Softmax 函数: 主要用于多分类问题的输出层,它将一组实数转换为概率分布,所有输出值的和为 1。
Name (英文)中文名称Formula(公式)Feature(特点)Usage(用途)
SigmoidS型函数σ(x)=11+e−x\sigma(x) = \frac{1}{1+e^{-x}}σ(x)=1+ex1输出范围 (0,1),梯度消失问题二分类输出层
Tanh双曲正切tanh⁡(x)=ex−e−xex+e−x\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}tanh(x)=ex+exexex输出范围 (-1,1),居中对称隐藏层
ReLU线性整流函数f(x)=max⁡(0,x)f(x) = \max(0, x)f(x)=max(0,x)稀疏激活,训练快,可能“死亡神经元”隐藏层
Leaky ReLU带泄漏的ReLUf(x)=xf(x) = xf(x)=x if x>0x > 0x>0 else 0.01x0.01x0.01x避免神经元完全失活隐藏层
Softmax归一化函数exi∑jexj\frac{e^{x_i}}{\sum_j e^{x_j}}jexjexi输出为概率分布,适合多分类多分类输出层

损失函数 (Loss Functions / Cost Functions)

损失函数衡量模型预测值与真实值之间的差异。它的目标是量化模型的不准确性,并在训练过程中通过最小化损失来提高模型的性能。选择合适的损失函数对于特定任务至关重要。

常见类型:

  • 均方误差 (Mean Squared Error, MSE): 适用于回归任务,计算预测值与真实值差的平方的平均值。它对较大的误差给予更大的惩罚。
  • 平均绝对误差 (Mean Absolute Error, MAE): 同样适用于回归任务,计算预测值与真实值差的绝对值的平均值。MAE 对异常值不敏感。
  • 交叉熵 (Cross-Entropy): 主要用于分类任务。
    • 二元交叉熵 (Binary Cross-Entropy): 用于二分类问题。
    • 分类交叉熵 (Categorical Cross-Entropy): 用于多分类问题,当标签是独热编码时。
    • 稀疏分类交叉熵 (Sparse Categorical Cross-Entropy): 同样用于多分类问题,当标签是整数编码时。
  • Hinge Loss: 主要用于支持向量机 (SVM) 分类器,特别是用于最大间隔分类。
Loss Function
损失函数
公式任务及用途说明符号定义
Mean Squared Error (MSE)
均方误差
MSE=1n∑i=1n(yi−y^i)2\displaystyle \text{MSE} = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2MSE=n1i=1n(yiy^i)2回归任务计算预测值与真实值差的平方的平均值,对大误差敏感,惩罚较大偏差。nnn:样本数量
yiy_iyi:真实值
y^i\hat{y}_iy^i:预测值
Mean Absolute Error (MAE)
平均绝对误差
MAE=1n∑i=1n∣yi−y^i∣\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} \left | y_i - \hat{y}_i \right |MAE=n1i=1nyiy^iMAE 只用于回归任务,不适合分类其鲁棒性和对离群点不敏感,相较于 MSE 在梯度优化时不够平滑(不可导点在 yi=y^iy_i = \hat{y}_iyi=y^i),计算预测值与真实值差的绝对值平均值,对异常值更鲁棒。同上
Binary Cross-Entropy
二元交叉熵
−[ylog⁡(y^)+(1−y)log⁡(1−y^)]\displaystyle -\left[ y \log(\hat{y}) + (1 - y) \log(1 - \hat{y}) \right][ylog(y^)+(1y)log(1y^)]二分类任务用于 0/1 二分类问题,衡量预测概率与真实标签的差异,常配 sigmoid。y∈{0,1}y \in \{0,1\}y{0,1}:真实标签
y^\hat{y}y^:预测概率(取值[0,1])
Categorical Cross-Entropy
分类交叉熵
−∑i=1Cyilog⁡(y^i)\displaystyle -\sum_{i=1}^{C} y_i \log(\hat{y}_i)i=1Cyilog(y^i)多分类任务(独热编码标签)多分类常用损失函数,标签为 one-hot,模型输出为 softmax 概率。CCC:类别数
yi∈{0,1}y_i \in \{0,1\}yi{0,1}:标签的 one-hot 编码
y^i\hat{y}_iy^i:类别 iii 的预测概率
Sparse Categorical Cross-Entropy
稀疏分类交叉熵
与分类交叉熵公式相同,标签为整数形式多分类任务(稀疏整数标签)用于标签为整数形式的多分类,更高效节省内存。标签为整数,表示类别索引,预测概率同上
Hinge Loss
Hinge 损失
Hinge=max⁡(0,1−y⋅y^)\displaystyle \text{Hinge} = \max(0, 1 - y \cdot \hat{y})Hinge=max(0,1yy^)SVM / 最大间隔分类任务用于支持向量机分类,推动模型扩大类间间隔,标签通常为 −1-11+1+1+1y∈{−1,+1}y \in \{-1, +1\}y{1,+1}:真实标签
y^\hat{y}y^:预测得分(实数)

优化器 (Optimizers)

优化器是调整模型权重和偏置以最小化损失函数的算法。它们指导着模型在训练过程中如何“学习”。

常见类型:

  • 梯度下降 (Gradient Descent, GD): 最基本的优化器,沿着损失函数梯度的负方向更新权重。
    • 批量梯度下降 (Batch Gradient Descent): 使用整个训练集计算梯度,更新一次权重。计算成本高,但收敛稳定。
    • 随机梯度下降 (Stochastic Gradient Descent, SGD): 每次使用一个样本计算梯度,更新一次权重。速度快,但波动性大。
    • 小批量梯度下降 (Mini-batch Gradient Descent): 介于批量梯度下降和随机梯度下降之间,每次使用一小批样本计算梯度。兼顾了速度和稳定性,是实践中最常用的方法。
  • 动量 (Momentum): 引入“动量”项,帮助 SGD 克服局部最小值并加速收敛。
  • Adagrad (Adaptive Gradient Algorithm): 根据参数的历史梯度自适应地调整学习率。对频繁更新的参数降低学习率,对不频繁更新的参数提高学习率。
  • RMSprop (Root Mean Square Propagation): Adagrad 的改进版,解决了 Adagrad 学习率单调递减的问题。
  • Adam (Adaptive Moment Estimation): 结合了动量和 RMSprop 的优点,是目前最流行和最有效的优化器之一。
Name (英文)中文名称Feature(特点)Usage(用途)
SGD随机梯度下降简单,基础,更新慢小数据、入门
Momentum动量法增加惯性,避免震荡,收敛更快中等复杂度任务
AdaGrad自适应梯度学习率自动调整,对稀疏特征有效自然语言处理
RMSProp平均方根传播改进 AdaGrad,避免学习率快速下降序列建模
Adam自适应矩估计综合 Momentum + RMSProp,主流高效优化器推荐使用

正则化 (Regularization)

正则化技术旨在防止模型在训练数据上过拟合 (Overfitting),从而提高模型在新数据上的泛化能力。过拟合发生时,模型在训练集上表现良好,但在未见过的数据上表现差。

常见类型:

  • L1 正则化 (Lasso Regression): 在损失函数中添加权重绝对值之和的惩罚项。它倾向于使一些权重变为零,从而实现特征选择。
  • L2 正则化 (Ridge Regression / Weight Decay): 在损失函数中添加权重平方和的惩罚项。它倾向于使权重变小,但不使其变为零。
  • Dropout: 在神经网络训练过程中,随机地“关闭”一些神经元(及其连接)。这迫使网络学习更鲁棒的特征,减少对特定神经元的依赖。
  • Early Stopping (早期停止): 监控模型在验证集上的性能,当验证损失停止下降甚至开始上升时,提前停止训练。
  • 数据增强 (Data Augmentation): 通过对现有训练数据进行变换(如图像旋转、翻转、裁剪等)来创建新的训练样本,从而增加训练数据的多样性。
Name (英文)中文名称Formula(公式)Feature(特点)
L2 RegularizationL2 正则化λ∑w2\lambda \sum w^2λw2抑制大权重,适合多数模型
L1 RegularizationL1 正则化λ∑w\lambda \sum wλw稀疏化模型,特征选择
Dropout随机失活每次训练随机屏蔽部分神经元防止依赖特定路径,增加泛化能力
Early Stopping提前停止验证损失不再下降则停止训练控制训练时间,避免过拟合

调度器 (Schedulers / Learning Rate Schedulers)

调度器(也称为学习率调度器)用于在训练过程中动态调整学习率。一个合适的学习率策略可以显著影响模型的训练速度和最终性能。

常见类型:

  • 步长衰减 (Step Decay): 每隔一定数量的 epoch,将学习率乘以一个固定因子(如 0.1)。
  • 指数衰减 (Exponential Decay): 学习率按照指数形式衰减。
  • 余弦退火 (Cosine Annealing): 学习率按照余弦函数的形式周期性地下降和上升,有助于模型跳出局部最优。
  • 多项式衰减 (Polynomial Decay): 学习率按照多项式函数的形式衰减。
  • ReduceLROnPlateau: 当模型的性能(例如验证损失)在一定数量的 epoch 内没有改善时,降低学习率。
Name (英文)中文名称Feature(特点)
StepLR阶梯下降每隔若干步将学习率乘以一个常数
ExponentialLR指数衰减每步指数下降
ReduceLROnPlateau验证集不下降则衰减更智能,常用于验证损失不变时
CosineAnnealingLR余弦退火余弦变化,前期下降快,后期平稳
Linear Warmup & Decay线性预热 + 下降常用于 BERT 微调,先慢慢升高后线性衰减

指标函数 (Metric Functions)

指标函数用于评估模型的性能。它们提供了关于模型在特定任务上的表现的定量衡量标准。与损失函数不同,指标函数通常更具可解释性,更接近我们对模型性能的直观理解,并且不一定需要可微。

常见类型:

  • 准确率 (Accuracy): 在分类任务中,正确预测的样本数占总样本数的比例。
  • 精确率 (Precision): 在分类任务中,被预测为正例的样本中,真实为正例的比例。衡量模型预测正例的准确性。
  • 召回率 (Recall / Sensitivity): 在分类任务中,所有真实正例中,被模型正确预测为正例的比例。衡量模型识别正例的能力。
  • F1 分数 (F1 Score): 精确率和召回率的调和平均值,综合考虑了两者。
  • ROC 曲线和 AUC (Area Under the Receiver Operating Characteristic Curve): 用于评估二分类模型的性能,特别是当类别不平衡时。AUC 值越大,模型性能越好。
  • R² 分数 (R-squared / Coefficient of Determination): 在回归任务中,衡量模型解释因变量方差的能力。
  • 均方根误差 (Root Mean Squared Error, RMSE): MSE 的平方根,与原始数据单位一致,更具可解释性。

📊 分类任务指标(Classification):

Name (英文)中文名称Formula(公式)说明(中文)
Accuracy准确率TP+TNTotal\frac{TP + TN}{Total}TotalTP+TN总体预测正确的比例
Precision精确率TPTP+FP\frac{TP}{TP + FP}TP+FPTP预测为正中真正为正的比例
Recall召回率TPTP+FN\frac{TP}{TP + FN}TP+FNTP所有实际为正中预测为正的比例
F1 Score调和平均值2PRP+R\frac{2PR}{P + R}P+R2PR平衡精确率和召回率
AUC-ROC曲线下面积曲线面积越大越好衡量分类能力强弱

📈 回归任务指标(Regression):

Name (英文)中文名称Formula(公式)说明
MSE均方误差1n∑(y−y^)2\frac{1}{n} \sum (y - \hat{y})^2n1(yy^)2对大误差敏感
RMSE均方根误差MSE\sqrt{MSE}MSE单位与原量纲相同,易解释
MAE平均绝对误差1n∑∣y−y^∣\frac{1}{n} \sum | y - \hat{y} |n1yy^更鲁棒,对异常点影响小
R² Score决定系数1−SSESST1 - \frac{SSE}{SST}1SSTSSE越接近 1 表示拟合越好

其他重要概念

  • 数据集 (Dataset): 训练和测试模型的数据集合。通常分为训练集 (Training Set)验证集 (Validation Set)测试集 (Test Set)
    • 训练集: 用于训练模型。
    • 验证集: 用于在训练过程中评估模型性能,调整超参数,并进行早期停止。
    • 测试集: 用于在模型训练完成后,评估模型的最终泛化能力。
  • 特征 (Features): 用于描述样本的属性或变量。
  • 标签 (Labels) / 目标 (Targets): 模型需要预测的输出值。
  • 模型 (Model): 学习数据模式的算法或结构(例如神经网络、决策树等)。
  • 超参数 (Hyperparameters): 在训练过程开始之前设置的参数,例如学习率、批次大小、网络层数、隐藏单元数量等。它们影响模型的学习过程。
  • 欠拟合 (Underfitting): 模型未能充分学习训练数据的模式,导致在训练集和测试集上都表现不佳。通常是模型复杂度不足或训练时间不够导致的。
  • 过拟合 (Overfitting): 模型在训练数据上表现非常好,但对新数据的泛化能力差。通常是模型过于复杂或训练数据量不足导致的。
  • 偏差 (Bias): 模型对真实关系过于简化的假设所导致的误差。高偏差通常对应着欠拟合。
  • 方差 (Variance): 模型对训练数据中随机性噪声的敏感程度。高方差通常对应着过拟合。
  • 偏差-方差权衡 (Bias-Variance Trade-off): 在降低偏差和降低方差之间进行平衡,以获得最佳的模型泛化能力。

训练流程

Raw Data(原始数据)
↓
Preprocessing(预处理)
↓
Train/Validation/Test Split(划分训练、验证、测试集)
↓
Model Definition(模型构建) → Activation Function(激活) → Loss(损失) → Optimizer(优化) → Regularization(正则)
↓
Train(训练) → Scheduler(调度器) → Evaluate(评估指标)
↓
Tune(调参) → Save(保存模型) → Deploy(部署)

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

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

相关文章

【达梦数据库|JPA】后端数据库国产化迁移记录

项目背景 经典的springbootjpa,java1.8数据库MySQL需要迁移到国产化数据库达梦上 开发环境安装 最简单的方式: 官方网站下载安装时选择“典型安装”即可 Linux安装 国产化一律上docer不要犹豫 下载三方提供的docker镜像按页面文档启动即可同上下载官…

ubuntu22默认安装firefox使用snap安装还老打不开解决办法

终极解决方案(100% 避免 Snap 版 Firefox) 步骤 1:彻底移除 Snap 版 Firefox bash sudo snap remove --purge firefox 步骤 2:添加 Mozilla 官方 PPA(提供 .deb 版 Firefox) bash sudo add-apt-repository …

MyBatis02-mybatis-config.xml配置文件讲解

mybatis-config.xml 是 MyBatis 的核心配置文件&#xff0c;用于配置整个 MyBatis 框架的全局行为&#xff0c;比如环境&#xff08;数据源&#xff09;、事务、类型别名、插件、Mapper 映射等。示例&#xff1a;<?xml version"1.0" encoding"UTF-8" ?…

合上电脑不关机

在Debian 系统上&#xff0c;如何实现合上电脑不关机的效果&#xff1f; 可以修改配置文件&#xff1a; sudo vim /etc/systemd/logind.conf1.找到 HandleLidSwitch &#xff0c;将其值改为 ignore &#xff08;处理盖子开关为忽略&#xff09; 2.将 LidSwitchIgnoreInhibited …

服务器深夜告警?可能是攻击前兆!

凌晨三点&#xff0c;刺耳的告警铃声把你从梦中惊醒&#xff1a;服务器CPU 100%&#xff0c;内存耗尽&#xff01;你手忙脚乱地登录服务器&#xff0c;发现某个进程疯狂占用资源。是程序Bug&#xff1f;还是业务突增&#xff1f;排查半天&#xff0c;最后在角落的日志里发现蛛丝…

重学前端003 --- CSS 颜色

文章目录文档声明head颜色模型div根据在这里 Freecodecamp 实践&#xff0c;记录笔记总结。 文档声明 在文档顶部添加 DOCTYPE html 声明 <!DOCTYPE html>head title 元素为搜索引擎提供了有关页面的额外信息。 它还通过以下两种方式显示 title 元素的内容&#xff1a…

学弟让我帮忙写一个学生管理系统的后端,我直接上科技

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 一、飞算AI简介 二、系统开发 2.1 需求提出 2.2 系统模块的设计 2.3 数据库表格设计 2.4 接口规范设计 2.5 源码生成 三、总结 学弟这两天有一个小组合作的任务&#xff0c;应该是培训吧要写一个学生管理…

《P3038 [USACO11DEC] Grass Planting G》

题目描述 给出一棵有 n 个节点的树&#xff0c;有 m 个如下所示的操作&#xff1a; 将两个节点之间的 路径上的边 的权值均加一。 查询两个节点之间的 那一条边 的权值&#xff0c;保证两个节点直接相连。 初始边权均为 0。 输入格式 第一行两个整数 n,m&#xff0c;含义…

NestJS

文章的地址 NestJShttps://equinox-primrose-ceb.notion.site/NestJS-22d4b8031e0f80b39fc7fe1ff111f802 不产生测试的.spec.ts文件的配置 "generateOptions": {"spec": false }创建模型 nest g m xx 创建服务 nest g s xx 创建处理 nest g c xx CRU…

vue入门学习教程

一、介绍 vue是一款用于构建用户界面的 JavaScript 框架。基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。 二、使用和安装 方法1&#xff1a;在html代码中直接使用<script>导入&…

C++类对象多态基础语法【超详细】

文章目录前言1. 虚函数1.1 现象1.2 多态1.3 析构函数1.4 override和final1.5 重载、隐藏、重写对比2. 抽象类2.1 抽象类特性2.2 抽象类的应用场景3. 多态实现的底层原理4. 静态绑定和动态绑定5. 总结前言 多态是面向对象三大特性之一&#xff0c;也是细节最多的语法之一。学习…

Flask 入门到实战(3):用 SQLAlchemy 优雅操作数据库

深入理解 Flask ORM&#xff1a;用 SQLAlchemy 优雅操作数据库一、前言&#xff1a;什么是 ORM&#xff1f;为什么要用它&#xff1f; 传统数据库操作要写 SQL&#xff0c;比如&#xff1a; SELECT * FROM users WHERE id 1;而使用 ORM 后&#xff0c;你可以这样写&#xff1a…

源表=电源+数字表?一文看懂SMU源表 2025-04-14

源表(Source Meter Unit, SMU)广泛用于半导体器件、材料、医疗、发光器件与光通信等行业,测量器件的伏安(I-V)特性曲线、绝缘材料的电阻值(电阻率)、电容的绝缘电阻(漏电流)、光电器件的暗电流或者L-I-V等。 源表的名称已经清晰的告诉我们,它包含了高精度电源输出和…

单片机STM32F103:DMA的原理以及应用

STM32F103系列微控制器&#xff08;基于ARM Cortex-M3内核&#xff09;集成了**DMA&#xff08;Direct Memory Access&#xff0c;直接内存访问&#xff09;**控制器&#xff0c;用于在存储器与外设、存储器与存储器之间高效传输数据&#xff0c;减少CPU的干预&#xff0c;从而…

Webview 中可用的 VS Code 方法

在 VS Code Webview 的 HTML 中&#xff0c;不能直接调用 VS Code 的 API&#xff08;如 vscode.window.showInformationMessage&#xff09;&#xff0c;但可以通过 acquireVsCodeApi() 获取一个受限的 vscode 对象&#xff0c;用于与插件主程序通信。以下是详细说明和示例&am…

Qt:布局管理器Layout

目录 布局管理器 QVBoxLayout QHBoxLayout QGirdLayout QFormLayout Spacer 布局管理器 在以往的界面操作上&#xff0c;都是程序员手动拖动控件来布局&#xff0c;这种方式有一些不足之处&#xff0c;比如不能很好的把握控件之间的距离&#xff0c;以及控件的大小&…

【Java编程动手学】深入剖析Java网络编程:原理、协议与应用

文章目录一、引言二、计算机网络基础1、计算机网络的概念2、网络地址的重要性三、套接字编程&#xff1a;网络通信的基石1、套接字的概念2、TCP通信编程示例四、TCP通信编程&#xff1a;可靠的数据传输1、TCP协议的特点2、实际应用中的TCP通信五、UDP通信编程&#xff1a;高效的…

vue3.2 前端动态分页算法

文章目录背景思路页面情况核心代码小结效果背景 1. 后台接口只是动态返回一个数组的数据&#xff0c;前端需要根据数据量的大小判断是否需要分页&#xff0c;页面高度固定2. 页面根据页数大小有不同的展示a. 只有一页 头部 内容 统计 尾部b. 多页i. 第一页 头部 内容 尾…

UC浏览器PC版自2016年后未再更新不支持vue3

win uc浏览器&#xff0c;点击页面触发异常。UC浏览器PC版自2016年后未再更新&#xff08;最新版本停留在Chromium 50内核&#xff09;。其内置内核版本较低&#xff08;如Trident/Blink旧版&#xff09;&#xff0c;无法支持Vue 3等现代前端框架的语法特性&#xff08;如ES6、…

亚古数据:澳大利亚公司的ABN和ACN号码是什么?

在跨国商业的迷宫中&#xff0c;了解目标市场的公司注册细节是一项不可或缺的技能。对于与中国企业有业务往来的朋友们来说&#xff0c;澳大利亚这片充满机遇的土地上&#xff0c;两个缩写——ABN与ACN&#xff0c;如同解锁合作之门的密钥&#xff0c;显得尤为重要。今天&#…