机器学习01-发展历史

机器学习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.mzph.cn/web/62661.shtml

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

相关文章

想了解操作系统,有什么书籍推荐?

推荐一本操作系统经典书: 操作系统导论 《操作系统导论》虚拟化(virtualization)、并发(concurrency)和持久性(persistence)。这是我们要学习的3个关键概念。通过学习这3个概念,我们将理解操作系统是如何工作的,包括它如何决定接下来哪个程序…

[Collection与数据结构] 位图与布隆过滤器

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

【大数据学习 | 面经】Spark的shuffle hash join的具体细节

1. 前言 shuffle hash join是Spark中一种常见的连接策略,尤其适用于两个数据集都比较大且无法通过广播来优化的情况。其核心思想是通过对连接键进行哈希分区,使得相同键值的数据被分配到相同的分区中,从而可以在每个分区独立的执行连接操作。…

设计模式从入门到精通之(一)工厂模式

工厂模式:为每个工厂找到"生意经" 在现实生活中,我们随处可见"工厂"的影子,比如汽车工厂生产汽车,食品工厂生产食品。但你有没有想过,为什么我们需要工厂?如果没有工厂,我们…

谈谈你对vue这种框架理解

发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 Vue.js 是一个渐进式的前端 JavaScript 框架,旨在通过提供易于理解、上手简单且功能强大的工具来构建现代化的 Web …

使用html2canvas实现前端截图

一、主要功能 网页截图:html2canvas通过读取DOM结构和元素的CSS样式,在客户端生成图像,不依赖于服务端的渲染。它可以将指定的DOM元素渲染为画布(canvas),并生成图像。多种输出格式:生成的图像…

微信小程序横屏页面跳转后,自定义navbar样式跑了?

文章目录 问题原因:解决方案: 今天刚遇到的问题,横屏的页面完成操作后跳转页面后,自定义的tabbar样式乱了,跑到最顶了,真机调试后发现navbar跑到手机状态栏了,它正常应该跟右边胶囊一行。 知道问…

Vivado ILA数据导出MATLAB分析

目录 ILA数据导出 分析方式一 分析方式二 有时候在系统调试时,数据在VIVADO窗口获取的信息有限,可结合MATLAB对已捕获的数据进行分析处理 ILA数据导出 选择信号,单击右键后,会有export ILA DATA选项,将其保存成CS…

《探索形象克隆:科技与未来的奇妙融合》

目录 一、什么是形象克隆 二、形象克隆的技术原理 三、形象克隆的发展现状 四、形象克隆的未来趋势 五、形象克隆的应用场景 六、形象克隆简单代码案例 Python 实现数字人形象克隆 Scratch 实现角色克隆效果(以猫为例) JavaScript 实现 Scratc…

MATLAB深度学习(七)——ResNet残差网络

一、ResNet网络 ResNet是深度残差网络的简称。其核心思想就是在,每两个网络层之间加入一个残差连接,缓解深层网络中的梯度消失问题 二、残差结构 在多层神经网络模型里,设想一个包含诺干层自网络,子网络的函数用H(x)来表示&#x…

前端入门之VUE--vue组件化编程

前言 VUE是前端用的最多的框架;这篇文章是本人大一上学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 2、Vue组件化编程2.1、组件2.2、基本使用2.2.1、VueComponent 2、Vue组件化编程 2.1、组件 组件:用来实现…

设计模式-装饰器模式(结构型)与责任链模式(行为型)对比,以及链式设计

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1.装饰器模式1.1概念1.2作用1.3应用场景1.4特点1.5类与对象关系1.6实现 2责任链模式2.1概念2.2作用2.3应用场景2.4特点2.5类与对象关系2.6实现 3.对比总结 前言…

交叉熵损失函数(Cross-Entropy Loss)

原理 交叉熵损失函数是深度学习中分类问题常用的损失函数,特别适用于多分类问题。它通过度量预测分布与真实分布之间的差异,来衡量模型输出的准确性。 交叉熵的数学公式 交叉熵的定义如下: C r o s s E n t r o y L o s s − ∑ i 1 N …

操作系统:死锁与饥饿

目录 死锁概念 饥饿与饿死概念 饥饿和死锁对比 死锁类型 死锁条件(Coffman条件) 死锁恢复方法 死锁避免 安全状态与安全进程序列: 银行家算法: 死锁检测时机(了解): 死锁检测 死锁案…

Prisoner’s Dilemma

囚徒困境博弈论解析 什么是囚徒困境? 囚徒困境(Prisoner’s Dilemma)是博弈论中的一个经典模型,用来分析两名玩家在非合作环境下的决策行为。 其核心在于玩家既可以选择合作也可以选择背叛,而最终的结果取决于双方的…

RPO: Read-only Prompt Optimization for Vision-Language Few-shot Learning

文章汇总 想解决的问题对CoOp的改进CoCoOp尽管提升了性能,但却增加了方差(模型的准确率波动性较大)。 模型的框架一眼看去,跟maple很像(maple跟这篇文章都是2023年发表的),但maple的视觉提示是由文本提示经过全连接转换而来的,而这里是文本提示和视觉提示是独立的。另外m…

『MySQL 实战 45 讲』24 - MySQL是怎么保证主备一致的?

MySQL是怎么保证主备一致的? MySQL 主备的基本原理 基本的主备切换流程 状态 1:客户端的读写都直接访问节点 A,而节点 B 是 A 的备库状态 2:切换时,读写访问的都是节点 B,而节点 A 是 B 的备库注意&…

自荐一部IT方案架构师回忆录

作者本人毕业于一个不知名大专院校,所读专业计算机科学技术。2009年开始IT职业生涯,至今工作15年。擅长TSQL/Shell/linux等技术,曾经就职于超万人大型集团、国内顶级云厂商、央国企公司。参与过运营商大数据平台、大型智慧城市ICT、云计算、人…

python数据分析之爬虫基础:selenium详细讲解

目录 1、selenium介绍 2、selenium的作用: 3、配置浏览器驱动环境及selenium安装 4、selenium基本语法 4.1、selenium元素的定位 4.2、selenium元素的信息 4.3、selenium元素的交互 5、Phantomjs介绍 6、chrome handless模式 1、selenium介绍 (1…

【数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现顺序查找的算法。 相关知识 为了完成本关任务,你需要掌握:1.根据输入数据建立顺序表,2.顺序表的输出,…