机器学习01-发展历史

机器学习01-发展历史

文章目录

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-机器学习场景

相关推荐
爱研究的小牛19 分钟前
Rerender A Video 技术浅析(二):视频增强
人工智能·深度学习·aigc
Bdawn28 分钟前
【通义实验室】开源【文本生成图片】大模型
人工智能·python·llm
黑马王子1336 分钟前
谷歌史上最强大模型-Gemini2.0震撼发布!以后世界都属于智能体?
人工智能·google
电报号dapp11939 分钟前
当前热门 DApp 模式解析:六大方向的趋势与创新
人工智能·去中心化·区块链·智能合约
宸码1 小时前
【机器学习】手写数字识别的最优解:CNN+Softmax、Sigmoid与SVM的对比实战
人工智能·python·神经网络·算法·机器学习·支持向量机·cnn
睡觉狂魔er1 小时前
自动驾驶控制与规划——Project 1: 车辆纵向控制
人工智能·机器学习·自动驾驶
goomind1 小时前
YOLOv8实战bdd100k自动驾驶目标识别
人工智能·深度学习·yolo·计算机视觉·目标跟踪·自动驾驶·bdd100k
GIS 数据栈1 小时前
自动驾驶领域常用的软件与工具
人工智能·机器学习·自动驾驶
博雅智信1 小时前
人工智能-自动驾驶领域
人工智能·python·深度学习·yolo·机器学习·计算机视觉·自动驾驶
Jackilina_Stone1 小时前
【自动驾驶】1 自动驾驶概述
人工智能·自动驾驶