精华内容
下载资源
问答
  • 试述机器学习系统的基本结构,并说明各部分的作用    环境:外部信息的来源,它将为系统的学习提供有关信息  知识库:代表系统已经具有的知识  学习环节:系统的学习机构,它通过对环境的感知取得外部信息,然后...

    试述机器学习系统的基本结构,并说明各部分的作用
      在这里插入图片描述
      环境:外部信息的来源,它将为系统的学习提供有关信息
      知识库:代表系统已经具有的知识
      学习环节:系统的学习机构,它通过对环境的感知取得外部信息,然后经分析、综合、类比、归纳等思维过程知识获得知识,生成新的知识或改进知识库的组织结构。
      执行环节:基于学习后得到的新的知识库,执行一系列任务,并将运行结果报告学习环节,以完成对新知识库的评价,知道进一步的学习工作,是该模型的核心。

    展开全文
  • 机器学习基本概念

    千次阅读 2018-09-21 22:26:40
    本文首先介绍机器学习的基本流程,然后针对机器学习涉及的数据、算法和评估这三方面用到的基础概念进行介绍。 1.机器学习流程  机器学习是一数据流转、分析以及得到结果的过程,它的整个流程大致可以分为六...

    本文首先介绍机器学习的基本流程,然后针对机器学习涉及的数据、算法和评估这三个方面用到的基础概念进行介绍。

    1.机器学习流程 

    机器学习是一个数据流转、分析以及得到结果的过程,它的整个流程大致可以分为六个步骤,按照数据流自上而下的顺序排列分别是:场景解析、数据预处理、特征工程、模型训练、模型评估、离线/在线服务。如下图所示:

    (1)场景解析:就是先把整个业务逻辑想清楚,把自己的业务场景进行一个抽象;这里的场景抽象就是把业务逻辑和算法进行匹配。

    (2)数据预处理:主要进行数据的清洗工作,该阶段的主要目标是减少量纲和噪音数据对于训练数据集的影响。

    (3)特征工程:是机器学习中最重要的一个步骤,算法质量并不一定是决定结果的最关键因素,特征工程的效果从某种意义上决定了最终模型的优劣;也就是说,在算法相对固定的情况下,可以说好特征决定了好结果。

    (4)模型训练:如下图所示的“逻辑回归二分类”组件表示的是算法训练过程,训练数据经过了数据预处理和特征工程之后进入算法训练模块,并且生成模型。

    (5)模型评估:机器学习算法的计算结果一般是一个模型,模型的质量直接影响接下来的数据业务;对于模型的成熟度的评估,其实就是对整套机器学习流程的评估。

    (6)离线/在线服务:在实际的业务运用过程中,机器学习通常需要配合调度系统来使用;具体架构如下图所示:

    2.数据源结构 

    如果把机器学习算法比作一个数据加工场,那么进入工厂的数据就是被算法用来加工的原材料,机器学习算法需要的数据分为三类:结构化数据、非结构化数据和半结构化数据。

    (1)结构化数据:是指我们在日常数据库处理中经常看到的日志类数据结构,是以矩阵结构存储在数据库中的数据,可以通过二维表结构来显示;结构化数据主要由两个部分组成,一个部分是每个字段的含义,另一个部分是每个字段的具体数值。

    一般说来,机器学习算法处理的数据都是结构化的数据,因为机器学习需要把数据带入矩阵去做一些数学运算,结构化数据原生是以矩阵形态存储的,所以机器学习算法通常是只支持结构化数据的。

    结构化数据中还有两个非常重要的概念:特征(Feature)和目标列 (Label);其中特征表示的是数据所描述对象的属性,在结构化数据集中,每一列数据通常就对应一个特征;目标列表示的是每一份数据的打标结果。

    (2)半结构化数据:是指按照一定的结构存储,但不是二维的数据库行存储形态的数据;另一种半结构化数据就是在数据表中,某些字段是文本型的,某些字段是数值型的。

    半结构化数据常用于一些数据的传递,但是在机器学习算法相关的应用方面还有一定距离,需要把半结构化数据转为结构化数据来进行操作。

    (3)非结构化数据:典型的非结构化数据就是图像、文本或者是语音文件,这些数据不能以矩阵的结构存储,目前的做法也是通过把非结构化数据转为二进制存储格式,然后通过算法来挖掘其中的信息。

    3.算法分类

    将机器学习分为四种,分别是监督学习、无监督学习、半监督学习和增强学习。

    (1)监督学习(Supervised Learning):是指每个进入算法的训练数据样本都有对应的期望值也就是目标值,进行机器学习的过程实际上就是特征值和目标队列映射的过程;通过过往的一些数据的特征以及最终结果来进行训练的方式就是监督学习法;监督学习算法的训练数据源需要由特征值以及目标队列两部分组成。

    因为监督学习依赖于每个样本的打标,可以得到每个特征序列映射到的确切的目标值是什么,所以常用于回归以及分类场景。常见的监督学习算法如下表所示:

    算法

    具体包括

    分类算法

    K近邻、朴素贝叶斯、决策树、随机森林、GBDT和支持向量机等

    回归算法

    逻辑回归、线性回归等

     

    监督学习的一个问题就是获得目标值的成本比较高。

    (2)无监督学习(Unsupervised Learning):就是指训练样本不依赖于打标数据的机器学习算法,它主要是用来解决一些聚类场景的问题。常见的无监督学习算法如下表所示:

    算法

    具体包括

    聚类算法

    K-Means、DBSCAN等

    推荐算法

    协同过滤等

    相较于监督学习,无监督学习的一大好处就是不依赖于打标数据。

    (3)半监督学习(Semi-supervised Learning):通过对样本的部分打标来进行机器学习算法的使用,很多半监督学习算法都是监督学习算法的变形。

    (4)强化学习(Reinforcement Learning):是一种比较复杂的机器学习种类, 强调的是系统与外界不断地交互,获得外界的反馈,然后决定自身的行为。

    综上,监督学习主要解决的是分类和回归的场景,无监督学习主要解决聚类场景,半监督学习解决的是一些打标数据比较难获得的分类场景,强化学习主要是针对流程中不断需要推理的场景。具体的分类如下表所示:

    算法

    具体包括

    监督学习

    逻辑回归、K 近邻、朴素贝叶斯、随机森林、支持向量机

    无监督学习

    K-means、DBSCAN、协同过滤、LDA

    半监督学习

    标签传播

    强化学习

    隐马尔可夫

    4.过拟合问题

    过拟合(Over-fitting),从字面的意义上理解就是过度拟合的意思,常发生在线性分类器或者线性模型的训练和预测当中。过拟合的原理就是机器学习算法过度学习了训练集数据。 

    如果在针对训练集做曲线拟合的时候做得过于“完美”,那么当我们针对于其他预测集进行预测的时候,这套模型很有可能会失准,因为这套模型在训练的时候过度地接近于训练集的特征,缺乏鲁棒性;所以在机器学习训练过程中,100%的拟合训练集数据并不一定是好的。

    导致过拟合问题的原因可以总结为以下几种:

    1)训练数据集样本单一;

    2)训练样本噪音数据干扰过大;

    3)模型过于复杂。

    针对过拟合这样的预防和解决的办法如下:

    1)在训练和建立模型的时候,一定要从相对简单的模型开始,不要一上来就把模型调得非常复杂、特征非常多,这样很容易造成过拟合现象的发生;

    2)数据的采样,一定要尽可能地覆盖全部数据种类;

    3)在模型的训练过程中,我们也可以利用数学手段预防过拟合现象的发生,可以在算法中添加惩罚函数来预防过拟合。

    5.结果评估

    常用到的概念包括精确率、召回率、F1值、ROC和AUC几种:

    (1)精确率(Precision)、召回率(Recall)和F1(F-Measure)值:先了解下TP、TN、FP和FN这4个指标的含义:

    1)TP(True Positive):本来是正样本,被模型预测为正样本。 

    2)TN(True Negative):本来是负样本,被模型预测为负样本。 

    3)FP(False Positive):本来是负样本,被模型预测为正样本。 
    4)FN(False Negative):本来是正样本,被模型预测为负样本。 
    精确率=TP/(TP+FP),召回率=TP/(TP+FN),F1=2X精确率X召回率/(精确率+召回率)。

    精确率是模型在预测的时候正确的比例,召回率表示的是在预测到的正样例占全部正样例的比例;前者评估的是准确性,后者评估的是覆盖率。

    (2)ROC和AUC:ROC(Receiver Operating Characteristic Curve)曲线是常用的二分类场景的模型评估算法曲线,这个曲线的横轴为FP值,TP值是纵轴,只要是模型曲线越接近于左上角就说明模型的效果越好;通过AUC值来表示ROC曲线与横轴围起来的面积,这个AUC值越大表示模型的效果越好。

     

    (本文选自本人公众号“周氏逻辑”,欢迎扫码关注!)

    展开全文
  • 如果你是程序员你已经具备了将问题分解成它们的组成部分,并建立小型项目的原型,以便学习新的技术、库和方法。对于任何专业程序员来说,这些都是重要的技能,这些技能可以用来开始机器学习。 你必须学习这理论...

    内容介绍

    进入机器学习领域的途径很多,大多数都是从理论开始的。

    如果你是个程序员你已经具备了将问题分解成它们的组成部分,并建立小型项目的原型,以便学习新的技术、库和方法。对于任何专业程序员来说,这些都是重要的技能,这些技能可以用来开始机器学习。
    在这里插入图片描述

    你必须学习这个理论才能有效地进行机器学习,但是你可以利用你的兴趣和对知识的渴望来激励你从工作实例到对算法的数学理解。

    在这里,您将学习到程序员可以遵循的四种策略来开始机器学习。这是技术人员的道路,它是实际的和经验性的,需要你进行研究和完成实验,以建立你自己的直觉。

    这四项战略是:

    1. 机器学习工具的研究
    2. 机器学习数据集的研究
    3. 一种机器学习算法的研究
    4. 一种机器学习算法的实现

    仔细阅读这些策略,选择一个你觉得最适合你的策略,然后随心所欲地执行。

    机器学习研究工具

    选择您喜欢的工具或库,并学习如何很好地使用它。

    我建议您从一个为数据准备、机器学习算法和结果表示提供工具的环境开始。学习这样一个环境可以让你更好地掌握机器学习的过程,这对你来说比学习特定的数据准备技术或机器学习算法更有价值。

    或者,您可能对一种特定的技术系列感兴趣。您可以利用这一机会深入研究提供这些方法的库或工具,并通过掌握提供对该技术的访问权限的库来掌握该技术。

    在这里插入图片描述

    对于此策略,您可以这样:

    • 比较和对比您可以从中选择的候选工具。
    • 总结您所选择的工具的功能。
    • 阅读并总结该工具的文档。
    • 完成该工具的文本或视频教程,并总结您完成的每个教程的关键学习要点。
    • 为工具的特性或功能创建教程。选择你不太了解的东西,创建一个获得结果的进程,或者记录一个5分钟的关于如何使用这个特性的屏幕。

    您应该考虑的一些环境包括:

    研究机器学习数据集

    选择一个数据集并密切理解它,并发现哪个算法类或类型最适合它。

    我建议您选择一个适当大小的数据集,该数据集可能已经很好地应用到内存中。有优秀的数据源库可供您浏览和选择。您的目标是了解数据源所代表的基本问题、数据集中的结构以及最适合该问题的解决方案类型。

    使用机器学习或统计环境来研究数据集。这将使您能够专注于您希望回答的有关数据集的问题,而不是因为学习给定的技术并学习如何在代码中实现它而分心。

    在这里插入图片描述

    一些可以帮助您学习实验机器学习数据集的策略如下:

    1. 清楚地描述DataSet所代表的问题。
    2. 使用描述性统计来总结数据。
    3. 描述您在数据中观察到的结构,并对数据中的关系进行假设。
    4. 在数据集上测试一些流行的机器学习算法,并发现哪个通用类比其他类表现得更好。
    5. 优化性能良好的算法,并发现在此问题上表现良好的算法和算法配置。

    您可能希望考虑的一些高质量数据集的存储库如下

    研究了一种机器学习算法。

    选择一个算法并深入理解它,并发现在不同数据集中稳定的参数配置。

    我建议您从一个稍微复杂的算法开始。选择一个可以很好理解的算法,您可以从中选择许多开源实现,并且没有什么可供您探索的参数。您的目标是建立该算法如何在一系列问题和参数配置中执行的直觉。

    使用机器学习环境或库。这将允许您将算法的行为作为一个“系统”来关注,而不是用规范的数学描述和参考文献来关注自己。

    在这里插入图片描述

    在研究所选择的机器学习算法时,您可以使用以下一些策略:

    1. 总结了系统的参数及其对算法的预期影响。
    2. 选择一组适合该算法的数据集,这些数据集可能导致不同的行为。
    3. 选择您认为会从系统中引出不同行为的算法参数配置,并列出您可能从系统中期望的行为。
    4. 考虑一个算法的行为,该算法可以在算法的迭代、更新过程或其他时间间隔中被监视。
    5. 使用一个或多个数据集、算法配置和行为度量组合设计小型实验,以回答特定问题并报告结果。

    你的学习可以是简单的,也可以是复杂的。在高端,你可以探索所谓的启发式或经验法则来应用算法,并经验性地演示它们是否有优点,如果有,在什么情况下它们与成功的结果相关。

    您可能会考虑的一些算法包括:最小二乘线性回归、Logistic回归、k-最近邻分类、感知器 等等。

    实现机器学习算法

    选择一个算法,并将现有实现实现或移植到您选择的语言中。

    选择一个复杂度适中的算法来实现。我建议对您要实现的算法进行一些详细的研究,或者选择您喜欢的实现,并将其移植到所选的目标编程语言中。

    从头开始手工实现一个算法是一个很好的方法,可以了解在将一个算法描述转换为一个正常运行的系统时必须做出的无数的微观决策。通过在多个算法中重复这个过程,您将很快获得关于如何在研究论文和书籍中阅读算法的数学描述的直觉。

    在这里插入图片描述

    在从无到有地实现机器学习算法时,可能会帮助您的五个策略是:

    1. 从移植开始。将开源算法实现从一种语言移植到另一种语言将教会您如何实现该算法并使其成为您自己的语言。这是最快的方式开始,并强烈建议。
    2. 选择一个要工作的算法描述,并收集其他算法描述,以支持您对主要参考资料的消费。
    3. 不要害怕接触算法作者,论文作者,甚至算法实现作者问问题,以帮助您消除您对算法描述的理解歧义。
    4. 阅读大量目标算法的实现。了解不同程序员如何解释算法描述并将其转换为代码。
    5. 不要被先进的方法所纠缠。许多机器学习算法在其核心部分采用了先进的优化方法。不要尝试重新实现这些方法,除非这是项目的重点。使用提供优化算法的库,或者使用易于实现的简单优化算法(如梯度下降),或者在库中提供给您。

    小工程方法

    这四种策略是一种我称之为“小项目”的方法。这是一种方法,你可以使用非常迅速地建立实用技能的技术领域的研究,如机器学习。一般的想法是,你设计和执行的小项目,目标是一个特定的问题,你想要回答。

    小项目在几个维度中是小的,以确保它们已经完成,并且您提取学习的好处并转移到下一个项目。以下是您应该考虑对项目施加的限制:

    • 时间少,项目从开始到提出结果不应超过5至15小时。这将允许你完成一个小项目在一个星期的夜晚和周末的时间离开你的9-5的工作。
    • 范围小,一个项目应该解决你感兴趣的问题的最狭窄的版本,并且仍然是有意义的。例如,在一般情况下,不要解决这个问题,而是“编写一个程序来告诉我是否会转发推特”,而只是在给定的时间内针对特定的Twitter帐户来解决这个问题。
    • 资源少一个项目应该能够在你的台式机或笔记本电脑上完成,并连接到互联网上。你不应该需要外来的软件,网络基础设施,或第三方数据或服务。收集文件所需的数据,将其加载到内存中,并使用开放源码工具攻击您的狭隘问题。

    附加项目提示

    这些策略的原则是采取行动,并利用您的程序员技能集。以下是帮助你调整心态以便采取行动的三条建议:

    1. 写下你学到的东西。我建议您有一个有形的工作产品,为您采取的每一步。这可能是日志、推特、博客文章或开源项目中的一个注释。每个工作产品都充当锚和里程碑。
    2. 除非这是项目的目的,否则不要编写代码。。这个技巧并不明显,但在加速你对机器学习的理解方面可能是最大的。
    3. 目标是让你学习一些东西,而不是去创造一个独特的资源。。没有人会阅读你的研究,或教程或说明的一个算法,忽略这一点,目前。他们是你的观点和你的工作成果,以证明你现在知道一些东西。

    选一个开启学习之旅!

    你会选择哪种策略,你的第一步是什么?选择一个并在下面的评论中声明你的意图。

    展开全文
  • 机器学习基本概念梳理

    万次阅读 2016-12-07 15:46:07
    1. 什么是机器学习? 权威定义: Arthur samuel: 在不直接针对问题进行编程的情况下,赋予计算机学习能力的一...其实随着学习的深入,慢慢会发现机器学习越来越难定义,因为涉及到的领域很广,应用也很广,现在基本成为

    1. 什么是机器学习?

    权威定义:

    Arthur samuel: 在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。

    Tom Mitchell: 对于某类任务T和性能度量P,如果计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序从经验E学习。


    其实随着学习的深入,慢慢会发现机器学习越来越难定义,因为涉及到的领域很广,应用也很广,现在基本成为计算机相关专业的标配,但是在实际的操作过程中,又慢慢会发现其实机器学习也是很简单的一件事,我们最的大部分事情其实就是两件事情,一个是分类,一个是回归。比如房价的预测、股价的预测等是回归问题,情感判别、信用卡是否发放等则是属于分类。现实的情况 一般是给我们一堆数据,我们根据专业知识和一些经验提取最能表达数据的特征,然后我们再用算法去建模,等有未知数据过来的时候我们就能够预测到这个是属于哪个类别或者说预测到是一个什么值以便作出下一步的决策。比如说人脸识别系统,目的是作为一个验证系统,可能是一个权限管理,如果是系统中的人则有权限否则没有权限,首先给到我们的数据是一堆人脸的照片,第一步要做的事情是对数据进行预处理,然后是提取人脸特征,最后选择算法比如说SVM或者RF等等,算法的最终选择设计到评价标准,这个后面具体讲,这样我们就建立了一个人脸识别的模型,当系统输入一张人脸,我们就能够知道他是不是在系统之中。机器学习的整个流程不过就这几步,最后不过就是参数寻优,包括现在如火如荼的机器学习。


    当我们判断是否要使机器学习时,可以看看是不是以下的场景

    1)人类不能手动编程;

    2)人类不能很好的定义这个问题的解决方案是什么;

    3)人类不能做i到的需要极度快速决策的系统;

    4)大规模个性化服务系统;



    2.机器学习分类

    监督学习:数据集是有标签的,就是说对于给出的样本我们是知道答案的,我们大部分学到的模型都是属于这一类的,包括线性分类器、支持向量机等等;

    无监督学习:跟监督学习相反,数据集市完全没有标签的,主要的依据是相似的样本在数据空间中一般距离是相近的,这样就能通过距离的计算把样本分类,这样就完全不需要label,比如著名的kmeans算法就是无监督学习应用最广泛的算法;

    半监督学习:半监督学习一般针对的问题是数据量超级大但是有标签数据很少或者说标签数据的获取很难很贵的情况,训练的时候有一部分是有标签的而有一部分是没有的;

    强化学习:一直激励学习的方式,通过激励函数来让模型不断根据遇到的情况做出调整;


    3.感知机

    感知机是最简单的机器学习算法,一般作为机器学习的入门级算法,也很好理解,但是麻雀虽小,五脏俱全,机器学习大致的思想和过程都涉及到了。

    感知机可以认为是线性二元分类器,我们有一些特征数据,根据这些特征数据我们线性回归出一个值,如果超过了某个阈值,我们就说YES,否则say NO.这其实就是简单的判断题了,一个简单的现实例子就是信用卡的发放问题,银行得到用户的一些个人信息,比如年龄,收入,信用记录等,针对这些信息我们赋予一些权重,这样我们就能够得到一个具体的数值,以此来判断是否发信用卡。具体算法执行如下


    当然这是针对线性可分的情况,线性可分的意思是针对一个如果现行不可分这就要无限循环下去了,在现实生活中我们往往不能事先判断是否线性可分,一般的做法是限制迭代次数,保存当前最好结果。感知机的证明很简单,有兴趣可以参考林轩田老师的机器学习基石课程。


    4.机器学习算法的评价

    在生活当中,我们有一个直观的感受,针对相同的问题,不同的人可能会有不同的看法,不同的答案,这是因为我们从不同的角度出发,也就是说我们的评价体系是不一样的。而在机器学习中,这个影响尤其明显,不同的评价标准会造成完全不一样的预测。

    这就需要从统计学的一个问题出发,对于一个样本大小为N的抽样数据集,如果N足够大,满足Hoeffding不等式,


    这个不等式的意思是说当N足够大时,我们能够大约认为样本的属性能够代表整体的属性。

    这个不等式很重要!这个不等式很重要!这个不等式很重要!!!这也使我们谈机器学习的基础。

    在机器学习中,当样本N足够i大并且是独立同分布的条件下,我们能够认为看到的样本能够代表未知样本的情况,也就是说我们通过已知数据找出的规律能够用来预测未知数据。

    在机器学习的过程中,我们一般会把数据集分成两部分,一部分作为训练集,用来训练模型用,一部分用来做测试,当作我们的未知数据,训练测错误作为我们的评价标准,因为我们最终应用机器学习模型时,面临的是未知的数据,如果用训练错误来作为评判标准,可能引起的问题是过拟合,也就是我们训练效果很好而实际预测情况很糟糕,这是我们不想看到的。

    总的来说,在机器学习中,我们要做两件事,做好这两件事其实就是表示我们学习到了:

    1)测试错误接近于0,越小越好;

    2)训练错误能够大致认为是预测错误,并且尽量使训练错误为零;


    5 . VC维


    k 代表 最小的break point

    VC维具体的作用是证明误差有上限的,这很重要!如果VC维是有限的,表明训练误差和测试误差可以大致等同。


    训练误差和测试误差中间差的其实就是模型复杂度的惩罚,这跟我们的样本大小N、VC维和H空间有关,上图描述了VC维、训练误差和测试误差之间的关系。

    随着模型复杂度的上升,训练误差会逐渐减小,但是测试误差会先减小,但是后面会增加,上升的那段其实就是过拟合了,我们并不需要这么复杂的模型,因此并不代表我模型越复杂,泛化的效果就会越好,我们往往要做的是平衡,从简单的模型尝试,慢慢找到最好的分类器。




    在实际运用中,N=10VC就够了!因为在证明的时候上限放的是很大的,在实际情况下我们并不会一直碰到坏情况。


    6.  线性回归和逻辑回归

    线性回归其实对于每个属性都配一个权重,然后最后得到一个值,和感知机的区别在于感知机预测到值之后是取正负号的而线性回归直接拿到值就好了,比如说一个人的信用分评测或则房价的预测等等。

    线性回归评价采用平方误差,问题就转化为一个优化问题,求解平方误差的最小值,求偏导然后等于零解出权重。


    线性回归取个符号就变成了线性分类,并且线性回归的错误取得是比0/1错误取得大的,能够用线性回归来做分类。


    逻辑回归和现行回归不一样的地方在于sigmoid函数的介入,



    逻辑回归的误差通过最大似然估计来评价,最终转化成如下优化问题

    通过梯度下降来求解,


    学习速率可以动态调整,梯度大时学习率大些,因为可以更快接近最优值而梯度小时慢些。


    7. 非线性变换


    非线性变换主要解决的问题是一些线性不可分的情况,其实做的工作就是对特征进行变换,以上图为例,很明显数据集是线性不可分的,但是我们能够i通过曲线进行分离,比如说圆,圆是二次的,因此我们把特征变化到另一个空间维度,在新的空间维度下,数据是线性可分的,我们就能用线性分类器来处理了。

    更高次的变化也是一样的,但是要注意的是在特征变换的过程中,参数变多了,计算的复杂度上升了,模型的复杂度也上升了。


    8. 过拟合

    过拟合的特征一般是具有很小的训练错误,但是泛化能力很差,具有很高的泛化误差。

    过拟合在我们实际的操作中经常出现,主要的原因在于模型的复杂度太高。

    造成过拟合的原因主要是下面四个方面:


    解决过拟合的方法:

    1)从简单的模型开始尝试;

    2)数据预处理,数据清洗;

    3)额外的数据;

    4)正则化,regularization;

    5)验证,validation;


    9. 正则化

    正则化相当于给训练误差加了一个惩罚项,以防止过拟合的发生。

    用的比较多的正则项是L1和L2,


    正则化通过牺牲一定的准确率而增加一定的泛化能力。


    10. 验证

    验证的目的是选择最优的模型,而依据就是泛化误差,因为我们最终把模型应用的是未知数据。

    目前用的最广泛的是V-fold cross validation,把数据集分成V份,每次拿出V-1作为训练集,而剩下的一份作为验证,通过V次的训练,把最后训练错误的平均值作为该模型的评价,然后选出最佳。


    条件允许的条件下,尽量采用交叉验证,一般用5折或者10折


    致谢:

    感谢台湾大学的林轩田老师,《机器学习基石》课程让我更进一步理解机器学习的基本概念,层层深入的教学方式让我受益颇多!文中内容也是参考此课程。


    Andrewseu 2016/12/7



    展开全文
  • 对半监督算法有了一定的了解后,能把第4部分开头对P-N学习的推导看懂一点,但是在紧接着的第二部分中有Relation to supervised bootstrap这章,经常会出现bootstrap,但是没有学过模式识别,对这概念很模糊,...
  • 个机器学习算法工程师的基本素质~

    千次阅读 多人点赞 2017-01-19 14:17:01
    看到一篇很通俗易懂诙谐幽默的博客,一名真正的机器学习算法工程师所需要的技能
  • 机器学习基本概念知识汇

    千次阅读 多人点赞 2018-02-13 11:30:45
    机器学习 基本概念 机器学习方法 监督学习 无监督学习 半监督式学习 强化学习 机器学习中分类与聚类的本质区别 分类 聚类 分类与聚类的比较 机器学习算法分类 回归算法 基于实例的算法 决策树学习 贝叶斯方法 ...
  • 面向对象的四个基本特征

    千次阅读 2015-10-03 09:36:54
    面向对象程序设计具有4共同特征:抽象性、封装性、继承性和多态性。 1.抽象 抽象是人们认识事物的常用方法,比如地图的绘制。抽象的过程就是如何简化、概括所观察到的现实世界,并为人们所用的过程。 ...
  • 机器学习部分书籍推荐

    万次阅读 2017-12-22 18:01:25
    这本书主要的作用是引起了我对机器学习和自然语言处理的兴趣。里面以极为通俗的语言讲述了数学在这两领域的应用。 《Programming Collective Intelligence》(中译本《集体智慧编程》);作者Toby Segaran也是...
  • 机器学习中的分类问题基本思路

    千次阅读 2018-11-19 06:08:43
    分类 Classification and Representation ...不过,虽然这模型名字里有”回归”字样,但它确确实实是标准的分类模型,而不是“回归”模型。这一点我们在后面详细介绍逻辑回归时再仔细讨论。 现在,让我...
  • 【Yoshua Bengio 亲自解答】机器学习 81 问题及答案 (部分)   新智元编译1 来源:Quora 译者:张巨岩 王婉婷 李宏菲 戴秋池 这是 Quora 的最新节目,针对特定话题进行系列的问答。如果你...
  • 四大会计师事务所之一的普华永道(PwC)近日发布了多份解读机器学习基础的图表,其中介绍了机器学习的基本概念、原理、历史、未来趋势和一些常见的算法
  • 我们先带着大家过一遍传统机器学习算法,基本思想和用途。把问题解决思路和方法应用建议提前到这里的想法也很简单,希望能提前给大家一些小建议,对于某些容易出错的地方也先给大家打预防针,这样在理解后续相应...
  • 机器学习:初学者的十大基本算法

    万次阅读 多人点赞 2018-02-11 14:53:03
    强化学习是一种机器学习算法,它允许代理根据其当前状态决定最佳的下一动作,通过学习将最大化奖励的行为。 强化算法通常通过反复试验来学习最佳行为。它们通常用于机器人 - 机器人可以通过在碰到障碍物后接收...
  • BAT机器学习面试1000题系列

    万次阅读 多人点赞 2017-12-14 15:19:15
    1、本文的内容全部来源于七月在线发布的BAT机器学习面试1000题系列; 2、文章中带斜体的文字代表是本人自己增加的内容,如有错误还请批评指正; 3、原文中有部分链接已经失效,故而本人重新加上了新的链接,如有...
  • 机器学习简介

    万次阅读 2018-10-17 10:09:40
    在本篇文章中,我将对机器学习做概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步...
  • 程序员的四个暑假:从打工开始到打工结束

    千次阅读 多人点赞 2021-07-14 09:02:02
    暑假结束,逝去的四个暑假 大家好,我是bigsai。 上周四回家,周五周六周日在家呆了三天,今天已经身处高铁回学校了,开启暑期打工人生活。 暑假,对于很多人来说是个非常好的机会,两个月的时间相对自由,没有课程...
  • 梯度下降算法原理讲解——机器学习

    万次阅读 多人点赞 2019-01-21 20:27:48
    0.0016 θ4=0.0016 如图,经过次的运算,也就是走了步,基本就抵达了函数的最低点,也就是山底 3.2 多变量函数的梯度下降 我们假设有一目标函数 J ( Θ ) = θ 1 2 + θ 2 2 J(\Theta) = \theta_{1}^2 + \...
  • 前面三篇写了线性回归,lasso,和LARS的一些内容,这篇写一下决策树这经典的分类算法,后面再提一提随机森林。关于决策树的内容主要来自于网络上几技术博客,本文中借用的地方我都会写清楚出处,写这篇[整理文章...
  • 、神经网络和深度学习 原文:Machine Learning for Humans, Part 4: Neural Networks & Deep Learning 作者:Vishal Maini 译者:飞龙 协议:CC BY-NC-SA 4.0 深度神经网络的工作地点、原因和方式。...
  • 前言博主第一次接触机器学习,内容可能有许多原文复现,但是我尽量用自己的话来讲读书笔记第一目的是为了总结,第二...如图4.1所示,从树的根结点,到叶子结点(也就是判别结果),其中一般会经过若干中间结点,每...
  • 系统学习机器学习之神经网络() --SOM

    万次阅读 多人点赞 2016-12-05 10:29:28
    对于一般的分类问题,一输出节点节能代表一模式类,用一维线阵意义明确结构简单。 权值初始化问题 基本原则是尽量使权值的初始位置与输入样本的大概分布区域充分重合,不要出现大量的初始“死节点”。 一...
  • 一个机器学习系统一般应该有环境、学习、知识库、执行与评价四个基本部分组成。 关于机器学习的研究,可以追溯到20世纪50年代中期。当时人们从仿生学的角度开展了研究,希望搞清楚人类大脑及神经系统的学习机理。但...
  • 机器学习的应用——关于正确应用机器学习

    万次阅读 多人点赞 2014-11-03 15:55:14
     前阵子看到一篇文章,学习了一段时间的机器学习算法后,再回头看机器学习问题,发现要想利用机器学习去很好的求解一问题,其实是一件很难的事情。因为利用机器学习处理一实际的问题就不仅仅是我们得学会怎么...
  • 机器学习极简入门课

    千次阅读 2018-07-03 02:45:07
    本达人课针对机器学习初学者,从机器学习、深度学习最基本的原理及学习意义入手,以模型为驱动,带领大家吃透几最经典的机器学习模型——学习这些模型的原理、数学推导、训练过程和优化方法。 本课为每模型提供...
  • 部分复杂模型的算法设计都是算法工程师在做,而我们 > 分析很多的数据 > 分析具体的业务 > 应用常见的算法 > 特征工程、调参数、优化 我们应该怎么做 1.学会分析问题,使用机器学习算法的目的,想要算法...
  • 机器学习算法集锦

    万次阅读 2017-02-20 22:52:42
    机器学习机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 308,082
精华内容 123,232
关键字:

一般机器的四个基本部分