机器学习01-发展历史

news2024/12/12 18:39:06

机器学习01-发展历史

文章目录

  • 机器学习01-发展历史
    • 1-传统机器学习的发展进展
      • 1. 初始阶段:统计学习和模式识别
      • 2. 集成方法和核方法的兴起
      • 3. 特征工程和模型优化
      • 4. 大规模数据和分布式计算
      • 5. 自动化机器学习和特征选择
      • 总结
    • 2-隐马尔科夫链为什么不能解决较长上下文问题
      • 1. 假设的简化性
      • 2. 状态空间爆炸
      • 3. 记忆能力的限制
      • 4. 计算复杂度和可扩展性
      • 5. 参数估计的困难
      • 总结
    • 3-最大熵ME为什么可以解决较长上下文问题
      • 优点
      • 限制
      • 与其他模型的比较
      • 结论
    • 4-SVM、隐马尔可夫模型、最大熵ME、最大马尔科夫、条件随机场 对比
    • 5-机器学习场景

1-传统机器学习的发展进展

某个大佬搞了一张很漂亮的图,地址:https://www.processon.com/view/6755412923bb5e5f8d1c4a15


传统机器学习自20世纪末以来经历了显著的发展和演变。以下是传统机器学习发展历程中的几个关键阶段及其主要进展:

1. 初始阶段:统计学习和模式识别

  • 时间:20世纪50年代至80年代
  • 代表性模型
    • 感知机(Perceptron):由Frank Rosenblatt于1957年提出,是最早的人工神经网络模型之一,用于二分类问题。
    • 贝叶斯分类器(Bayesian Classifier):基于贝叶斯定理,用于分类任务。
    • K近邻(K-Nearest Neighbors, KNN):一种基于实例的分类和回归方法。
    • 决策树(Decision Trees):由Ross Quinlan在1980年代提出,用于分类和回归任务。
  • 发展意义:这些早期的模型为后来的机器学习算法奠定了基础,尽管计算能力和数据量的限制使得这些方法在当时未能广泛应用。

2. 集成方法和核方法的兴起

  • 时间:20世纪90年代至2000年代初期
  • 代表性模型
    • 支持向量机(Support Vector Machines, SVM):由Vladimir Vapnik和Alexey Chervonenkis在1990年代提出,通过核技巧(Kernel Trick)在高维空间中解决分类问题。
    • 随机森林(Random Forests):由Leo Breiman在2001年提出,通过集成多个决策树提高预测性能。
    • AdaBoost:由Yoav Freund和Robert Schapire在1996年提出,是一种提升算法,通过迭代训练弱分类器来构建强分类器。
  • 发展意义:这些方法显著提升了模型的性能和泛化能力,特别是在处理高维数据和复杂分类问题时表现出色。

3. 特征工程和模型优化

  • 时间:2000年代中期至2010年代初期
  • 代表性模型
    • 梯度提升机(Gradient Boosting Machines, GBM):由Jerome Friedman在2001年提出,通过迭代优化损失函数来提升模型性能。
    • 线性回归和逻辑回归:进一步优化和推广,广泛应用于回归和分类任务。
  • 发展意义:这一阶段强调特征工程和模型优化,通过选择和处理特征来提升模型性能。特征工程成为机器学习流程中的重要步骤。

4. 大规模数据和分布式计算

  • 时间:2010年代中后期
  • 代表性模型
    • XGBoost:由Tianqi Chen在2014年提出,是GBM的优化版本,适合大规模数据和分布式计算。
    • LightGBM和CatBoost:分别由微软和Yandex在2017年提出,进一步优化了GBM的性能和速度。
  • 发展意义:随着数据量的增加和计算能力的提升,传统机器学习方法在大规模数据上的应用成为可能,极大提升了模型的预测性能。

5. 自动化机器学习和特征选择

  • 时间:2010年代末至今
  • 代表性模型
    • AutoML:自动化机器学习工具如Auto-sklearn和TPOT,通过自动化模型选择、超参数优化和特征工程,简化了机器学习流程。
    • 特征选择算法:如LASSO(Least Absolute Shrinkage and Selection Operator)和RFECV(Recursive Feature Elimination with Cross-Validation),通过自动选择重要特征提升模型性能。
  • 发展意义:自动化机器学习和特征选择工具的出现,使得非专业人士也能更容易地应用机器学习模型,推动了机器学习的普及。

总结

传统机器学习的发展经历了从基础模型的提出到集成方法、特征工程、大规模数据处理和自动化机器学习的多个阶段。这些进展不仅提升了模型性能,也使得机器学习方法能够应用于更广泛的实际问题,推动了人工智能领域的发展。


2-隐马尔科夫链为什么不能解决较长上下文问题

隐马尔可夫模型(Hidden Markov Model,HMM)在处理较长上下文问题时面临一些根本性的限制。这些限制主要源于其模型结构和假设,具体表现如下:

1. 假设的简化性

HMM 基于两个主要假设:

  • 马尔可夫假设:当前状态仅依赖于前一个状态,即状态转移是马尔可夫性质的,不考虑更远的历史状态。
  • 观察独立性假设:当前观察仅依赖于当前状态,与其他观察和状态无关。

这两个假设在实际应用中过于简化,无法捕捉长距离依赖关系。随着上下文长度的增加,HMM 无法有效建模复杂的依赖关系。

2. 状态空间爆炸

随着上下文长度的增加,状态空间的规模呈指数增长。对于较长上下文,状态空间变得难以管理,导致计算复杂度和存储需求的急剧增加。

3. 记忆能力的限制

HMM 的记忆能力有限,只能记住短期信息(即前一个状态的信息)。对于需要长期依赖关系的任务,HMM 的表现会显著下降。

4. 计算复杂度和可扩展性

HMM 的训练和推断算法(如前向-后向算法和维特比算法)在处理较长上下文时,计算复杂度高。随着上下文长度增加,算法的时间复杂度和空间复杂度都会显著增加,限制了其在实际应用中的可扩展性。

5. 参数估计的困难

在较长上下文情况下,HMM 的参数估计变得困难。由于数据稀疏性和模型复杂性,参数估计的误差会增大,进而影响模型的性能。

总结

隐马尔可夫模型由于其固有的简化假设、状态空间爆炸、记忆能力限制、计算复杂度和参数估计困难等问题,难以有效解决较长上下文问题。为了克服这些限制,研究人员开发了更多复杂的模型,如递归神经网络(RNNs)、长短时记忆网络(LSTM)和 transformer 等,这些模型在处理长距离依赖关系和较长上下文方面表现更优。


3-最大熵ME为什么可以解决较长上下文问题

最大熵模型(Maximum Entropy,ME)在一定程度上可以处理较长上下文问题,但其能力仍然有限。最大熵模型是一种统计学习方法,其目标是在给定的约束条件下,选择概率分布使得熵最大,即不确定性最大。这使得模型在没有额外信息的情况下,做出最保守的假设。

优点

  1. 灵活性:最大熵模型可以通过引入特征函数来捕获复杂的特征交互,包括上下文信息。

  2. 泛化能力:通过最大化熵,模型可以避免过拟合,具有较好的泛化能力。

  3. 可解释性:模型的参数与特征函数相关,使得模型具有一定的可解释性。

限制

  1. 特征工程:最大熵模型的效果高度依赖于特征的选择和设计。对于较长上下文问题,需要设计复杂的特征函数来捕捉长距离依赖关系,这通常较为困难且耗时。

  2. 计算复杂度:随着上下文长度的增加,特征的数量可能急剧增长,导致模型训练和预测的计算复杂度增加。

  3. 局部性:尽管可以通过特征函数引入上下文信息,但最大熵模型仍然主要关注局部的特征组合,对于非常长的上下文,其表现可能会受限。

与其他模型的比较

与隐马尔可夫模型(HMM)相比,最大熵模型在处理上下文问题时具有一定的优势,因为可以通过特征函数更灵活地引入上下文信息。然而,最大熵模型仍然面临特征工程的挑战,并且在处理极长上下文时可能不够高效。

近年来,深度学习模型,如卷积神经网络(CNNs)、循环神经网络(RNNs)、长短期记忆网络(LSTMs)和transformer等,展示了在处理长上下文问题上的优势。这些模型能够自动学习特征表示,并通过多层结构捕捉长距离依赖关系,从而在自然语言处理、语音识别和其他序列任务中取得显著成果。

结论

虽然最大熵模型通过特征函数可以处理一定程度的上下文信息,但其在处理较长上下文问题时仍然存在局限性。现代深度学习模型提供了更强大的能力来处理长距离依赖关系,是解决这类问题的更有效选择。


4-SVM、隐马尔可夫模型、最大熵ME、最大马尔科夫、条件随机场 对比

每个模型能力:

  1. 支持向量机(SVM)

    • 一种监督学习模型,主要用于分类和回归分析。
    • 通过寻找一个超平面来将不同类别的数据分开,目标是最大化边际。
  2. 隐马尔可夫模型(HMM)

    • 一种统计模型,用于表示隐藏状态序列的概率。
    • 广泛应用于语音识别、自然语言处理等领域。
  3. 最大熵(ME)

    • 一种统计学习方法,基于最大熵原则,用于分类和建模。
    • 尽量保持信息熵最大,以获得最不确定的模型。
  4. 最大熵马尔可夫模型(MEMM)

    • 结合了最大熵和马尔可夫模型的特点,用于序列标注任务。
    • 考虑当前观测和前一状态的影响。
  5. 条件随机场(CRF)

    • 一种判别式概率模型,用于标注和分类变量序列。
    • 能够考虑整个序列的信息,避免MEMM的标签偏差问题。

能力Markdown表格:

模型名称功能解决的问题优点缺点
SVM分类和回归在高维空间中分类和回归问题泛化能力强,适用于高维空间训练时间较长,参数调优复杂
HMM序列建模和预测隐藏状态序列的概率建模能够处理时序数据,概率解释性强假设状态独立性,可能不现实
ME分类和建模在给定约束下寻找最不确定的模型能够集成多个特征,概率解释性强可能过拟合,训练时间较长
MEMM序列标注标注序列数据考虑上下文信息,训练效率高存在标签偏差问题
CRF序列标注和分类标注序列数据,考虑全局特征能够考虑全局特征,无标签偏差训练和预测时间较长,参数多

简要概述了每个模型的主要功能、它们解决的问题、优点和缺点。


5-机器学习场景

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

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

相关文章

HTA8998 实时音频跟踪的高效内置升压2x10W免电感立体声ABID类音频功放

1、特征 输出功率(fIN1kHz,RL4Ω,BTL) VBAT 4V, 2x10.6W(VOUT9V,THDN10%) VBAT 4V, 2x8.6W (VOUT9V,THDN1%) 内置升压电路模式可选择:自适应实时音频跟踪 升压(可提升播放时间50%以上)、强制升压 最大升压值可选择,升压限流值可设置 ACF防破音功能 D类…

Modern Effective C++ 条款三十八:关注不同线程句柄的析构行为

之前内容的总结: item37中说明了可结合的std::thread对应于执行的系统线程。未延迟(non-deferred)任务的future(参见item36)与系统线程有相似的关系。 因此,可以将std::thread对象和future对象都视作系统…

【Spring】IoC和DI,控制反转,Bean对象的获取方式

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:什么是IoC 1:什么是容器 2:什么是IoC 二:IoC应用…

【网络协议栈】TCP/IP协议栈中重要协议和技术(DNS、ICMP、NAT、代理服务器、以及内网穿透)

每日激励:“请给自己一个鼓励说:Jack我很棒!—Jack” 绪论​: 本章是TCP/IP网络协议层的完结篇,本章将主要去补充一些重要的协议和了解一些网络中常见的名词,具体如:DNS、ICMP、NAT、代理服务器…

离屏渲染概述

我们知道,图像的处理基本都是在GPU中进行,然后GPU将渲染的结果放入当前渲染屏幕的帧缓冲区中,视频控制器取出里面的内容,在屏幕上进行显示。那么有没有什么情况,会因为某些限制,GPU无法将全部的渲染结果直接…

探索 Python 应用的分层依赖:解决 Linux 环境中的 libvirt-python 安装问题

探索 Python 应用的分层依赖:解决 Linux 环境中的 libvirt-python 安装问题 背景Python 版本升级 问题描述原因分析与解决方案 Python 应用的分层依赖:安装与部署的视角libvirt-python的分层依赖尝试的解决方案 使用编译好的 .whl 文件"嫁接"整…

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

声明 因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱 ESXI主机为192.168.20.10 VCSA为192.168.20.7,后台为192.168.20.7:5480 后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来 第一阶段…

Unity3D下采集camera场景并推送RTMP服务实现毫秒级延迟直播

技术背景 好多开发者,希望我们能够分享下如何实现Unity下的camera场景采集并推送rtmp服务,然后低延迟播放出来。简单来说,在Unity 中实现采集 Camera 场景并推送RTMP的话,先是获取 Camera 场景数据,通过创建 RenderTex…

指令周期流程图

例题一 例题二 例题三

使用C#通过ColorMatrix对象为图像重新着色

此示例产生了一些令人印象深刻的结果,但实际上非常简单。 它使用其他几个示例演示的 ImageAttribute 技术来快速操作图像的颜色。 下面的AdjustColor方法启动图像着色的过程。 // Adjust the images colors. private Image AdjustColor(Image image) {// Make the …

SQL 在线格式化 - 加菲工具

SQL 在线格式化 打开网站 加菲工具 选择“SQL 在线格式化” 或者直接访问 https://www.orcc.online/tools/sql 输入sql,点击上方的格式化按钮即可 输入框得到格式化后的sql结果

AI作图效率高,亲测ToDesk、顺网云、青椒云多款云电脑AIGC实践创作

一、引言 随着人工智能生成内容(AIGC)的兴起,越来越多的创作者开始探索高效的文字处理和AI绘图方式,而云电脑也正成为AIGC创作中的重要工具。相比于传统的本地硬件,云电脑在AIGC场景中展现出了显著的优势,…

【密码学】SM4算法

一、 SM4算法简介 SM4算法是中国国家密码管理局于2012发布的一种分组密码算法,其官方名称为SMS4(SMS4.0),相关标准为GM/T 0002-2012《SM4分组密码算法》。SM4算法的分组长度和密钥长度均为128比特,采用非平衡Feistel结构。采用32…

Proteus(8.15)仿真下载安装过程(附详细安装过程图)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、Proteus是什么? 二、下载链接 三、下安装步骤 1.解压,有键管理员运行 2.点击Next,进行下一步 3.勾选I accept…&#…

【工业机器视觉】基于深度学习的水表盘读数识别(4-训练与预测)

【工业机器视觉】基于深度学习的仪表盘识读(读数识别)(3)-CSDN博客 训练与预测 Ultralytics YOLO指的是由Ultralytics公司开发的一系列基于YOLO(You Only Look Once)架构的目标检测算法。YOLO是一种实时目标检测系统,它…

AlphaPose、yolov8Pose、RTMPose进行对比

一、Alphapose 参考: https://blog.csdn.net/m0_45850873/article/details/123939849

MongoDB-ObjectID 生成器

前言 MongoDB中一个非常关键的概念就是 ObjectID,它是 MongoDB 中每个文档的默认唯一标识符。了解 ObjectID 的生成机制不仅有助于开发人员优化数据库性能,还能帮助更好地理解 MongoDB 的设计理念。 什么是 MongoDB ObjectID? 在 MongoDB …

ARM学习(36)静态扫描规则学习以及工具使用

笔者来学习了解一下静态扫描以及其规则,并且亲身是实践一下对arm 架构的代码进行扫描。 1、静态扫描认识 静态扫描:对代码源文件按照一定的规则进行扫描,来发现一些潜在的问题或者风险,因为不涉及代码运行,所以其一般只是发现一些规范或则一些质量问题,当然这些可能存在潜…

从 Zuul 迁移到 Spring Cloud Gateway:一步步实现服务网关的升级

从 Zuul 迁移到 Spring Cloud Gateway:一步步实现服务网关的升级 迁移前的准备工作迁移步骤详解第一步:查看源码第二步:启动类迁移第三步:引入 Gateway 依赖第四步 编写bootstrap.yaml第五步:替换路由配置第六步&#…

centos部署SkyWalking并在springcloud项目中用法举例

文章目录 场景SkyWalking介绍部署部署Storage [单机版Elasticsearch]部署SkyWalking OAP [下载地址](https://skywalking.apache.org/downloads/#SkyWalkingAPM)部署SkyWalking Java Agent springCloud 使用举例 场景 SkyWalking是应用性能监控平台,可用于分布式系统…