Code前端首页关于Code前端联系我们

从头开始理解机器学习

terry 2年前 (2023-09-23) 阅读数 66 #AI人工智能

1 机器学习的定义

1.1 什么是机器学习?

机器学习 (ML) 是计算机科学的一个领域,它使用统计(或数学)技术从观察到的数据构建模型(或系统)。机器学习是利用计算机程序模仿人类的能力,从样本数据中学习知识和规则,然后用于推理和决策。

从最广泛的意义上来说,机器学习可以赋予“机器”学习的能力,使它们能够执行直接编程无法完成的任务。但从实际意义上来说,机器学习是一种利用数据训练模型,然后利用模型进行预测的方法。 “训练”和“预测”是机器学习的两个步骤,“模型”是过程中间的输出。 “训练”产生“模型”,“模型”导致“预测”。接下来,我们将机器学习的过程与人类输入和还原历史经验的过程进行比较。 从零开始初识机器学习

机器学习的“训练”和“预测”步骤可以与“归纳”和“演绎”步骤相匹配。通过这段对应关系,我们看到机器学习的概念并不复杂,而是对人类学习和生命成长的模拟。因为机器学习不是基于编程的结果,所以它的过程不是逻辑推理,而是与归纳推理相关的结论。 从零开始初识机器学习

人类总结历史经验的过程

人类在成长和生活中积累了大量的历史和经验。人类“表演”这些经历并理解生命的“法则”。当人类面临未知问题或者需要“猜测”未来时,人类就会利用这些“规律”来“揣摩”未知问题和未来,从而指导自己的生活和行动。

1.2 机器学习的应用

机器学习应用广泛,在各个领域都有应用,包括:数据分析与挖掘、模式识别、虚拟助理和流量预测等。从行业角度来看,在金融领域(信用卡欺诈检测、保险市场分析等)、互联网(自然语言处理、语音识别、搜索引擎等)、医疗、自动化和机器人领域(自动驾驶汽车、信号处理等)、游乐场、刑事调查领域等。

1.2.1 数据分析与挖掘

“数据挖掘”和“数据分析”经常被拿来比较,但两者都帮助人们收集和分析数据,并将其转化为信息。做出假设和判断。因此,这两个要素可以称为数据分析和挖掘。数据分析和挖掘是机器学习技术和大数据存储技术相结合的结果。利用机器学习方法分析大量数据,利用数据存储机制实现高效的数据读写。机器学习在数据分析和挖掘领域有着不可替代的地位。 2012年Hadoop进入机器学习领域就是一个很好的例子。

1.2.2 模式识别

模式识别有着广泛的应用,包括计算机中的检测、医学图像分析、光学文本识别、自然识别等。语言处理、语音识别、手写识别、生物特征识别、文档分类。等等,而这些领域也是机器学习大显身手的领域,因此模式识别与机器学习的关系越来越密切。 从零开始初识机器学习从零开始初识机器学习从零开始初识机器学习

1.2.3 虚拟助理

Siri、Alexa 和 Google Now 都是虚拟助理。在交互过程中,虚拟助手帮助查找信息、搜索相关历史事件,或向其他来源(例如手机应用程序)发送命令以收集更多信息以满足需要。 从零开始初识机器学习

1.2.4 交通预测

我们在生活中经常使用GPS导航服务,机器学习可以帮助我们预测交通拥堵情况。目前,高德地图、腾讯地图等两者都应用机器学习技术来识别拥堵路段并规划最佳路线。 从零开始初识机器学习

2 机器学习的发展史

2.1 浅层学习过程

  1. 1957年,Rosenblatt发明了感知器,它是神经网络的雏形,也是支持向量机的基础。当时一阵骚动。
  2. 1959年,IBM编写了一个可学习的国际象棋程序,并在IBM研究与发展杂志上发表了题为《Some Studies in Machine Learning Using the Game of Checkers》的论文,定义并解释了一个新术语——机器学习(ML)。机器学习被非正式地定义为“一个学习领域,它赋予计算机无需直接编程来解决问题的学习能力。”
  3. 1960 年,Widrow 开发了 Delta 学习规则,也就是现在的最小二乘问题。它立即应用于感知器并获得了非常好的线性分类器。
  4. 1970年,Seppo Linnainmaa完整定义了自动微分(AD)方法,这是著名的反向传播(BP)算法的原型,但当时并没有引起太多关注。
  5. 1974年,Werbos最先提出应用Werbos这个概念​​​​​​​​​​​​​​​​,通过神经网络,即多层感知(MLP),以及1982年应用它,现在是常见的BP算法,做出了贡献。神经网络的第二个重大发展。
  6. 从 1985 年到 1986 年,Rumelhart 和 Hinton 等许多神经网络专家成功建立了实用的 BP 算法来训练神经网络,随着时间的推移,BP 早已作为神经网络训练的专用算法。
  7. 1986 年,J.R. Quinlan 还提出了另一种流行的 ML 算法——决策树算法(Iterative Dichotomiser 3,ID3)。作为预测模型,决策树表示对象属性和对象值之间的映射。关系,很快出现了许多类似或改进的算法,如 ID4、回归树、CART 等。
  8. 1995年,颜乐存提出了卷积神经网络(CNN)。受生物视觉模型的启发,它通常具有至少两个可训练的非线性卷积层和两个非线性固定卷积层。集成层模拟视觉皮层中的V1、V2、简单细胞和复杂细胞。他在手写识别等小问题上取得了当时世界上最好的成绩,但在大问题上却失败了。
  9. 1995年,Vapnik和Cortes提出了强大的支持向量机(SVM)。主要思想是利用分类超平面来分离样本以获得分类结果。具有较强的理论性能和实验结果。目前,ML分为两类:NN和SVM。
  10. 1997 年,Freund 和 Schapire 提出了另一个强大的 ML 模型:AdaBoost。该算法的主要特点是它将弱分类器组合起来形成强分类器。可以明确地说:“三个臭皮匠胜过诸葛亮”,分类结果优于其他强分类器。
  11. 2001年,随着核方法的引入,SVM占据了上风。它的主要思想是通过将低级数据映射到高级数据来分隔行。到目前为止,SVM 在许多领域都优于 NN 模型。此外,SVM还发展了一系列NN模型的基础理论,包括凸优化、正态区间理论、核方法等。
  12. 2001年,Breiman提出了可以组合多个决策树的随机森林(RF)模型。它可以处理大量的输入变量,具有很高的准确性,并且学习过程非常快。会带来太多的问题,强度也不错。
  13. 2001年,Hochreiter发现使用BP算法时,在NN元素填充时会出现梯度损失(梯度扩散)。简单来说,训练神经网络模型时,经过多次迭代后很容易疲劳。NN的发展曾经一度停止过。

2.2深度学习的过程

21世纪初,学术界掀起了“深度学习”之名的热潮。什么是深度学习?狭义上讲,它是一个“多层”神经网络。在很多测试和比赛中,尤其是在语音、图形等复杂对象的应用中,深度学习技术取得了很高的表现。过去,机器学习技术必须在实践中取得良好的表现,对用户的要求更高;如果深度学习技术涉及到的模型复杂度太高,如果不断尝试“调整参数”,对参数进行微调,性能往往会下降。好的。因此,深度学习虽然没有严格的理论基础,但却大大降低了机器学习用户的门槛,促进了机器学习技术向工程应用的推进。那么为什么现在越来越热呢?有两个原因。一是数据量的增加,二是计算能力的强度。深度学习模型参数较多,如果数据样本少,很容易“超调”。如此复杂的模型和如此大的数据样本,如果没有强大的计算工具是无法解决的。随着人类进入大数据时代,数据和计算工具发生了巨大的演变,从而带动了深度学习技术的创新。

  1. 2006年,Hinton和他的学生在深度信念网络(DBN)上发表了一篇关于《Nature》的文章,开启了深度学习(DL)的进程,开启了深度神经网络领域。互联网是一条深度学习曲线。
  2. 2009年,微软研究院与Hinton合作开发基于深度神经网络的语音识别。历时两年取得成果,彻底改变了传统语音识别技术的架构,将未识别率降低了25%。
  3. 2012年,Hinton带领他的学生在当今最大的图像数据库ImageNet中基于深度神经网络的图像分类问题取得了惊人的结果,将Top5错误率从26%显着降低到15%。 (ImageNet是一个计算机视觉系统识别项目,是目前世界上最大的图像数据库,是美国斯坦福大学的计算机科学家为了模拟系统——人类识别而建立的。可以从图像中识别物体。)
  4. 2012年,由人工智能和机器学习领域的顶尖专家Andrew Ng和分布式系统专家Jeff Dean领导的梦想团队开始使用并行计算平台构建Google Brain项目。 16,000 个 CPU 内核,用于训练包含超过 10 亿个神经元的深度神经网络。在语音识别、图像识别等领域取得了巨大进展。该系统分析选定的 YouTube 视频,并使用无监督方法训练深度神经网络来自动收集内容。当“猫”进入系统后,猫的外表就被识别出来,无需外界干扰。
  5. 2012年,微软首席研究官Rick Rashid在21世纪计算大会上演示了同声自动翻译系统,将他的英语演讲实时转换成音色相似、词语好听的中文。同声传译需要三个步骤:语音识别、机器翻译和语音合成。该系统立即完成,并受到普遍好评。深度学习是该系统的核心技术。
  6. 2013 年,Google 收购了一家名为 DNN Research 的神经网络初创公司,该公司只有三个人:Geoffrey Hinton 和他的两个学生。此次收购不包括任何产品或服务,但 Hinton 希望能够将深度学习构建到支撑谷歌未来的核心技术中。同年,纽约大学教授、深度学习专家Yann LeCun加入Facebook,担任人工智能实验室主任,负责深度学习的研究和开发。他利用深度学习来探索用户照片等信息中蕴含的丰富信息,希望未来能够为用户提供更多信息。具有使用智能产品的经验。
  7. 2013年,百度成立了百度研究院和深度学习研究院(IDL),将深度学习应用于语音识别、图像识别、图像捕获和点击率(Click-Through)。 -Rate Prediction,CTR),包括达到国际水平的图像获取。
  8. 2014年,谷歌宣布第一辆原型自动驾驶汽车已经生产出来,并将于2015年正式上路测试。
  9. 2016年,谷歌旗下专业公司DeepMind开发的程序人工智能AlphaGo获得冠军。演员李世石。
  10. 2017年,DeepMind团队发布了AlphaGo最强大的版本,称为AlphaGo Zero。无需人工干预即可从空白状态开始学习,自训练时间仅需3天。自己下的棋局数在490万盘中,能够以100:0的战绩战胜自己的前辈。 ?以及一台能够智能响应的机器。我们都知道机器学习是人工智能最重要的应用方法,但是机器学习并不是人工智能从一开始就采用的方法。人工智能的发展经历了逻辑推理、专家系统和机器学习三个主要阶段。
    1. 第一阶段侧重于逻辑推理,例如数学定理的证明。此类方法使用符号逻辑来模拟人类智能。
    2. 第二阶段的重点是专家系统。这种方法建立了有关各个领域问题的专业知识基础,并利用这些知识来完成思考和决策。例如,医生的经验被转化为知识库,然后利用这些知识来诊断患者。
    3. 第三阶段的重点是机器学习。今天的人工智能不再主要依靠逻辑推理和专家系统,而是基于机器学习来解决复杂问题。无论是基于数学的机器学习模型还是基于神经网络的深度学习模型,它们都活跃在当今大多数人工智能应用中。
    从零开始初识机器学习

    3.2 机器学习和深度学习

    深度学习(DL)是机器学习的一个主要分支。深度学习与机器学习是一种继承与发展的关系。在人工智能的众多问题中,深度学习方法、大数据的出现和计算机速度的不断提高,进一步凸显了人工智能的前景。例如,自动驾驶汽车足以彻底改变我们的出行方式。其识别行人、交通灯等的应用需要图像识别技术和卷积神经网络(CNN)的深度学习。
    为了更清楚地理解深度学习,我们首先介绍神经网络(NN)。顾名思义,它是一种模仿动物神经网络行为特征,进行并行信息处理的算法数学模型。神经网络由输入层、隐藏层(中间层)和输出层组成。输入层负责向神经网络提供数据,输出层负责映射输入。机器学习中的逻辑回归可以认为是一种分层神经网络,即除了输入层和输出层之外,只有一个隐藏层。 从零开始初识机器学习

    深度学习意味着神经网络使用许多隐藏层。 从零开始初识机器学习

    那么深度学习的每个级别都学到了什么? ? 从零开始初识机器学习

    当你输入人脸图像时,神经网络的第一个中间层可以被认为是特征检测器或边缘检测器。看图的边缘(第一张图);第二个中间层将构成图像边缘的像素组合起来,然后可以组合在脸部(第二张图像)的不同部位找到的边缘,包括眼睛、鼻子等;最后,当组合这些部分时,例如鼻子、眼睛和嘴巴,您可以识别或识别不同的面孔(第三张图)。

    3.3 机器学习和数据挖掘

    数据挖掘(DM)是指在大量数据中发现隐藏信息的过程。机器学习是数据挖掘的重要工具之一,但数据挖掘并不需要研究、推广和应用一些机器学习方法,而是通过无机器的机器来解决数据带宽、数据噪声等实际问题。学习技术。一般来说,数据挖掘可以被认为是机器学习和大数据的交叉点。它主要利用机器学习提供的技术来分析大量数据,并利用大数据技术来管理大量数据。 从零开始初识机器学习

    3.4 机器学习和统计

    1。统计学的简单定义

    统计学是一门基于数据建立概率和统计模型,并利用模型来分析和预测数据的学科。统计数据取决于其背后的数学理论。在机器学习爆发之前的几十年,统计学在试图找到解释因果关系的最佳工作(或模型)方面发挥了带头作用。统计学最重要的两个部分是回归分析和假设检验。在更大的统计框架内,其他方法或技术最终会发挥作用。回归分析提供了解释因果关系的武器,而假设检验则为该武器提供了弹药。简单线性回归使用最小二乘法来估计真值,然后使用显着性检验来确定变量的显着性、模型显着性和模型的准确性。当然,是否线性可以通过假设检验来检验。对于非线性回归问题,使用最大似然估计或最小二乘回归来求解模型。接下来的重要测试,依然​​是同样的思路。

    2。机器学习和统计学的比较

    统计学是机器学习中一个非常有争议的话题。统计学与机器学习类似。但在某些方面,两者之间存在差异。不同的是,统计学是以理论为基础的,对数据的分布做出假设,利用强大的数学理论来解释因果关系,注重参数推断,注重统计模型的发展和完善;机器学习由数据驱动,依靠大数据平台预测未来,缓解收敛问题,聚焦模型预测,聚焦问题解决。

    3.5 机器学习算法与“常规”算法的异同

    这里我们使用《算法导论》中解释的算法作为机器学习算法的基准。唯一的一点是,两者的目标都是通过设定目标和引入约束来获得最佳模型。不同的是,《算法导论》中的“算法”是如何以更高效的方式以更精确的解法来解决问题。效率可能是计算时间更短或者计算过程需要更少的空间。机器学习算法要解决的问题一般没有精确解,不能通过容错或迭代等步骤明确的方法来解决。这里需要强调的是“学习”的本质,即算法本身期望根据给定的数据或计算环境的变化动态地发现新的规则,甚至改变机器学习算法的逻辑和行为。

    作者:京东物流Spark团队
    来源:京东云开发者社区

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门