机器学习 订阅
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。 展开全文
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。
信息
外文名
Machine Learning
涉及学科
概率论、统计学、逼近论、线性代数、高等数学
中文名
机器学习
性    质
多领域交叉学科
机器学习定义
机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式, 并将现有内容进行知识结构划分来有效提高学习效率。 [1]  机器学习有下面几种定义:(1) 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。(2) 机器学习是对能通过经验自动改进的计算机算法的研究。(3) 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。 [2] 
收起全文
精华内容
下载资源
问答
  • 机器学习
    万次阅读
    2021-10-06 15:25:55

    分类目录:《深入理解机器学习》总目录


    机器学习算法是一种能够从数据中学习的算法。卡耐基梅隆大学计算机科学学院机器学习系主任Mitchell给出了机器学习算法的定义:对于某类任务 T T T和性能度量 P P P,一个计算机程序被认为可以从经验 E E E中学习是指,通过经验 E E E改进后,它在任务 T T T上由性能度量 P P P衡量的性能有所提升。

    经验 E E E,任务 T T T和性能度量 P P P的定义范围非常宽广,我们会在接下来的文章中提供直观的解释和示例来介绍不同的任务、性能度量和经验,这些将被用来构建机器学习算法。

    任务 T T T

    机器学习可以让我们解决一些人为设计和使用确定性程序很难解决的问题。从科学和哲学的角度来看,机器学习受到关注是因为提高我们对机器学习的认识需要提高我们对智能背后原理的理解。

    从“任务”的相对正式的定义上说,学习过程本身不能算是任务。学习是我们所谓的获取完成任务的能力。例如,我们的目标是使机器人能够行走,那么行走便是任务。我们可以编程让机器人学会如何行走,或者可以人工编写特定的指令来指导机器人如何行走。

    通常机器学习任务定义为机器学习系统应该如何处理样本。样本是指我们从某些希望机器学习系统处理的对象或事件中收集到的已经量化的特征的集合。我们通常会将样本表示成一个向量 x ∈ R x\in R xR,其中向量的每一个元素 x i x_i xi是一个特征。例如,一张图片的特征通常是指这张图片的像素值。

    机器学习可以解决很多类型的任务。一些非常常见的机器学习任务列举如下:

    • 分类:在这类任务中,计算机程序需要指定某些输入属于 k k k类中的哪一类。为了完成这个任务,学习算法通常会返回一个函数 f ( x ) : R n → { 1 , 2 , ⋯   , k } f(x):R^n\rightarrow \{1, 2, \cdots, k\} f(x):Rn{1,2,,k}。当 y = f ( x ) y=f(x) y=f(x)时,模型将向量 x x x所代表的输入分类到数字码 y y y所代表的类别。还有些其他的分类问题,例如, f ( x ) f(x) f(x)输出的是不同类别的概率分布。分类任务中有个任务是对象识别,其中输入是图片(通常由一组像素亮度值表示),输出是表示图片物体的数字码。
    • 输入缺失分类:当输人向量的每个度量不被保证的时候,分类问题将会变得更有挑战性。为了解决分类任务,学习算法只需要定义一个从输入向量映射到输出类别的函数。当一些输入可能丢失时,学习算法必须学习一组函数,而不是单个分类函数。每个函数对应着分类具有不同缺失输入子集的 x x x。这种情况在医疗诊断中经常出现,因为很多类型的医学测试是昂贵的,对身体有害的。有效地定义这样一个大集合函数的方法是学习所有相关变量的概率分布,然后通过边缘化缺失变量来解决分类任务。使用 n n n个输入变量,我们现在可以获得每个可能的缺失输入集合所需的所有 2 n 2^n 2n个不同的分类函数,但是计算机程序仅需要学习一个描述联合概率分布的函数。
    • 回归:在这类任务中,计算机程序需要对给定输入预测数值。为了解决这个任务,学习算法需要输出函数∫: f ( x ) : R n → R f(x):R^n\rightarrow R f(x):RnR。除了返回结果的形式不一样外,这类问题和分类问题是很像的。这类任务的一个示例是预测投保人的索赔金额(用于设置保险费),或者预测证券未来的价格。这类预测也用在算法交易中。
    • 转录:这类任务中,机器学习系统观测一些相对非结构化表示的数据,并转录信息为离散的文本形式。例如,光学字符识别要求计算机程序根据文本图片返回文字序列。谷歌街景以这种方式使用深度学习处理街道编号。另一个例子是语音识别,计算机程序输入一段音频波形,输出一序列音频记录中所说的字符或单词ID的编码。深度学习是现代语音识别系统的重要组成部分,被各大公司广泛使用,包括微软,IBM和谷歌。
    • 机器翻译:在机器翻译任务中,输入是一种语言的符号序列,计算机程序必须将其转化成另一种语言的符号序列。这通常适用于自然语言,如将英语译成法语。近些年,深度学习已经开始在这个任务上产生重要影响。
    • 结构化输出:结构化输出任务的输岀是向量或者其他包含多个值的数据结构,并且构成输出的这些不同元素间具有重要关系。这是一个很大的范畴,包括上述转录任务和翻译任务在内的很多其他任务。例如语法分析——映射自然语言句子到语法结构树,并标记树的节点为动词、名词、副词等等。另一个例子是图像的像素级分割,将每一个像素分配到特定类别。例如,深度学习可用于标注航拍照片中的道路位置。在这些标注型的任务中,输出的结构形式不需要和输入尽可能相似。例如,在为图片添加描述的任务中,计算机程序观察到一幅图,输出描述这幅图的自然语言句子。这类任务被称为结构化输出任务是因为输出值之间内部紧密相关。例如,为图片添加标题的程序输出的单词必须组合成一个通顺的句子。
    • 异常检测:在这类任务中,计算机程序在一组事件或对象中筛选,并标记不正常或非典型的个体。异常检测任务的一个示例是信用卡欺诈检测。通过对你的购买习惯建模,信用卡公司可以检测到你的卡是否被滥用。如果窃贼窃取你的信用卡或信用卡信息,窃贼采购物品的分布通常和你的不同。当该卡发生了不正常的购买行为时,信用卡公司可以尽快冻结该卡以防欺诈。
    • 合成和采样:在这类任务中,机器学习程序生成一些和训练数据相似的新样本。通过机器学习,合成和采样可能在媒体应用中非常有用,可以避免艺术家大量昂贵或者乏味费时的手动工作。例如,视频游戏可以自动生成大型物体或风景的纹理,而不是让艺术家手动标记每个像素。在某些情况下,我们希望采样或合成过程可以根据给定的输入生成一些特定类型的输出。例如,在语音合成任务中,我们提供书写的句子,要求程序输出这个句子语音的音频波形。这是一类结构化输出任务,但是多了每个输入并非只有一个正确输出的条件,并且我们明确希望输出有很多变化,这可以使结果看上去更加自然和真实。
    • 缺失值填补:在这类任务中,机器学习算法给定一个新样本KaTeX parse error: Undefined control sequence: \inR at position 2: x\̲i̲n̲R̲^n中某些元素 x i x_i xi缺失。算法必须填补这些缺失值。
    • 去噪:在这类任务中,机器学习算法的输入是干净样本 x ∈ R n x\in R^n xRn经过未知损坏过程后得到的损坏样本 x ~ ∈ R n \widetilde{x}\in R^n x Rn。算法根据损坏后的样本北预测干净的样本,或者更一般地预测条件概率分布 P ( x ∣ x ~ ) P(x|\widetilde{x}) P(xx )
    • 密度估计或概率质量函数估计:在密度估计问题中,机器学习算法学习函数 p m o d e l ( x ) : R n → R p_{model}(x):R^n\rightarrow R pmodel(x):RnR,其中 p m o d e l ( x ) p_{model}(x) pmodel(x)可以解释成样本采样空间的概率密度函数或者概率质量函数。要做好这样的任务,算法需要学习观测到的数据的结构。算法必须知道什么情况下样本聚集出现,什么情况下不太可能出现。以上描述的大多数任务都要求学习算法至少能隐式地捕获概率分布的结构。密度估计可以让我们显式地捕获该分布。原则上,我们可以在该分布上计算以便解决其他任务。例如,如果我们通过密度估计得到了概率分布 p ( x ) p(x) p(x),我们可以用该分布解决缺失值填补任务。如果 x i x_i xi的值是缺失的,但是其他的变量值 x − i x_{-i} xi已知,那么我们可以得到条件概率分布 p ( x i ∣ x − i ) p(xi|x_{-i}) p(xixi)。实际情况中,密度估计并不能够解决所有这类问题,因为在很多情况下 p ( x ) p(x) p(x)是难以计算的。

    当然,还有很多其他同类型或其他类型的任务。这里我们列举的任务类型只是用来介绍机器学习可以做哪些任务,并非严格地定义机器学习任务分类。

    性能度量 P P P

    为了评估机器学习算法的能力,我们必须设计其性能的定量度量。通常性能度量 P P P是特定于系统执行的任务 T T T而言的。

    对于诸如分类、缺失输入分类和转录任务,我们通常度量模型的准确率。准确率是指该模型输出正确结果的样本比率。我们也可以通过错误率得到相同的信息。错误率是指该模型输岀错误结果的样本比率。我们通常把错误率称为 0 − 1 0-1 01损失的期望。在一个特定的样本上,如果结果是对的,那么 0 − 1 0-1 01损失是0;否则是1.但是对于密度估计这类任务而言,度量准确率,错误率或者其他类型的 0 − 1 0-1 01损失是没有意义的。反之,我们必须使用不同的性能度量,使模型对每个样本都输出一个连续数值的得分。最常用的方法是输出模型在一些样本上概率对数的平均值。

    通常,我们会更加关注机器学习算法在未观测数据上的性能如何,因为这将决定其在实际应用中的性能。因此,我们使用测试集数据来评估系统性能,将其与训练机器学习系统的训练集数据分开。性能度量的选择或许看上去简单且客观,但是选择一个与系统理想表现对应的性能度量通常是很难的。

    在某些情况下,这是因为很难确定应该度量什么。例如,在执行转录任务时,我们是应该度量系统转录整个序列的准确率,还是应该用一个更细粒度的指标,对序列中正确的部分元素以正面评价?在执行回归任务时,我们应该更多地惩罚频繁犯一些中等错误的系统,还是较少犯错但是犯很大错误的系统?这些设计的选择取决于应用还有一些情况,我们知道应该度量哪些数值,但是度量它们不太现实。这种情况经常出现在密度估计中。很多最好的概率模型只能隐式地表示概率分布。在许多这类模型中,计算空间中特定点的概率是不可行的。在这些情况下,我们必须设计一个仍然对应于设计对象的替代标准,或者设计一个理想标准的良好近似。

    本文只是做简单的介绍,后续的文章会对性能度量 P P P进行详尽的叙述。

    经验 E E E

    根据学习过程中的不同经验,机器学习算法可以大致分类为无监督算法监督算法。大部分学习算法可以被理解为在整个数据集上获取经验。数据集是指很多样本组成的集合。有时我们也将样本称为数据点。

    无监督学习算法训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。在深度学习中,我们通常要学习生成数据集的整个概率分布,显式地,比如密度估计,或是隐式地,比如合成或去噪还有一些其他类型的无监督学习任务,例如聚类,将数据集分成相似样本的集合。

    监督学习算法训练含有很多特征的数据集,不过数据集中的样本都有一个标签或目标。例如,Iris数据集注明了每个鸢尾花卉样本属于什么品种。监督学习算法通过研究Iris数据集,学习如何根据测量结果将样本划分为三个不同品种。

    大致说来,无监督学习涉及到观察随机向量 x x x的好几个样本,试图显式或隐式地学习出概率分布 p ( x ) p(x) p(x),或者是该分布一些有意思的性质;而监督学习包含观察随机向量 x x x及其相关联的值或向量 y y y,然后从 x x x预测y,通常是估计 p ( y ∣ x ) p(y|x) p(yx)。术语监督学习源自这样一个视角,教员或者老师提供目标 y y y给机器学习系统,指导其应该做什么。在无监督学习中,没有教员或者老师,算法必须学会在没有指导的情况下理解数据。

    无监督学习和监督学习不是严格定义的术语。它们之间界线通常是模糊的。很多机器学习技术可以用于这两个任务。例如,概率的链式法则表明对于向量 x ∈ R n x\in R^n xRn,联合分布可以分解成:
    p ( x ) = ∏ i = 1 n p ( x i ∣ x 1 x 2 ⋯ x i − 1 ) p(x)=\prod_{i=1}^np(x_i|x_1x_2\cdots x_{i-1}) p(x)=i=1np(xix1x2xi1)

    该分解意味着我们可以将其拆分成 n n n个监督学习问题,来解决表面上的无监督学习 p ( x ) p(x) p(x)。另外,我们求解监督学习问题 p ( y ∣ x ) p(y|x) p(yx)时,也可以使用传统的无监督学习策略学习联合分布 p ( x , y ) p(x, y) p(x,y),然后推断:
    p ( y ∣ x ) = p ( x , y ) ∑ y i p ( x ∣ y i ) p(y|x)=\frac{p(x, y)}{\sum_{y_i}p(x|y_i)} p(yx)=yip(xyi)p(x,y)

    尽管无监督学习和监督学习并非完全没有交集的正式概念,它们确实有助于粗略分类我们研究机器学习算法时遇到的问题。传统地,人们将回归、分类或者结构化输出问题称为监督学习。支持其他任务的密度估计通常被称为无监督学习。

    学习范式的其他变种也是有可能的。例如,半监督学习中,一些样本有监督目标,但其他样本没有。在多实例学习中,样本的整个集合被标记为含有或者不含有该类的样本,但是集合中单独的样本是没有标记的。有些机器学习算法并不是训练于一个固定的数据集上。例如,强化学习算法会和环境进行交互,所以学习系统和它的训练过程会有反馈回路。

    大部分机器学习算法简单地训练于一个数据集上。数据集可以用很多不同方式来表示。在所有的情况下,数据集都是样本的集合,而样本是特征的集合。

    表示数据集的常用方法是设计矩阵。设计矩阵的每一行包含个不同的样本。每一列对应不同的特征。例如,Iris数据集包含150个样本,每个样本有4个特征。这意味着我们可以将该数据集表示为设计矩阵 x ∈ R 150 × 4 x\in R^{150\times4} xR150×4。我们描述的大部分学习算法都是讲述它们是如何运行在设计矩阵数据集上的。

    当然,每一个样本都能表示成向量,并且这些向量的维度相同,才能将一个数据集表示成设计矩阵。这一点并非永远可能。例如,你有不同宽度和高度的照片的集合,那么不同的照片将会包含不同数量的像素。因此不是所有的照片都可以表示成相同长度的向量。

    在上述这类情况下,我们不会将数据集表示成 m m m行的矩阵,而是表示成 m m m个元素的结合: { x ( 1 ) , x ( 2 ) , ⋯   , x ( m ) } \{x^{(1)}, x^{(2)}, \cdots, x^{(m)}\} {x(1),x(2),,x(m)}。这种表示方式意味着样本向量 x ( i ) x^{(i)} x(i),和 x ( j ) x^{(j)} x(j)可以有不同的大小在监督学习中,样本包含一个标签或目标和一组特征。例如,我们希望使用学习算法从照片中识别对象。我们需要明确哪些对象会出现在每张照片中。我们或许会用数字编码表示,如0表示人、1表示车、2表示猫等等。通常在处理包含观测特征的设计矩阵 x x x的数据集时,我们也会提供一个标签向量 y y y,其中 y i y_i yi表示样本 i i i的标签。

    当然,有时标签可能不止一个数。例如,如果我们想要训练语音模型转录整个句子,那么每个句子样本的标签是一个单词序列。正如监督学习和无监督学习没有正式的定义,数据集或者经验也没有严格的区分。这里介绍的结构涵盖了大多数情况,但始终有可能为新的应用设计出新的结构。

    更多相关内容
  • 本文覆盖机器学习常见知识要点,包括机器学习流程、算法分类(监督学习、无监督学习、强化学习)、依托的问题场景(分类、回归、聚类、降维)、机器学习模型评估与选择等。

    ShowMeAI研究中心


    1. 机器学习概述

    1)什么是机器学习

    人工智能(Artificial intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它是一个笼统而宽泛的概念,人工智能的最终目标是使计算机能够模拟人的思维方式和行为。大概在上世纪50年代开始兴起,但是受限于数据和硬件设备等限制,当时发展缓慢。

    机器学习(Machine learning)是人工智能的子集,是实现人工智能的一种途径,但并不是唯一的途径。它是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。大概在上世纪80年代开始蓬勃发展,诞生了一大批数学统计相关的机器学习模型。

    深度学习(Deep learning)是机器学习的子集,灵感来自人脑,由人工神经网络(ANN)组成,它模仿人脑中存在的相似结构。在深度学习中,学习是通过相互关联的「神经元」的一个深层的、多层的「网络」来进行的。「深度」一词通常指的是神经网络中隐藏层的数量。大概在2012年以后爆炸式增长,广泛应用在很多的场景中。

    让我们看看国外知名学者对机器学习的定义:

    机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构,使之不断改善自身。从实践的意义上来说,机器学习是在大数据的支撑下,通过各种算法让机器对数据进行深层次的统计分析以进行「自学」,使得人工智能系统获得了归纳推理和决策能力

    通过经典的「垃圾邮件过滤」应用,我们再来理解下机器学习的原理,以及定义中的T、E、P分别指代什么。

    2)机器学习三要素

    机器学习三要素包括数据模型算法。这三要素之间的关系,可以用下面这幅图来表示:

    (1)数据

    数据驱动:数据驱动指的是我们基于客观的量化数据,通过主动数据的采集分析以支持决策。与之相对的是经验驱动,比如我们常说的「拍脑袋」。

    (2)模型&算法

    模型:在AI数据驱动的范畴内,模型指的是基于数据X做决策Y的假设函数,可以有不同的形态,计算型和规则型等。

    算法:指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。通常是一个最优化的问题。

    3)机器学习发展历程

    人工智能一词最早出现于1956年,用于探索一些问题的有效解决方案。1960年,美国国防部借助「神经网络」这一概念,训练计算机模仿人类的推理过程。

    2010年之前,谷歌、微软等科技巨头改进了机器学习算法,将查询的准确度提升到了新的高度。而后,随着数据量的增加、先进的算法、计算和存储容量的提高,机器学习得到了更进一步的发展。

    4)机器学习核心技术

    • 分类:应用以分类数据进行模型训练,根据模型对新样本进行精准分类与预测。

    • 聚类:从海量数据中识别数据的相似性与差异性,并按照最大共同点聚合为多个类别。

    • 异常检测:对数据点的分布规律进行分析,识别与正常数据及差异较大的离群点。

    • 回归:根据对已知属性值数据的训练,为模型寻找最佳拟合参数,基于模型预测新样本的输出值。

    5)机器学习基本流程

    机器学习工作流(WorkFlow)包含数据预处理(Processing)、模型学习(Learning)、模型评估(Evaluation)、新样本预测(Prediction)几个步骤。

    • 数据预处理:输入(未处理的数据 + 标签)→处理过程(特征处理+幅度缩放、特征选择、维度约减、采样)→输出(测试集 + 训练集)。

    • 模型学习:模型选择、交叉验证、结果评估、超参选择。

    • 模型评估:了解模型对于数据集测试的得分。

    • 新样本预测:预测测试集。

    6)机器学习应用场景

    作为一套数据驱动的方法,机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别和机器人等领域。

    • 智能医疗:智能假肢、外骨骼、医疗保健机器人、手术机器人、智能健康管理等。

    • 人脸识别:门禁系统、考勤系统、人脸识别防盗门、电子护照及身份证,还可以利用人脸识别系统和网络,在全国范围内搜捕逃犯。

    • 机器人的控制领域:工业机器人、机械臂、多足机器人、扫地机器人、无人机等。

    2.机器学习基本名词

    • 监督学习Supervised Learning):训练集有标记信息,学习方式有分类和回归。

    • 无监督学习Unsupervised Learning):训练集没有标记信息,学习方式有聚类和降维。

    • 强化学习Reinforcement Learning):有延迟和稀疏的反馈标签的学习方式。

    • 示例/样本:上面一条数据集中的一条数据。

    • 属性/特征:「色泽」「根蒂」等。

    • 属性空间/样本空间/输入空间X:由全部属性张成的空间。

    • 特征向量:空间中每个点对应的一个坐标向量。

    • 标记:关于示例结果的信息,如((色泽=青绿,根蒂=蜷缩,敲声=浊响),好瓜),其中「好瓜」称为标记。

    • 分类:若要预测的是离散值,如「好瓜」,「坏瓜」,此类学习任务称为分类。

    • 假设:学得模型对应了关于数据的某种潜在规律。

    • 真相:潜在规律自身。

    • 学习过程:是为了找出或逼近真相。

    • 泛化能力:学得模型适用于新样本的能力。一般来说,训练样本越大,越有可能通过学习来获得具有强泛化能力的模型。

    3.机器学习算法分类

    1)机器学习算法依托的问题场景

    机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动「学习」的算法。

    机器学习算法从数据中自动分析获得规律,并利用规律对未知数据进行预测。机器学习理论关注可以实现的、行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。

    机器学习最主要的类别有:监督学习、无监督学习和强化学习。

    监督学习:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括回归分析和统计分类。

    无监督学习:与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有生成对抗网络(GAN)、聚类。

    强化学习:通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。

    2)分类问题

    分类问题是机器学习非常重要的一个组成部分。它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类问题可以细分如下:

    • 二分类问题:表示分类任务中有两个类别新的样本属于哪种已知的样本类。

    • 多类分类(Multiclass classification)问题:表示分类任务中有多类别。

    • 多标签分类(Multilabel classification)问题:给每个样本一系列的目标标签。

    了解更多机器学习分类算法:KNN算法逻辑回归算法朴素贝叶斯算法决策树模型随机森林分类模型GBDT模型XGBoost模型支持向量机模型等。

    3)回归问题

    了解更多机器学习回归算法:决策树模型随机森林分类模型GBDT模型回归树模型支持向量机模型等。

    4)聚类问题

    了解更多机器学习聚类算法:聚类算法

    5)降维问题

    了解更多机器学习降维算法:PCA降维算法

    4.机器学习模型评估与选择

    1)机器学习与数据拟合

    机器学习最典型的监督学习为分类与回归问题。分类问题中,我们学习出来一条「决策边界」完成数据区分;在回归问题中,我们学习出拟合样本分布的曲线。

    2)训练集与数据集

    我们以房价预估为例,讲述一下涉及的概念。

    • 训练集(Training Set):帮助训练模型,简单的说就是通过训练集的数据让确定拟合曲线的参数。

    • 测试集(Test Set):为了测试已经训练好的模型的精确度。

    当然,test set这并不能保证模型的正确性,只是说相似的数据用此模型会得出相似的结果。因为在训练模型的时候,参数全是根据现有训练集里的数据进行修正、拟合,有可能会出现过拟合的情况,即这个参数仅对训练集里的数据拟合比较准确,这个时候再有一个数据需要利用模型预测结果,准确率可能就会很差。

    3)经验误差

    在训练集的数据上进行学习。模型在训练集上的误差称为「经验误差」(Empirical Error)。但是经验误差并不是越小越好,因为我们希望在新的没有见过的数据上,也能有好的预估结果。

    4)过拟合

    过拟合,指的是模型在训练集上表现的很好,但是在交叉验证集合测试集上表现一般,也就是说模型对未知样本的预测表现一般,泛化(Generalization)能力较差。

    如何防止过拟合呢?一般的方法有Early Stopping、数据集扩增(Data Augmentation)、正则化、Dropout等。

    • 正则化:指的是在目标函数后面添加一个正则化项,一般有L1正则化与L2正则化。L1正则是基于L1范数,即在目标函数后面加上参数的L1范数和项,即参数绝对值和与参数的积项。

    • 数据集扩增:即需要得到更多的符合要求的数据,即和已有的数据是独立同分布的,或者近似独立同分布的。一般方法有:从数据源头采集更多数据、复制原有数据并加上随机噪声、重采样、根据当前数据集估计数据分布参数,使用该分布产生更多数据等。

    • DropOut:通过修改神经网络本身结构来实现的。

    5)偏差

    偏差Bias),它通常指的是模型拟合的偏差程度。给定无数套训练集而期望拟合出来的模型就是平均模型。偏差就是真实模型和平均模型的差异。

    简单模型是一组直线,平均之后得到的平均模型是一条直的虚线,与真实模型曲线的差别较大(灰色阴影部分较大)。因此,简单模型通常高偏差

    复杂模型是一组起伏很大波浪线,平均之后最大值和最小组都会相互抵消,和真实模型的曲线差别较小,因此复杂模型通常低偏差(见黄色曲线和绿色虚线几乎重合)。

    6)方差

    方差(Variance),它通常指的是模型的平稳程度(简单程度)。简单模型的对应的函数如出一辙,都是水平直线,而且平均模型的函数也是一条水平直线,因此简单模型的方差很小,并且对数据的变动不敏感。

    复杂模型的对应的函数千奇百怪,毫无任何规则,但平均模型的函数也是一条平滑的曲线,因此复杂模型的方差很大,并且对数据的变动很敏感。

    7)偏差与方差的平衡

    8)性能度量指标

    性能度量是衡量模型泛化能力的数值评价标准,反映了当前问题(任务需求)。使用不同的性能度量可能会导致不同的评判结果。更详细的内容可见 模型评估方法与准则

    (1)回归问题

    关于模型「好坏」的判断,不仅取决于算法和数据,还取决于当前任务需求。回归问题常用的性能度量指标有:平均绝对误差、均方误差、均方根误差、R平方等

    • 平均绝对误差Mean Absolute Error,MAE),又叫平均绝对离差,是所有标签值与回归模型预测值的偏差的绝对值的平均。

    • 平均绝对百分误差Mean Absolute Percentage Error,MAPE)是对MAE的一种改进,考虑了绝对误差相对真实值的比例。

    • 均方误差Mean Square Error,MSE)相对于平均绝对误差而言,均方误差求的是所有标签值与回归模型预测值的偏差的平方的平均。

    • 均方根误差Root-Mean-Square Error,RMSE),也称标准误差,是在均方误差的基础上进行开方运算。RMSE会被用来衡量观测值同真值之间的偏差。

    • R平方,决定系数,反映因变量的全部变异能通过目前的回归模型被模型中的自变量解释的比例。比例越接近于1,表示当前的回归模型对数据的解释越好,越能精确描述数据的真实分布。

    (2)分类问题

    分类问题常用的性能度量指标包括错误率(Error Rate)、精确率(Accuracy)、查准率(Precision)、查全率(Recall)、F1、ROC曲线、AUC曲线和R平方等。更详细的内容可见 模型评估方法与准则

    • 错误率:分类错误的样本数占样本总数的比例。

    • 精确率:分类正确的样本数占样本总数的比例。

    • 查准率(也称准确率),即在检索后返回的结果中,真正正确的个数占你认为是正确的结果的比例。

    • 查全率(也称召回率),即在检索结果中真正正确的个数,占整个数据集(检索到的和未检索到的)中真正正确个数的比例。

    • F1是一个综合考虑查准率与查全率的度量,其基于查准率与查全率的调和平均定义:即:F1度量的一般形式-Fβ,能让我们表达出对查准率、查全率的不同偏好。

    ROC曲线(Receiver Operating Characteristic Curve)全称是「受试者工作特性曲线」。综合考虑了概率预测排序的质量,体现了学习器在不同任务下的「期望泛化性能」的好坏。ROC曲线的纵轴是「真正例率」(TPR),横轴是「假正例率」(FPR)。

    AUC(Area Under ROC Curve)是ROC曲线下面积,代表了样本预测的排序质量

    从一个比较高的角度来认识AUC:仍然以异常用户的识别为例,高的AUC值意味着,模型在能够尽可能多地识别异常用户的情况下,仍然对正常用户有着一个较低的误判率(不会因为为了识别异常用户,而将大量的正常用户给误判为异常。

    9)评估方法

    我们手上没有未知的样本,如何可靠地评估?关键是要获得可靠的「测试集数据」(Test Set),即测试集(用于评估)应该与训练集(用于模型学习)「互斥」。

    常见的评估方法有:留出法(Hold-out)、交叉验证法( Cross Validation)、自助法(Bootstrap)。更详细的内容可见 模型评估方法与准则

    留出法(Hold-out)是机器学习中最常见的评估方法之一,它会从训练数据中保留出验证样本集,这部分数据不用于训练,而用于模型评估。

    机器学习中,另外一种比较常见的评估方法是交叉验证法Cross Validation)。k 折交叉验证对 k 个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感,对数据的使用也会更充分,模型评估结果更加稳定。

    自助法(Bootstrap)是一种用小样本估计总体值的一种非参数方法,在进化和生态学研究中应用十分广泛

    Bootstrap通过有放回抽样生成大量的伪样本,通过对伪样本进行计算,获得统计量的分布,从而估计数据的整体分布。

    10)模型调优与选择准则

    我们希望找到对当前问题表达能力好,且模型复杂度较低的模型:

    • 表达力好的模型,可以较好地对训练数据中的规律和模式进行学习;

    • 复杂度低的模型,方差较小,不容易过拟合,有较好的泛化表达。

    11)如何选择最优的模型

    (1)验证集评估选择

    • 切分数据为训练集和验证集。

    • 对于准备好的候选超参数,在训练集上进行模型,在验证集上评估。

    (2)网格搜索/随机搜索交叉验证

    • 通过网格搜索/随机搜索产出候选的超参数组。

    • 对参数组的每一组超参数,使用交叉验证评估效果。

    • 选出效果最好的超参数。

    (3)贝叶斯优化

    • 基于贝叶斯优化的超参数调优。

    视频教程

    可以点击 B站 查看视频的【双语字幕】版本

    【双语字幕+资料下载】斯坦福CS229 | 机器学习-吴恩达主讲(2018·完整版)

    【双语字幕+资料下载】斯坦福CS229 | 机器学习-吴恩达主讲(2018·完整版)

    https://www.bilibili.com/video/BV1TT4y127Nf

    ShowMeAI图解机器学习算法系列(完整版)

    ShowMeAI系列教程精选推荐

    展开全文
  • 机器学习和深度学习的区别

    万次阅读 多人点赞 2022-01-11 05:10:56
    终于考上人工智能的研究僧啦,不知道机器学习和深度学习有啥区别,感觉一切都是深度学习 挖槽,听说学长已经调了10个月的参数准备发有2000亿参数的T9开天霹雳模型,我要调参发T10准备拿个Best Paper 现在搞传统...

    Python微信订餐小程序课程视频

    https://edu.csdn.net/course/detail/36074

    Python实战量化交易理财系统

    https://edu.csdn.net/course/detail/35475

    • 终于考上人工智能的研究僧啦,不知道机器学习和深度学习有啥区别,感觉一切都是深度学习
    • 挖槽,听说学长已经调了10个月的参数准备发有2000亿参数的T9开天霹雳模型,我要调参发T10准备拿个Best Paper

    现在搞传统机器学习相关的研究论文确实占比不太高,有的人吐槽深度学习就是个系统工程而已,没有数学含金量。

    但是无可否认的是深度学习是在太好用啦,极大地简化了传统机器学习的整体算法分析和学习流程,更重要的是在一些通用的领域任务刷新了传统机器学习算法达不到的精度和准确率。

    深度学习这几年特别火,就像5年前的大数据一样,不过深度学习其主要还是属于机器学习的范畴领域内,所以这篇文章里面我们来唠一唠机器学习和深度学习的算法流程区别。

    1、机器学习的算法流程

    实际上机器学习研究的就是数据科学(听上去有点无聊),下面是机器学习算法的主要流程:主要从1)数据集准备、2)探索性的对数据进行分析、3)数据预处理、4)数据分割、5)机器学习算法建模、6)选择机器学习任务,当然到最后就是评价机器学习算法对实际数据的应用情况如何。

    1.1 数据集

    首先我们要研究的是数据的问题,数据集是构建机器学习模型流程的起点。简单来说,数据集本质上是一个M×N矩阵,其中M代表列(特征),N代表行(样本)。

    列可以分解为X和Y,X是可以指特征、独立变量或者是输入变量。Y也是可以指类别标签、因变量和输出变量。

    1.2 数据分析

    进行探索性数据分析(Exploratory data analysis, EDA)是为了获得对数据的初步了解。EDA主要的工作是:对数据进行清洗,对数据进行描述(描述统计量,图表),查看数据的分布,比较数据之间的关系,培养对数据的直觉,对数据进行总结等。

    探索性数据分析方法简单来说就是去了解数据,分析数据,搞清楚数据的分布。主要注重数据的真实分布,强调数据的可视化,使分析者能一目了然看出数据中隐含的规律,从而得到启发,以此帮助分析者找到适合数据的模型。

    在一个典型的机器学习算法流程和数据科学项目里面,我做的第一件事就是通过 “盯住数据”,以便更好地了解数据。个人通常使用的三大EDA方法包括:

    • 描述性统计:平均数、中位数、模式、标准差。

    • 数据可视化:热力图(辨别特征内部相关性)、箱形图(可视化群体差异)、散点图(可视化特征之间的相关性)、主成分分析(可视化数据集中呈现的聚类分布)等。

    • 数据整形:对数据进行透视、分组、过滤等。

    1.3 数据预处理

    数据预处理,其实就是对数据进行清理、数据整理或普通数据处理。指对数据进行各种检查和校正过程,以纠正缺失值、拼写错误、使数值正常化/标准化以使其具有可比性、转换数据(如对数转换)等问题。

    例如对图像进行resize成统一的大小或者分辨率。

    数据的质量将对机器学习算法模型的质量好坏产生很大的影响。因此,为了达到最好的机器学习模型质量,传统的机器学习算法流程中,其实很大一部分工作就是在对数据进行分析和处理。

    一般来说,数据预处理可以轻松地占到机器学习项目流程中80%的时间,而实际的模型建立阶段和后续的模型分析大概仅占到剩余的20%。

    1.4 数据分割

    训练集 & 测试集

    在机器学习模型的开发流程中,希望训练好的模型能在新的、未见过的数据上表现良好。为了模拟新的、未见过的数据,对可用数据进行数据分割,从而将已经处理好的数据集分割成2部分:训练集合测试集。

    第一部分是较大的数据子集,用作训练集(如占原始数据的80%);第二部分通常是较小的子集,用作测试集(其余20%的数据)。

    接下来,利用训练集建立预测模型,然后将这种训练好的模型应用于测试集(即作为新的、未见过的数据)上进行预测。根据模型在测试集上的表现来选择最佳模型,为了获得最佳模型,还可以进行超参数优化。

    训练集 & 验证集 & 测试集

    另一种常见的数据分割方法是将数据分割成3部分:1)训练集,2)验证集和3)测试集。

    训练集用于建立预测模型,同时对验证集进行评估,据此进行预测,可以进行模型调优(如超参数优化),并根据验证集的结果选择性能最好的模型。

    验证集的操作方式跟训练集类似。不过值得注意的是,测试集不参与机器学习模型的建立和准备,是机器学习模型训练过程中单独留出的样本集,用于调整模型的超参数和对模型的能力进行初步评估。通常边训练边验证,这里的验证就是用验证集来检验模型的初步效果。

    交叉验证

    实际上数据是机器学习流程中最宝贵的,为了更加经济地利用现有数据,通常使用N倍交叉验证,将数据集分割成N个。在这样的N倍数据集中,其中一个被留作测试数据,而其余的则被用作建立模型的训练数据。通过反复交叉迭代的方式来对机器学习流程进行验证。

    这种交叉验证的方法在机器学习流程中被广泛的使用,但是深度学习中使用得比较少哈。

    1.5 机器学习算法建模

    下面是最有趣的部分啦,数据筛选和处理过程其实都是很枯燥乏味的,现在可以使用精心准备的数据来建模。根据taget变量(通常称为Y变量)的数据类型,可以建立一个分类或回归模型。

    机器学习算法

    机器学习算法可以大致分为以下三种类型之一:

    • 监督学习:是一种机器学习任务,建立输入X和输出Y变量之间的数学(映射)关系。这样的(X、Y)对构成了用于建立模型的标签数据,以便学习如何从输入中预测输出。
    • 无监督学习:是一种只利用输入X变量的机器学习任务。X变量是未标记的数据,学习算法在建模时使用的是数据的固有结构。
    • 强化学习:是一种决定下一步行动方案的机器学习任务,它通过试错学习(trial and error learning)来实现这一目标,努力使reward回报最大化。

    参数调优

    传说中的调参侠主要干的就是这个工作啦。超参数本质上是机器学习算法的参数,直接影响学习过程和预测性能。由于没有万能的超参数设置,可以普遍适用于所有数据集,因此需要进行超参数优化。

    以随机森林为例。在使用randomForest时,通常会对两个常见的超参数进行优化,其中包括mtry和ntree参数。mtry(maxfeatures)代表在每次分裂时作为候选变量随机采样的变量数量,而ntree(nestimators)代表要生长的树的数量。

    另一种在10年前仍然非常主流的机器学习算法是支持向量机SVM。需要优化的超参数是径向基函数(RBF)内核的C参数和gamma参数。C参数是一个限制过拟合的惩罚项,而gamma参数则控制RBF核的宽度。

    调优通常是为了得出超参数的较佳值集,很多时候不要去追求找到超参一个最优值,其实调参侠只是调侃调侃,真正需要理解掌握算法原理,找到适合数据和模型的参数就可以啦。

    特征选择

    特征选择从字面上看就是从最初的大量特征中选择一个特征子集的过程。除了实现高精度的模型外,机器学习模型构建最重要的一个方面是获得可操作的见解,为了实现这一目标,能够从大量的特征中选择出重要的特征子集非常重要。

    特征选择的任务本身就可以构成一个全新的研究领域,在这个领域中,大量的努力都是为了设计新颖的算法和方法。从众多可用的特征选择算法中,一些经典的方法是基于模拟退火和遗传算法。
     
    除此之外,还有大量基于进化算法(如粒子群优化、蚁群优化等)和随机方法(如蒙特卡洛)的方法。

    1.6 机器学习任务

    在监督学习中,两个常见的机器学习任务包括分类和回归。

    分类

    一个训练好的分类模型将一组变量作为输入,并预测输出的类标签。下图是由不同颜色和标签表示的三个类。每一个小的彩色球体代表一个数据样本。三类数据样本在二维中的显示,这种可视化图可以通过执行PCA分析并显示前两个主成分(PC)来创建;或者也可以选择两个变量的简单散点图可视化。

    性能指标

    如何知道训练出来的机器学习模型表现好或坏?就是使用性能评价指标(metrics),一些常见的评估分类性能的指标包括准确率(AC)、灵敏度(SN)、特异性(SP)和马太相关系数(MCC)。

    回归

    最简单的回归模式,可以通过以下简单等式很好地总结:Y = f(X)。其中,Y对应量化输出变量,X指输入变量,f指计算输出值作为输入特征的映射函数(从机器学习模型中得到)。上面的回归例子公式的实质是,如果X已知,就可以推导出Y。一旦Y被计算(预测)出来,一个流行的可视化方式是将实际值与预测值做一个简单的散点图,如下图所示。

    对回归模型的性能进行评估,以评估拟合模型可以准确预测输入数据值的程度。评估回归模型性能的常用指标是确定系数(R²)。此外,均方误差(MSE)以及均方根误差(RMSE)也是衡量残差或预测误差的常用指标。

    2、深度学习算法流程

    深度学习实际上是机器学习中的一种范式,所以他们的主要流程是差不多的。深度学习则是优化了数据分析,建模过程的流程也是缩短了,由神经网络统一了原来机器学习中百花齐放的算法。

    在深度学习正式大规模使用之前呢,机器学习算法流程中药花费很多时间去收集数据,然后对数据进行筛选,尝试各种不同的特征提取机器学习算法,或者结合多种不同的特征对数据进行分类和回归。

    下面是机器学习算法的主要流程:主要从1)数据集准备、2)数据预处理、3)数据分割、4)定义神经网络模型,5)训练网络。

    深度学习不需要我们自己去提取特征,而是通过神经网络自动对数据进行高维抽象学习,减少了特征工程的构成,在这方面节约了很多时间。

    但是同时因为引入了更加深、更复杂的网络模型结构,所以调参工作变得更加繁重啦。例如:定义神经网络模型结构、确认损失函数、确定优化器,最后就是反复调整模型参数的过程。

    参考文献

    • [1] https://github.com/dataprofessor/infographic
    • [2] 陈仲铭. 《深度学习:原理与实践》.[M]
    展开全文
  • 1. 课程简介 2. 本节课内容大纲 3. 机器学习编译的定义 4. 机器学习编译的目标 5. 为什么要学习机器学习编译? 6. 机器学习编译的核心要素 6.1. 备注:抽象和实现 7. 总结

    1. 课程简介

      该门课程是由XGBoost的作者陈天奇进行授课的。 从2022年6月18日正式开始(新鲜出炉的),每周讲授一节课程。具体内容可参考链接:中文官网或者英文官网。如果有相关问题也可以在讨论区进行留言:中文讨论区英文讨论区

    课程目录如下所示:

    1. 机器学习编译概述
    2. 张量算子函数
    3. 张量函数与整网模型的整合
    4. 整合自定义计算库
    5. 自动化程序优化
    6. 与机器学习框架的整合
    7. 自定义硬件后端
    8. 自动张量化
    9. 计算图优化:算子融合和内存优化
    10. 部署模型到服务环境
    11. 部署模型到边缘设备

      客观来说,本课程并不适合机器学习或者深度学习的初学者。但强烈推荐同学们先学习第一课:机器学习编译概述。然后再决定是否进行更加深入的学习。

      本节课的slides链接如下:https://mlc.ai/summer22-zh/slides/1-Introduction.pdf;notes链接如下:https://mlc.ai/zh/chapter_introduction/

    2. 本节课内容大纲

    1. 什么是机器学习编译?
    2. 机器学习编译的目标是什么?
    3. 为什么要学习机器学习编译?
    4. 机器学习编译的核心要素是什么?

    3. 机器学习编译的定义

      机器学习编译 (machine learning compilation, MLC) 是指,将机器学习算法从开发形态,通过变换和优化算法,使其变成部署形态。简单来说,就是将训练好的机器学习模型应用落地,部署在特定的系统环境之中的过程。

    转换
    开发形态
    部署形态

      开发形态是指我们在开发机器学习模型时使用的形态。典型的开发形式包括用 PyTorch、TensorFlow 或 JAX(主要指的是深度学习学习模型)等通用框架编写的模型描述,以及与之相关的权重。

      部署形态是指执行机器学习应用程序所需的形态。它通常涉及机器学习模型的每个步骤的支撑代码、管理资源(例如内存)的控制器,以及与应用程序开发环境的接口(例如用于Android 应用程序的Java API)。

    在这里插入图片描述
      不同的AI应用对应的部署环境是互不相同的。以下图为例:电商平台不可或缺的推荐系统算法通常是部署在云平台(服务器)上;自动驾驶算法通常是部署在车辆上的专用计算设备;手机的各种APP以语音转文字的输入法为例,最终是部署在手机上的计算设备的。
    在这里插入图片描述
      在进行机器学习模型部署时,不仅要考虑硬件系统环境,与此同时也需要考虑软件环境(如操作系统环境、机器学习平台环境等)。

    4. 机器学习编译的目标

      机器学习编译的直接目标包括两点:最小化依赖和利用硬件加速。机器学习编译的最终目的是实现性能(时间复杂度、空间复杂度)优化。

      最小化依赖可以认为是集成(Integration)的一部分,提取出与应用相关的库(删除与应用无关的库),从而减少应用的大小,达到节省空间的目的。

      利用硬件加速指的是利用硬件本身的特性进行加速。可以通过构建调用原生加速库的部署代码或生成利用原生指令(如 TensorCore)的代码来做到这一点。

    5. 为什么要学习机器学习编译?

    • 构建机器学习部署的解决方案。
    • 对现有机器学习框架形成更加深刻的理解。

    6. 机器学习编译的核心要素

    • 张量 (Tensor) 是执行中最重要的元素。张量是表示神经网络模型执行的输入、输出和中间结果的多维数组。

    • 张量函数 (Tensor functions) 神经网络的“知识”被编码在权重和接受张量和输出张量的计算序列中。我们将这些计算称为张量函数。值得注意的是,张量函数不需要对应于神经网络计算的单个步骤。部分计算或整个端到端计算也可以看作张量函数。也就是说,不仅单个函数可以认为是张量函数,也可以把其中一部分(或者整个整体)看作是张量函数。

    在这里插入图片描述
      下图中举了个实际的例子,第一个linear层和relu计算被折叠成一个linear_relu 函数,这需要有一个特定的linear_relu的详细实现。
    在这里插入图片描述

    6.1. 备注:抽象和实现

      对同样的目标有不同颗粒度的表示。例如对linear_relu而言,既可以使用左边两个框图进行表示,也可以用右边的循环进行表示。
    在这里插入图片描述
      我们使用抽象 (Abstraction)来表示我们用来表示相同张量函数的方式。不同的抽象可能会指定一些细节,而忽略其他实现(Implementations)细节。例如,linear_relu 可以使用另一个不同的 for 循环来实现。

      抽象实现可能是所有计算机系统中最重要的关键字。抽象指定“做什么”,实现提供“如何”做。没有具体的界限。根据我们的看法,for 循环本身可以被视为一种抽象,因为它可以使用 python 解释器实现或编译为本地汇编代码。

      机器学习编译实际上是在相同或不同抽象下转换和组装张量函数的过程。我们将研究张量函数的不同抽象类型,以及它们如何协同工作以解决机器学习部署中的挑战。

      在后续课程中分别会涉及到四种类型的抽象:

    • 计算图
    • 张量程序
    • 库(运行时)
    • 硬件专用指令

    7. 总结

    • 机器学习编译的目标

      • 集成与最小化依赖
      • 利用硬件加速
      • 通用优化
    • 为什么学习机器学习编译

      • 构建机器学习部署解决方案
      • 深入了解现有机器学习框架
      • 为新兴硬件建立软件栈
    • 机器学习编译的关键要素

      • 张量和张量函数
      • 抽象和实现是值得思考的工具
    展开全文
  • 机器学习

    2019-10-22 20:28:37
    1. 决策树 2. 线性回归 3. kNN 4. 增强学习 5. KMeans
  • 2016中国人工智能大会(CCAI 2016),机器学习的明天论坛,北京大学信息科学技术学院机器感知与智能教育部重点实验室教授林宙辰的演讲PPT。报道:http://geek.csdn.net/news/detail/97844
  • 机器学习教程 - 分步指南

    千次阅读 2021-12-10 20:24:07
    机器学习 (ML)是技术领域最受关注的话题之一。如果你已经了解机器学习和相关技术的基础知识以及它的应用领域,本文将对这些知识进行补充。如果你还不熟悉机器学习,本教程中涵盖的基础知识会帮你快速上手。文章较长...
  • 斯坦福大学吴恩达Coursera机器学习公开课中文笔记

    千次下载 热门讨论 2016-03-28 13:37:44
    此笔记为2014年Andrew Ng在Coursera 开设的机器学习Machine Learning公开课的中文笔记。 原作者为中国海洋大学博士生,感谢原作者的贡献。
  • 当然了,截止到目前,机器学习中尚没有出现一个明确称之为“去中心化机器学习”的专用名词,但是意思相近的概念是有的,譬如说分布式,这也算是去中心化的近义词了,机器学习就有“分布式机器学习”,而且已经是个老...
  • 十大机器学习算法

    万次阅读 多人点赞 2022-03-08 22:55:09
    初学者应该知道的十大机器学习算法 来源:https://builtin.com/data-science/tour-top-10-algorithms-machine-learning-newbies 机器学习算法被描述为学习一个目标函数 (f),它最好地将输入变量 (X) 映射到输出...
  • 李宏毅2021&2022机器学习

    万次阅读 多人点赞 2022-03-01 18:35:27
    从零到就业 视频地址 【吴恩达亲授】适用于所有人的人工智能课程(中字) 视频地址 (强推 双字)网易版吴恩达机器学习课程 视频地址 (强推 双字)2022吴恩达机器学习Deeplearning.ai课程 视频地址 (强推 双字)2018秋季...
  • 5 大常用机器学习模型类型总结

    千次阅读 2022-03-29 10:06:56
    本文介绍了 5 大常用机器学习模型类型:集合学习算法,解释型算法,聚类算法,降维算法,相似性算法,并简要介绍了每种类型中最广泛使用的算法模型。我们希望本文可以做到以下三点:1、应用性。 涉及到应用问题时,...
  • 机器学习知识点全面总结

    千次阅读 2021-04-11 16:37:45
    机器学习按照模型类型分为监督学习模型、无监督学习模型和概率模型三大类,文章对十大机器学习算法进行详细介绍并阐述机器学习其他概念问题,可作为机器学习初学者学习使用。
  • 机器学习学习路线

    千次阅读 2022-01-14 17:12:28
    学习路线一、入门ML需要的基本技能1.1 数学(略)1.2 编程语言python二、ML基本理论知识2.1 视频课程2.2 书籍、博客2.3 实战三、深度学习理论知识3.1 框架学习3.2 计算机视觉3.3 自然语言处理3.4 实战3.6 进一步学习...
  • 距离上次介绍机器学习相关的内容,已经过了一年的时间了,而这篇博客目前的阅读量也将近3000k,这样数据看起来似乎也还算不错,可惜因为我当时没有足够的时间和精力去完整把这篇博客写完,只介绍了机器学习的基础...
  • 机器学习心得

    千次阅读 2021-10-27 14:03:22
    1. 机器学习的概念: 解释1:机器学习是一门通过编程让计算机从数据中进行学习的学科。 解释2:机器学习是一个研究领域,让计算机无须进行明确的编程就具备学习能力。 解释2:一个计算机程序利用经验E来学习任务T...
  • 机器学习期末考试

    万次阅读 多人点赞 2021-06-05 00:28:12
    机器学习期末考试 一、机器学习链接 1、机器学习期末复习试卷_zhouyan2000的博客-CSDN博客_机器学习期末考试} 2、[机器学习笔试题]((4条消息) 机器学习笔试题目_北冥有小鱼-CSDN博客_机器学习题目) 3、机器学习面试...
  • 李宏毅2020机器学习资料汇总

    万次阅读 多人点赞 2020-04-08 11:33:44
    前言 可能受到新冠病毒的影响,台大也开始了...和吴恩达的CS229机器学习相比,中文版本的机器学习显得亲民了许多,李宏毅的机器学习是英文的ppt+中文讲解,非常有利于大家入门。吴恩达的CS229中偏向于传统机器学习……
  • 什么是机器学习机器学习与AI的关系?

    千次阅读 热门讨论 2021-02-26 11:56:15
    而这类问题正是机器学习所能够解决的。 传统上来讲,计算机编程指在结构化的数据上执行明确的程序规则。软件开发人员动手编写程序,告诉计算机如何对数据执行一组指令,并输出预期的结果,如图1-1所示。这个过程与...
  • 构建机器学习系统tips 方差/偏差 ,正则化 决定下一步做什么: 算法评估,学习曲线(判断高偏差/高方差问题),误差分析 上限分析:机器学习的应用中,我们通常需要通过几个步骤才能进行最终的预测,我们如何能够 ...
  • 机器学习基础环境部署 | 机器学习系列

    万次阅读 多人点赞 2021-10-31 14:50:53
    本文主要是分享一下机器学习初期,基本的环境搭建。也适用于其他python工程化项目环境搭建。都差不多。 Anaconda安装 anaconda官方链接:Anaconda | The World's Most Popular Data Science Platform 点击Get...
  • 人工智能、机器学习、深度学习 三者关系

    千次阅读 多人点赞 2022-01-16 21:34:42
    1、AI ML DL关系 为了赋予计算机以人类的理解能力与逻辑思维,诞生了人工...机器学习是实现人工智能的途径之一,而深度学习则是机器学习的算法之一。如果把人工智能比喻成人类的大脑,机器学习则是人类通过大量数..
  • python机器学习资料小合集

    千次下载 热门讨论 2017-04-19 13:10:30
    python机器学习资料小合集,包括机器学习十大算法以及python机器学习等资料指导,一些训练常用的代码和数据集
  • 机器学习基础知识之概率论基础详解

    万次阅读 热门讨论 2021-10-30 13:38:04
    机器学习基础知识之概率论基础详解 文章目录机器学习基础知识之概率论基础详解引言一、随机事件以及其运算1、样本空间的概念2、随机事件3、随机变量4、事件之间的关系4.1包含关系4.2相等关系4.3互不相容5、事件间的...
  • Logistic回归总结(非常好的机器学习总结资料)

    千次下载 热门讨论 2013-11-13 20:56:40
    看了Stanford的Andrew Ng老师的机器学习公开课中关于Logistic Regression的讲解,然后又看了《机器学习实战》中的LogisticRegression部分,写下此篇学习笔记总结一下。 首先说一下我的感受,《机器学习实战》一书在...
  • 如何选择最佳机器学习算法?

    千次阅读 2021-01-21 19:05:53
    没有任何一种机器学习算法,能够做到针对任何数据集都是最佳的。通常,拿到一个具体的数据集后,会根据一系列的考量因素进行评估。这些因素包括 :要解决的问题的性质、数据集大小、数据集特征、有无标签等。有了...
  • 如何解决机器学习领域的数学问题,打下坚实的数学基础?是很多初学者乃至进阶者关心的话题。我们把这个问题拆解成下面几个问题: 1. 为什么需要数学? 2. 机器学习中究竟用到了哪些数学知识? 3. 如何掌握这些...
  • 机器学习常见算法分类

    千次阅读 2021-02-03 19:32:43
    1 机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。 “机器学习是...
  • 机器学习的三要素

    千次阅读 2020-09-21 15:03:36
    一、机器学习的三要素 数据在机器学习方法框架中的流动,会按顺序经历三个过程,分别对应机器学习的三大要素:1. 模型;2. 策略;3. 算法 模型:谈到机器学习,经常会谈到机器学习的“模型”。在机器学习中,模型的...
  • 机器学习开发框架

    千次阅读 2021-11-12 09:28:02
    机器学习开发框架本质上是一种编程库或工具,目的是能够让开发人员更容易、更快速地构建机器学习模型。 机器学习开发框架封装了大量的可重用代码,可以直接调用,目的是避免“重复造轮子”,大幅降低开发人员的开发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,479,039
精华内容 591,615
关键字:

机器学习

友情链接: Untitled-checkpoint.rar