机器学习发展历史回顾

article/2025/8/26 16:26:18

机器学习发展历史回顾

本文为回溯机器学习发展历史阅读笔记,全文链接:机器学习发展历史回顾
在之后的学习中会以此为学习路线,逐步阅读所有机器学习方面的经典论文,并对本文中简略提及的算法进行总结和详细分析。

1 概述

机器学习是现阶段解决很多人工智能问题的主流方法。最早的机器学习算法可以追溯到20世纪初,到今天为止,已经过去了100多年。从1980年机器学习称为一个独立的方向开始算起,到现在也已经过去了近40年。

2 分类

总体上,机器学习算法可以分为有监督学习无监督学习强化学习 3种类型。半监督学习可以认为是有监督学习与无监督学习的结合,不在本文讨论的范围之类。

2.1 有监督学习

定义: 通过训练样本学习得到一个模型,然后用这个模型进行推理。
关键词: 有样本训练
举例: 识别水果图像 (分类问题)

  1. 人工标注
  2. 样本训练得到模型
  3. 利用模型对未知水果进行判断(预测)

若上述预测的是一个实数,如根据一个人的学历、工作年限、所在城市、行业等特征来预测这个人的收入,则属于回归问题

2.2 无监督学习

定义: 没有训练过程,给定一些样本数据,让机器学习算法直接对这些数据进行分析,得到数据的某些知识。
关键词: 没有训练过程
举例: 网页归类 (聚类)

  1. 抓取1w个网页
  2. 聚类算法对网页进行归类

无监督学习的另外一类典型算法是数据降维,它将一个高维向量变换到低维空间中,并且要保持数据的一些内在信息和结构。

2.3 强化学习

定义: 强化学习是一类特殊的机器学习算法,算法要根据当前的环境状态确定一个动作来执行,然后进入下一个状态,如此反复,目标是让得到的收益最大化。
关键词: 有优化过程,启发式搜索
举例: 围棋游戏
在每个时刻,要根据当前的棋局决定在什么地方落棋,然后进行下一个状态,反复的放置棋子,直到赢得或者输掉比赛。这里的目标是尽可能的赢得比赛,以获得最大化的奖励。

2.4 总结

总结来说,这些机器学习算法要完成的任务是:

分类算法-是什么? 即根据一个样本预测出它所属的类别。

回归算法-是多少? 即根据一个样本预测出一个数量值。

聚类算法-怎么分? 保证同一个类的样本相似,不同类的样本之间尽量不同。

强化学习-怎么做? 即根据当前的状态决定执行什么动作,最后得到最大的回报。

3 详细介绍

3.1 有监督学习

下图列出了经典的有监督学习算法(深度学习不在此列):
有监督学习中的经典算法

3.1.1 线性判别分析(LDA)

来历:1936年,Fisher
Fisher, R. A. (1936). The Use of Multiple Measurements in Taxonomic Problems. Annals of Eugenics. 7 (2): 179–188.
类别:有监督的数据降维算法
介绍:通过线性变换将向量投影到低维空间中,保证投影后同一种类型的样本差异很小,不同类的样本尽量不同。

3.1.2 贝叶斯分类器

来历:1950年代
类别:分类器
介绍:基于贝叶斯决策理论,把样本分到后验概率最大的那个类。

3.1.3 logistic回归

来历:1958年
Cox, DR (1958). The regression analysis of binary sequences (with discussion). J Roy Stat Soc B. 20 (2): 215–242.
类别:解决回归问题
介绍:它直接预测出一个样本属于正样本的概率,在广告点击率预估、疾病诊断等问题上得到了应用。

3.1.4 感知器模型

来历:1958年
Rosenblatt, F. (1958). “The Perceptron: A Probalistic Model For Information Storage And Organization In The Brain”. Psychological Review. 65 (6): 386–408.
类别:线性分类器
介绍:它过于简单,甚至不能解决异或问题,因此不具有实用价值,更多的起到了思想启蒙的作用,为后面的算法奠定了思想上的基础。
个人理解:非黑即白的分类器

3.1.5 KNN

来历:1967年
Thomas M Cover, Peter E Hart. Nearest neighbor pattern classification. IEEE Transactions on Information Theory, 1967.

介绍:这是一种基于模板匹配思想的算法,虽然简单,但很有效,至今仍在被使用。

总结: 在1980年之前,这些机器学习算法都是零碎化的,不成体系。但它们对整个机器学习的发展所起的作用不能被忽略。
从1980年开始,机器学习才真正成为一个独立的方向。在这之后,各种机器学习算法被大量的提出,得到了快速发展。

3.1.6 决策树

来历:1980年代到1990年代初期,三种典型实现——ID3[4],CART[5],C4.5[6]
[4] Quinlan, J. R. 1986. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81–106
[5] Breiman, L., Friedman, J. Olshen, R. and Stone C. Classification and Regression Trees, Wadsworth, 1984.
[6] Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, 1993.

介绍:简单,但可解释性强,这使得决策树至今在一些问题上仍被使用。

3.1.7 反向传播算法

来历:1986年
David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams. Learning internal representations by back-propagating errors. Nature, 323(99): 533-536, 1986.
介绍:这是现在的深度学习中仍然被使用的训练算法,奠定了神经网络走向完善和应用的基础。

3.1.8 卷积神经网络

来历:1989年
Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel, Backpropagation Applied to Handwritten Zip Code Recognition. 1989.
介绍:1989年,LeCun设计出了第一个真正意义上的卷积神经网络[13],用于手写数字的识别,这是现在被广泛使用的深度卷积神经网络的鼻祖。

总结: 在1986到1993年之间,神经网络的理论得到了极大的丰富和完善,但当时的很多因素限制了它的大规模使用。

3.1.9 SVM

来历:1995年
介绍:SVM代表了核技术的胜利,这是一种思想,通过隐式的将输入向量映射到高维空间中,使得原本非线性的问题能得到很好的处理。

3.1.10 AdaBoost

来历:1995年
介绍:代表了集成学习算法的胜利,通过将一些简单的弱分类器集成起来使用,居然能够达到惊人的精度。

3.1.11 LSTM

来历:2000年
介绍:在很长一段时间内一直默默无闻,直到2013年后与深度循环神经网络整合,在语音识别上取得成功。

3.1.12 随机森林

来历:2001年
介绍:与AdaBoost算法同属集成学习,虽然简单,但在很多问题上效果却出奇的好,因此现在还在被大规模使用。

总结: 从1980年开始到2012年深度学习兴起之前,有监督学习得到了快速的发展,这有些类似于春秋战国时代,各种思想和方法层出不穷,相继登场。另外,没有一种机器学习算法在大量的问题上取得压倒性的优势,这和现在的深度学习时代很不一样。

3.2 无监督学习

相比于有监督学习,无监督学习的发展一直和缓慢,至今仍未取得大的突破。下面我们按照聚类数据降维两类问题对这些无监督学习算法进行介绍。

3.2.1 聚类

聚类算法的历史与有监督学习一样悠久。层次聚类算法出现于1963年[26],这是非常符合人的直观思维的算法,现在还在使用。它的一些实现方式,包括SLINK[27],CLINK[28]则诞生于1970年代。
聚类算法的发展

3.2.1.1 k均值算法

聚类算法中知名度最高的,其历史可以追溯到1967年,此后出现了大量的改进算法,也有大量成功的应用,是所有聚类算法中变种和改进型最多的。

3.2.1.2 EM算法

诞生于1977年,它不光被用于聚类问题,还被用于求解机器学习中带有缺数数据的各种极大似然估计问题。

3.2.1.3 Mean Shift算法

Mean Shift算法[32]早在1995年就被用于聚类问题,和DBSCAN算法[30],OPTICS算法[31]一样,同属于基于密度的聚类算法。

3.2.1.4 谱聚类算法

诞生于2000年左右,它将聚类问题转化为图切割问题,这一思想提出之后,出现了大量的改进算法。

3.2.2 数据降维

经典的PCA算法[14]诞生于1901年,这比第一台真正的计算机的诞生早了40多年。LDA在有监督学习中已经介绍,在这里不再重复。
数据降维算法发展历史

3.2.2.1 核PCA

来历:1998年
介绍:非线性降维算法。这是核技术的又一次登台,与PCA的结合将PCA改造成了非线性的降维算法。

3.2.2.2 局部线性嵌入LLL

来历:2000年
介绍:非线性方法。此后,拉普拉斯特征映射,局部保持投影,等距映射等算法相继提出[17-19]。流形学习在数学上非常优美,但遗憾的是没有多少公开报道的成功的应用。

3.2.2.3 t-SNE算法

降维算法中年轻的成员,诞生于2008年,虽然想法很简单,效果却非常好。

3.3 概率图模型

概率图模型是机器学习算法中独特的一个分支,它是图与概率论的完美结合。在这种模型中,每个节点表示随机变量,边则表示概率。有些晦涩,但理解了之后并不难。
概率图模型发展历史

3.3.1 隐马尔可夫模型

诞生于1960年,在1980年代,它在语音识别中取得了成功,一时名声大噪,后来被广泛用于各种序列数据分析问题,在循环神经网络大规模应用之前,处于主导地位。

3.3.2 马尔可夫随机场

马尔可夫随机场诞生于1974年[23],也是一种经典的概率图模型算法。

3.3.3 贝叶斯网络

贝叶斯网络[22]是概率推理的强大工具,诞生于1985年,其发明者是概率论图模型中的重量级人物,后来获得了图灵奖。

3.3.4 条件随机场

条件随机场[24]是概率图模型中相对年轻的成员,被成功用于中文分词等自然语言处理,还有其他领域的问题,也是序列标注问题的有力建模工具。

3.4 强化学习

相比有监督学习和无监督学习,强化学习在机器学习领域的起步更晚。虽然早在1980年代就出现了时序差分算法[42-44],但对于很多实际问题,我们无法用表格的形式列举出所有的状态和动作,因此这些抽象的算法无法大规模实用。
强化学习发展历史

神经网络与强化学习的结合,即深度强化学习46-50],才为强化学习带来了真正的机会。在这里,深度神经网络被用于拟合动作价值函数即Q函数,或者直接拟合策略函数,这使得我们可以处理各种复杂的状态和环境,在围棋、游戏、机器人控制等问题上真正得到应用。神经网络可以直接根据游戏画面,自动驾驶汽车的摄像机传来的图像,当前的围棋棋局,预测出需要执行的动作。其典型的代表是DQN[46]这样的用深度神经网络拟合动作价值函数的算法,以及直接优化策略函数的算法[47-50]。


http://chatgpt.dhexx.cn/article/Harn9ldi.shtml

相关文章

机器学习--三要素

本文简单介绍一下机器学习的三要素(以监督学习为例)。机器学习方法都是由模型、策略和算法构成,即机器学习方法由三要素构成,可以简单地表示成: 方法 模型 策略 算法 1.模型 机器学习首先要考虑的问题是学习什么样…

机器学习:多分类

1,多分类形式化 1.1,分类问题 给定训练样本集合 ,其中 独立同分布,。多分类问题的目标是基于数据 ,从假说集合 中选择一个假说 ,以使得期望误差: 最小。 对于二分类问题,可以以零…

机器学习概述

一 定义 机器学习是一门从数据中研究算法的科学学科。机器学习直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。通过数据训练出一个模型->预测未知属性。 理性认识 输入:…

十大机器学习算法的一个小总结

在公众号看到来一篇不错的文章,讲解机器学习算法的,感觉挺好的,所以这里对常用的机器学习算法做一个小的总结, 然后根据学习李航老师的《统计学习方法》做得笔记,对这些算法进行补充。 简介 关于机器学习算法的研究已…

【机器学习】机器学习简介

一 定义 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身…

机器学习(一)——什么是机器学习

1.什么是机器学习? 1.1 机器学习定义 机器学习的诞生来源于两个领域: 1.人工智能(artificial intelligence)。 ML是AI四象限中的一个(think optimal)。人工智能主要包括机器学习和深度学习。深度学习是机器…

机器学习介绍

文章目录 一、机器学习介绍二、机器学习的分类三、 如何入门机器学习四、KNN算法五、 参考 一、机器学习介绍 机械学习与我们的日常生活息息相关,例如购物软件的推荐、短视频软件的推送和汽车的紧急避险,都与机械学习相关。那么什么是机械学习呢&#x…

机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三)

机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三) 代码数据结果 代码 代码按照下列顺序依次: 1、 function result(true_value,predict_value,type) [m,n]size(true_value); true_valuereshape(true_value,[1,m*n]); predict_val…

Python机器学习、深度学习库总结(内含大量示例,建议收藏)

Python机器学习、深度学习库总结(内含大量示例,建议收藏) 前言python常用机器学习及深度学习库介绍总结与分类python 常用机器学习及深度学习库总结分类 更多 前言 目前,随着人工智能的大热,吸引了诸多行业对于人工智…

黑马程序员---三天快速入门Python机器学习(第一天)

机器学习入门 一、机器学习概述1.1 人工智能概述1.1.1 机器学习与人工智能、深度学习1.1.2 机器学习、深度学习能做什么1.1.3 人工智能阶段课程安排 1.2 什么是机器学习1.2.1 定义1.2.2 解释1.2.3 数据集构成 1.3 机器学习算法分类1.3.1 总结1.3.2 练习1.3.3 机器学习算法分类 …

机器学习入门好文,强烈推荐

转自 飞鸟各投林 史上最强----机器学习经典总结---入门必读----心血总结-----回味无穷 让我们从机器学习谈起 导读:在本篇文章中,将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实…

机器学习知识点全面总结

👨‍💻作者简介:大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享,公众号:GoAI的学习小屋,免费分享书籍、简历、导图等资料&a…

《零基础数学建模》——最大最小化模型

目录 ​ 前言一、最大最小化模型概述二、模型标准型三、经典例题 ​ 前言 本文大部分是对于数学建模清风老师的课程学习总结归纳而来,我的理解可能有错误,大家发现错误可以在评论区批评指正,课程地址:《数学建模清风》 前置文章请…

数学建模 matlab 数据建模基础

一、数据的获取 1.从Excel中读取数据 (1)xlsread函数 :从EXCEL读入数据到MATLAB中。 例如: a xlsread(‘D:\adc.xlsx’,1,‘A1:D2’) 其中,‘D:\abc.xlsx’表示读入的EXCEL数据所在的路径以及EXCEL的文件名称&…

【数学建模】数学建模(一)——数学模型概述

一. 模型 1. 原型和模型 原型指人们在现实世界里关心、研究或从事生产、管理的实际对象。模型则指为了某个特定目的将原型的某一部分信息简缩、提炼而构造的原型替代物。 按照模型替代原型的方式,模型可以分为物质模型(形象模型)和理想模型&a…

数学建模——MATLAB基础知识

前言:MATLAB和我们平时学的C语言相类似,大体也是由于三部分组成的。任何的复杂的程序由顺序结构,选择结构,循环结构组成的。 一、顺序结构 1.数据的输入: input 用法:Ainput(字符串)-->>影响程序流…

数学建模竞赛基础知识

国际大学生数学建模 世界大学生数学建模 美国大学生数学建模竞赛,一个比赛多个称呼而已,美赛是一项面向高中生、大学本科层次的一个国际性比赛。 美赛可分为两种: The Mathematical Contest in Modeling (MCM): 俗称数学建模竞赛&#xf…

数学建模——基础

目录 第1章 MATLAB基础知识 1,矩阵的表示 1,数值矩阵的生成 2,符号矩阵的生成 3,特殊矩阵生成 4,一般矩阵运算 5,基本图形绘制 6,简单图像处理 7,建立函数文件/.M文件 8&a…

数据库除法理解

理解 给定关系R和关系S,求RS。 关系R和关系S拥有共同的属性A2、A3 , 首先确定得到的属性为A1。(RS得到的属性是关系R包含而关系S不包含的属性,即A1) 其次确定A1中符合条件的属性值为{a,d}。(关系R中A1的…