机器学习曾是热门话题,但其发展历程却经历了漫长的时间。众多杰出的学者为推动机器学习的发展做出了巨大贡献。
早在1642年,帕斯卡发明了手动计算器,而1949年唐纳德·赫布提出了赫布法则,这些都体现了机器学习思想的初步形成。1950年,图灵在他的文章中首次提到机器学习的概念。同年,IBM科学家亚瑟·塞缪尔开发了一款西洋跳棋程序,通过观察棋盘上的走位来提升程序的下棋技巧。塞缪尔的实验表明,程序可以通过学习不断提高棋艺。1956年,他正式提出了“机器学习”的概念,定义为:“机器学习是在不直接针对问题进行编程的情况下,赋予计算机学习能力的研究领域。”
Tom Mitchell将机器学习定义为:如果计算机程序在任务T上以性能度量P衡量的能力随经验E的增加而提高,则称该程序从经验E中学习。尽管这些定义较为抽象,但随着对机器学习的深入了解,其内涵和外延也在不断演变。
机器学习是人工智能(AI)的一个重要分支,与数据挖掘(Data Mining,简称DM)和知识发现(Knowledge Discovery in Database,简称KDD)密切相关。为了更好地理解这些概念,下图展示了它们之间的关系:
[图片省略]
机器学习涉及多个学科,如概率论、统计学、逼近论等,旨在模拟或实现人类的学习行为,获取新知识或技能,从而改进自身的功能。这一过程可以用下图简单表示:
[图片省略]
1950年,图灵创造了图灵测试,用来判断计算机是否具备智能。他认为,如果计算机可以与人类对话而不被识别为机器,那么这台机器就具备智能。
1952年,IBM科学家亚瑟·塞缪尔开发了一款跳棋程序,展示了机器学习的概念,即机器可以通过学习来提升自己的能力。
从20世纪60年代中期到70年代末,机器学习的发展几乎停滞不前。无论是理论研究还是硬件限制,都阻碍了整个AI领域的进步。尽管温斯顿的结构学习系统和海斯·罗斯的基于逻辑的归纳学习系统取得了进展,但这些系统只能学习单一概念,且未能广泛应用于实际。
1981年,韦伯斯特提出了神经网络的反向传播(BP)算法,这一算法在1970年就已经被提出,但直到此时才真正发挥作用。BP算法极大地推动了神经网络的研究。1985-1986年间,研究人员相继提出了多参数线性规划(MLP)的理念,成为后来深度学习的基石。同期,昆兰提出了著名的机器学习算法——决策树,特别是ID3算法,成为机器学习领域的里程碑。
支持向量机(SVM)的出现是机器学习领域的另一重大突破。SVM具有强大的理论基础和实证结果。在2000年前后,带核函数的支持向量机的应用使得SVM在许多任务上超越了神经网络,尤其是在凸优化、泛化边界理论和核函数等方面。
2006年,辛顿提出了深度学习算法,使神经网络的能力大幅提升,挑战了支持向量机的地位。同年,辛顿和他的学生萨拉库廷诺夫在《科学》杂志上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。2015年,为纪念人工智能概念提出60周年,LeCun、Bengio和Hinton共同发布了深度学习的综述,推动了机器学习的进一步发展。
机器学习算法可以按不同的标准分类,如按函数f(x,θ)的不同,可以分为线性模型和非线性模型;按学习原则的不同,可以分为统计方法和非统计方法。一般而言,根据训练样本提供的信息及反馈方式的不同,机器学习算法可以分为以下几类:
监督学习中的数据集是有标签的,即每个样本都有明确的答案。其目标是通过构建输入特征x和标签y之间的关系,训练模型。根据标签的不同,监督学习可以分为分类任务和回归任务。常见的监督学习算法包括k-近邻算法(k-Nearest Neighbors,kNN)、决策树(Decision Trees)、朴素贝叶斯(Naive Bayesian)等。
无监督学习中的数据集是没有标签的,算法根据样本在数据空间中的距离进行分类。常见的无监督学习算法包括稀疏自编码(Sparse Auto-Encoder)、主成分分析(PCA)、K-Means算法、DBSCAN算法、最大期望算法(EM)等。
半监督学习是介于监督学习和无监督学习之间的一种方法。它利用少量有标签的数据和大量无标签的数据进行训练。常见的半监督学习方法包括直推学习(Transductive Learning)和归纳学习(Inductive Learning)。
强化学习借鉴了动物学习和参数扰动自适应控制等理论。其基本原理是:如果代理的某个行为策略导致环境正的奖励,那么该行为策略的倾向就会增强。强化学习的目标是在每个状态中找到最优策略以获得最大的期望奖励。常见的应用包括机器人学和游戏AI。
在线性回归中,输入变量x和输出变量y之间的关系表示为y=ax+b的方程。目的是找出系数a和b的值,即直线的斜率和截距。线性回归可以用于预测连续值。
CART是决策树的一种实现方式,用于分类和回归任务。CART在给定输入x条件下,预测输入y的条件概率分布。CART假设决策树为二叉树,每个节点的决策基于m个特征。
随机森林是一种基于多棵决策树的分类器。每个决策树都基于不同的训练集,最终分类结果由所有树的投票决定。随机森林是一种灵活且易于使用的算法,广泛应用于分类和回归任务。
逻辑回归适用于二分类问题,如预测事件发生的概率。其核心是逻辑函数h(x)=1/(1+e^-x)。逻辑回归通过计算样本属于某个类别的概率来进行分类。
朴素贝叶斯基于贝叶斯定理和特征条件独立假设。朴素贝叶斯分类器假设给定目标值时,属性之间相互独立。朴素贝叶斯的基本方法是在统计数据的基础上,计算当前特征的样本属于某个类别的概率,选择最大的概率分类。
kNN的核心思想是,如果一个样本在特征空间中的k个最邻近样本中大多数属于某一个类别,则该样本也属于这个类别。kNN算法不仅适用于分类,还适用于回归。
AdaBoost是一种迭代算法,通过训练不同的弱分类器并将其组合成强分类器。AdaBoost通过改变数据分布来实现,每次训练根据前一次分类的准确性调整样本的权重。
K-Means是一种聚类算法,目标是找出代表聚类结构的k个质心。算法通过迭代重新分配样本到最近的质心,直至质心不再变动。
支持向量机是一种监督学习方法,用于二元分类。其基本思想是找到集合边缘上的若干数据点,用这些点构造一个超平面,使得支持向量到该平面的距离最大。
人工神经网络是一种模拟动物神经网络行为特征的信息处理系统。其基本过程是通过神经元处理输入,形成输出。神经网络结构包括输入层、隐藏层和输出层,通过权重调整实现学习。
深度学习是机器学习领域近10年发展最快的分支,三位教授Geoffrey Hinton、Yann Lecun、Yoshua Bengio因此共同获得了图灵奖。深度学习模型的发展可以追溯到1958年的感知机(Perceptron)。
卷积神经网络的发展可以追溯到1962年Hubel和Wiesel对猫大脑视觉系统的研究。1980年,福岛邦彦提出了包含卷积层和池化层的神经网络结构。Yann Lecun将BP算法应用到这个结构上,形成了现代CNN的雏形。直到2012年,Hinton小组的AlexNet在ImageNet比赛中表现出色,推动了深度学习的发展。
循环神经网络最早可以追溯到1982年Hopfield提出的Hopfield网络。1997年,Jurgen Schmidhuber发明了长短期记忆模型(LSTM),解决了早期RNN的梯度消失问题。2010年,Tomas Mikolov提出了基于RNN的语言模型,随后Google的word2vec模型引起了深度学习在自然语言处理领域的浪潮。2014年,Bengio团队提出了seq2seq架构,将RNN用于机器翻译,Attention机制的引入进一步提升了模型效果。
图神经网络最早可以追溯到Hinton在1986年的分布式表示学习。后来,DeepWalk和node2vec等模型将表示学习扩展到网络数据上。GNN通过消息传递机制实现了图结构数据的学习,近年来受到广泛关注。
生成对抗网络(GAN)是近年来最火的生成模型之一,2014年由Ian Goodfellow提出。GAN通过生成器和判别器的对抗训练,生成高质量的样本。GAN的成功引发了大量相关研究,如CycleGAN和Vid2Vid等。
学者地图显示,美国是机器学习领域人才最多的国家,主要集中在其东西海岸;欧洲中部和西部也有较多人才;亚洲人才主要分布在中国东部和日韩地区。男性学者占比远高于女性学者。
机器学习学者的h-index大多在20以上,其中20-30区间的人数最多,占比28.8%。
中国学者在机器学习领域的分布以京津地区最多,其次是长三角和珠三角地区。与周边国家相比,中国的学者数量较多,特别是在与美国的合作最为密切。
机器学习的发展经历了从基础理论到广泛应用的过程,涌现了众多杰出的学者和算法。随着深度学习和图神经网络等新技术的发展,机器学习将继续在各个领域发挥重要作用。