首页 > 编程语言 >机器学习领域如何判定算法是否收敛(算法是否稳定)

机器学习领域如何判定算法是否收敛(算法是否稳定)

时间:2024-10-14 15:14:24浏览次数:7  
标签:该种 是否 收敛性 算法 判定 ML 收敛

最近在看ML的资料的时候看到有关算法收敛的讨论,然后有些资料并没有说明如何判定算法是否收敛,甚至有些资料中会将算法收敛和算法稳定性放在同等位置上来进行讨论,为此本文就这个问题进行一些讨论。


几年前参加实验室大师兄小利师兄的博士论文答辩的时候有答辩评委提出了这么一个问题,那就是该所提算法是否收敛,并且在论文中是如何讨论该算法的收敛性的,这个问题当时要师兄懵上了一会,最后师兄说这个算法的性能表现的趋势图在3000steps的时候已经逼近于某数值,然后证明该所提算法收敛。也正是这个时候才要我认识到这么一个问题,那就是如何判定某算法的收敛性。


经过我的调研后发现在ML领域对算法的收敛性的证明或说明有两种方法:

第一种:假设在理想状态或环境,给出一个简单的例子,比如强化学习领域给出一个5个状态的MDP,然后用表格表示法来表示,然后使用一些数学公式来进行推导和证明。该种方法在深度学习时代之前有一定的使用比例,但是在深度学习时代后就比较少了,该种方法往往需要使用大量的数学公式,但是最后得到的结论往往也只能适用于所举例的那种简单理想环境,与论文中真正的实验环境相距甚远,实际意义有限,难度较大,更多意义上是为了给论文增加所谓的“理论证明”而使论文更容易发表;

第二种:直接给出算法训练过程的性能表现的图,根据训练过程的图来指出算法在一定的训练steps后趋近于某一点,并且逼近过程比较平稳,从而给出算法收敛的证明。该种算法目前是ML领域最为可靠也最广被使用的方法,该方法简单,说明性强,适应几乎所有类型算法,而且该种方法更直观和形象。


对于算法稳定性,我认为并不能完全等价于算法收敛性的,算法收敛性指的是算法最终的性能表现是否收敛,而算法稳定性既指算法收敛同时也包括了算法训练过程中的波动情况,很大程度上来说算法稳定性等同于算法收敛性,但是二者并不是完全等价。


标签:该种,是否,收敛性,算法,判定,ML,收敛
From: https://www.cnblogs.com/xyz/p/18464241

相关文章

  • 机器学习_线性回归_岭回归算法预测波士顿房价代码实现(机器学习全流程)(附带数据集hou
    #1.导入外部数据集HousingDataimportpandasaspdboston_data=pd.read_csv(r"C:\Users\鹰\Desktop\ML_Set\HousingData.csv")#数据基本描述print(boston_data.head())print(boston_data.describe())print(boston_data.shape)#2.数据基本处理-缺失值处理,特征值和......
  • Pytho逻辑回归算法:面向对象的实现与案例详解
    这里写目录标题Python逻辑回归算法:面向对象的实现与案例详解引言一、逻辑回归算法简介1.1损失函数1.2梯度下降二、面向对象的逻辑回归实现2.1类的设计2.2Python代码实现2.3代码详解三、逻辑回归案例分析3.1案例一:简单二分类问题问题描述数据代码实现输出结果3问......
  • Python决策树算法:面向对象的实现与案例详解
    目录Python决策树算法:面向对象的实现与案例详解引言一、决策树算法概述1.1决策树的基本思想1.2分类与回归树1.3决策树的构建过程1.4决策树的优缺点优点缺点二、面向对象的决策树实现2.1类的设计2.2Python代码实现2.3代码详解三、案例分析3.1案例一:鸢尾花分类......
  • 问:JVM的垃圾收集算法你知道哪些,有什么区别?
    GC(垃圾回收器)的概念GC,即垃圾回收(GarbageCollection),是计算机程序中一种自动管理内存的机制。其目的是自动回收不再被使用的对象所占用的内存空间,从而避免内存泄漏和内存溢出,确保程序能够稳定、高效地运行。GC算法的主要特点GC算法有多种,每种算法都有其独特的工作原理和适......
  • (C语言)算法数据结构
    王道数据结构以及本人上课的笔记             ......
  • Python 中快速上手机器学习的基础算法
    机器学习作为一种让计算机从数据中自动学习的技术,在近年来得到了迅猛发展。本文将介绍几种基础的机器学习算法,并通过Python代码示例展示它们的应用。1.什么是机器学习机器学习是一种让计算机学会从数据中自动“学习”并做出预测或决策的技术。不需要显式地编程告诉计算机......
  • 101基于java ssm springboot协同过滤算法高考志愿填报系统(源码+文档+运行视频+讲解视
    项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows......
  • yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
    多目标追踪+实例分割+目标检测YOLO(YouOnlyLookOnce)是一个流行的目标检测算法,它能够在图像中准确地定位和识别多个物体。本项目是基于YOLO算法的目标跟踪系统,它将YOLO的目标检测功能与目标跟踪技术相结合,实现了实时的多目标跟踪。在目标追踪+语义分割+目标检......
  • 打架斗殴行为识别算法
    打架斗殴行为识别算法通过在关键位置安装监控摄像设备,打架斗殴行为识别算法实时监测场景中人员的行为。打架斗殴行为识别算法首先利用图像处理技术,提取人员的关键信息,如动作、姿态等。打架斗殴行为识别算法通过深度学习算法,对提取到的信息进行分析和比对,判断是否存在打架斗殴行为......
  • python 实现凸多边形的凸包问题算法
    凸多边形的凸包问题算法介绍凸多边形的凸包问题本身有点自相矛盾,因为凸多边形本身就是其所有顶点的凸包。凸包(ConvexHull)的定义是对于一个点集,包含所有点的最小凸多边形。对于已经是凸多边形的点集,这个多边形就是它自己的凸包。然而,如果你的问题是关于如何找到一个点集的......