前言回顾吴恩达在coursera上的机器学习课程,受益匪浅。该课程涵盖了机器学习的基本内容,并以简单的方式解释了许多概念。现在对它的课件和内容进行总结和梳理,主要是因为课程真的很好,同时也是对学习过程的回顾和总结,其中也会包含一些自己的思考。如果有兴趣,最好系统地学习课程,并做相应的习题和小测验,收获会更大。由于课程代码无法公开,本文将不对实践部分进行详细阐述。如果可能,我会添加一些公共实践示例。简介本部门主要概述机器学习的基本概念和相关方法的分类。扩充主要在总结和科普,没有详细扩充,后续会进一步扩充或总结。1.机器学习的定义ArthurSamuel(1959).MachineLearning:赋予计算机学习能力而无需明确编程的研究领域。TomMitchell(1998)Well-posedLearningProblem:AcomputerprogramissaidtolearnfromexperienceE对于一些任务T和一些性能度量P,如果它在T上的性能,如P所衡量的那样,随着经验E的增加而提高。在上述两个定义中,后者是常用的。在机器学习的建模过程中,我们的首要任务是确定三个基本要素,即经验(experience,E)、任务(task,T)和效果(performance,P)。学习基于历史经验(E),通过收集的历史数据直观地表示。学习过程是针对一个特定的任务(T),即目的(例如,需要对邮件进行分类),而候选人能够符合给定的历史数据的模型假设有很多。如何选择一个好的假设需要定义评估标准(P)。例如对邮件进行分类,假设将其分为两类,正常邮件和垃圾邮件,则:E:预先收集的一系列邮件T:将邮件分为两类:正常邮件和垃圾邮件P:正常分类百分比2.机器学习方法的分类机器学习方法大致可以分为:监督学习和非监督学习。主要区别在于我们是否可以实现学习目标的分类。2.1.监督学习:对于任何样本,我们都知道它的目标值,通常称为类标签。当目标值离散时,就是一个分类问题。当目标值连续时,就是一个回归问题。对于任意实例(x,y),x是一个向量,通常称为特征向量,每个维度代表目标的一个属性,y是目标值,即实例的类标签,当y是离散的值,是分类问题,y是连续值的回归问题。分类问题,如图1所示。假设样本实例是一系列患者,我们要给出两个属性,即x1(肿瘤大小)和x2(肿瘤数量),以预测患者是否患有癌症。每个患者在图中用一个点表示,代表一类(非癌症患者)和一类(癌症患者)。监督学习过程是基于类标记数据(通常称为训练集)来产生分类表面,通常称为假设h(x)=y,其中y=1(癌症患者)或y=0(非癌症患者)cancerpatients)Cancerpatients),训练集分为两类。当新数据到达时,可以根据学习到的假设h(x)预测患者是否患有癌症。图1回归问题,如图2所示,假设我们要预测房子的价格。图中,我们采集了一系列的样本,每个样本代表一个样本,我们希望学习到房屋大小与价格的关系,h(x)=y,其中特征向量只有一个值,即就是,房子的大小,目标值就是房子的价格。可以看出,能够拟合样本的曲线不止一条(蓝色曲线和红色曲线),这涉及到判断哪个假设更好,通常称为模型选择。图22.2。无监督学习在无监督学习中,我们无法预先获取样本的类标签,即如图3所示,每个代表一个样本,很明显样本可以分为两个簇。它们相距很远,但簇中的样本点很近。聚类是无监督学习的典型例子,关键在于距离函数的定义,即如何衡量样本之间的相似性。通常,我们认为距离相近的两个样本点属于一个簇。常用的聚类算法包括k-mean、dbscan等。图33.其他概念这里简单介绍一下机器学习中的一些重要概念。[1]半监督学习半监督学习介于监督学习和无监督学习之间。监督学习的训练集标有类,即我们事先知道样本中的邮件是否是垃圾邮件,并根据这个经验训练模型;无监督学习的训练集并不知道类别标签,我们只能根据某些相似性或结构特征将样本划分到不同的簇中。在现实生活中,我们很难获得大量带标签的数据,使用人工大规模标签费时费力。因此,提出了一种半监督学习方法。核心思想是我们首先使用少量标记数据来训练模型。然后基于一定的方法,也利用未标记的数据自动进一步优化模型。[2]主动学习主动学习有点类似于半监督学习。半监督学习期望自动使用未标记数据进行学习,而主动学习可以看成是半自动使用未标记数据。核心思想是利用少量有标签的数据来训练模型,在现有模型的基础上尽量对无标签的数据进行标注。如果模型不确定当前标签的结果,它可以向人发起帮助请求,询问当前样本的类别。目标是通过人工反馈优化模型,而不询问最重要的结果。[3]强化学习(reinforcementlearning)强化学习是一种交互式的学习过程,通常用马尔可夫决策过程来描述,其核心在于评分机制。以象棋为例进行说明。每局棋代表一个州。当前状态下有不同的下法,即下一个棋子应该怎么走。每个策略都会将当前状态转换为下一个状态,假设x1,x2,...,xn,我们给每次转换的结果打分,分数表示获胜的可能性,然后选择得分最高的策略在用贪心策略下棋的过程中。[4]集成学习(ensemblelearning)集成学习的核心思想是将多个弱分类器组合成一个强分类器。比如,小明要去看医生,看他有没有发烧。为了更准确,小明看了5位医生,其中4位医生说小明没有发烧,只有1位医生说小明发烧了。整体来看,如果每个医生都有一票,最终少数服从多数。小明应该没有发烧。机器学习也是如此。我们通常希望组合多个分类器,综合每个分类器的结果来做出最终的预测。最简单的就是竞价机制,少数服从多数。假设训练了k个分类器,对于任意一个实例,同时输入到k个分类器中,得到k个预测结果,按照少数服从多数的原则对该实例进行分类。[5]模型选择在机器学习中,有很多模型可以反映历史经验。如图2所示,有两条曲线可以拟合数据,因此如何从众多候选中选择一个好的模型是一个非常重要的课题。我们希望一个好的模型不仅对训练集(seendata)有很好的效果,而且对unseendata也有很好的预测效果,也就是有很好的泛化能力。这里涉及到两个重要的术语,即过拟合和欠拟合。欠拟合是指模型在所有数据(seenandunseen)数据上表现都很差,没有一个抽象模型可以做得很好。过拟合是指模型在已见数据上表现良好,但在未见数据上表现较差,即模型通过拟合极端数据获得好的结果,学习到的模型过于具体。以至于对看不见的数据没有预测能力。我们通常用精度来衡量预测结果的好坏。仅仅保证预测的准确性是不够的。同样的条件下,我们更倾向于简单的模型。这就是著名的奥卡姆剃刀原则(Occam'sRazor),“对数据的解释应该越简单越好,但不能更简单”。综上所述,在模型选择过程中主要需要考虑两个方向:预测结果的质量(如准确率)和模型的复杂度。[6]特征选择(featureselection)如图1例子所示,患者是否患有癌症的分类问题,我们考虑肿瘤的大小和肿瘤的数量这两个特征;如图2的例子所示,我们考虑房屋大小的特征来预测房价。特征的好坏,以及与目标的相关程度,极大地影响了模型学习的效果。如果特征不足,或者与目标不相关,学习到的模型很容易欠拟合。如果不相关的特征过多,会造成维数灾难,影响学习过程的效率。深度学习的效果好是因为它的隐藏层对特征有很好的抽象效果。因此,在模型学习的过程中,特征的选择也是一个非常重要的课题。常用的特征选择方法是PCA,也就是主成分分析。
