1.1基础概念:
- 概念:机器学习是一门致力于研究如何通过计算的手段,利用经验来改善系统自身的性能的学科。
- “经验”通常以“数据”形式存在,机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即“学习算法(learning algorithm)”。
- 有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时,模型会给我们提供相应的判断。
- 计算机科学是研究关于“算法”的学问,机器学习是研究关于“学习算法”的学问
- 假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。
1.2基本术语:
- 假定手机了一些西瓜的数据,(色泽=青绿;根蒂=蜷缩;敲声=浊响),一对括号是一条记录,“ = ” 意思是 “ 取值为 ”
- 这组记录称为一个 “ 数据集 ”(data set),其中每条记录都是关于一个事件或对象的描述,称为一个 “ 示例 ” (instance)或 “ 样本 ”(sample)
- 反映事件或对象在某方面的表现或性质,“ 色泽 ” 等,称为 “ 属性 ”(attribute)或 “ 特征 ”(feature);属性上的取值,“ 青绿 ”等,称为 “ 属性值 ”(attribute value)。
- 属性张成的空间称为“ 属性空间 ”(attribute space)、“ 样本空间 ”(sample space)或“ 输入空间 ”。我们把“ 色泽 ” “ 根蒂 ” “ 敲声 ” 作为三个坐标轴,则它们张成用于描述西瓜的三维空间,每个西瓜都可在这个空间中找到自己的坐标位置。由于空间中的每个点对应一个坐标向量,一个示例称为一个 “ 特征向量 ”(feature vector)
表示包含m个示例的数据集,每个示例由d个属性描述,则每个示例
是d维样本空间X中的一个向量,
,其中,
是
在第j个属性上的取值,d称为样本
的 “ 维数 ”(dimensionality)
- 从数据中学得模型的过程称为 “ 学习 ”(learning)或 “ 训练 ”(training),这个过程通过执行某个算法来完成。训练过程中使用的数据称为 “ 训练数据 ”(training data) ,其中每一个样本称为一个 “ 训练样本 ” (training sample),训练样本组成的集合称为 “ 训练集 ”(training set)。
- 学得一个能帮助我们判断没剖开的是不是 “ 好瓜 ” 的模型,仅有示例数据是不够的。要建立这样的关于 “ 预测 ” (prediction)的模型,我们需要训练样本的 “ 结果 ” 信息,例如 “((色泽=青绿;根蒂=蜷缩;敲声=浊响),好瓜)”。这里关于示例结果的信息,例如 “ 好瓜 ” ,称为 “ 标记 ” (label);拥有了标记信息的示例,则被称为 “ 样例 ”(example)。一般的,用
表示第i个样例,其中
是示例
的标记,Y是所有标记的集合,亦称 “ 标记空间 ”(lable space)或 “ 输出空间 ”。
- 若欲测试的是离散值,例如 “ 好瓜 ” “ 坏瓜 ” ,此类学习任务称为 “ 分类 ” (classification);若欲测试的是连续值,例如西瓜成熟度0.95、0.37,此类学习任务称为 “ 回归 ”(regression)。对只涉及两个类别的 “ 二分类 ” (binary classification)任务,通常称其中一个类为 “ 正类 ”(positive class),另一个类为 “ 反类 ”(negative class);涉及多个类别时,则称为 “ 多分类 ”(multi-class classification)任务。
- 一般的,预测任务是希望通过对训练集
进行学习,建立一个从输入空间 X 到输出空间 Y 的映射 f : X -> Y 。对二分类任务,通常令Y = {-1,+1} 或 {0,1} ;对多分类任务,|Y| > 2;对回归任务,Y = R,R 为实数集。
- 学得模型后,使用其进行预测的过程称为“ 测试 ”(testing),被预测的样本称为“ 测试样本 ”(testing sample)。例如在学得 f 之后,对测视例 x ,可得到其预期标记
- 对西瓜做 “ 聚类 ”(clustering),即将训练集中的西瓜分为若干组,每组称为一个 “ 簇 ”(cluster);这些自动形成的簇可能对应一些潜在的概念划分,例如 “ 浅色瓜 ” “ 深色瓜 ”,甚至 “ 本地瓜 ” “ 外地瓜 ”。这样的学习过程有助于我们了解数据内在的规律,能为更深入的分析数据建立基础。
- 在聚类学习中,“ 浅色瓜 ” “ 本地瓜 ” 这样的概念我们事先是不知道的,而且在学习过程中使用的训练样本通常不具有标记信息。
- 根据训练数据是否拥有标记信息,学习任务可大致分为两大类:“ 监督学习 ”(supervised learning)和 “ 无监督学习 ”(unsupervised learning),分类和回归是前者的代表,而聚类则是后者的代表。
- 机器学习的目标是使学得的模型能很好的适用于 “ 新样本 ”,而不仅仅是在训练样本上工作得好;即便对聚类这样的无监督学习任务,我们也希望学得的簇划分能适用于没在训练集中出现的样本。
- 学得模型适用于新样本的能力,称为 “ 泛化 ”(generalization)能力。具有强泛化能力的模型能很好的适用于整个样本空间
- 通常假设样本空间中全体样本服从一个未知 “ 分布 ”(distribution)D,我们获得的每个样本都是独立地从这个分布上采样获得的,即 “ 独立同分布 ”(independent and identically distributed,简称 i.i.d.)。一般而言,训练样本越多,我们得到的关于D的信息越多,这样越有可能通过学习获得具有强泛化能力的模型。
1.3假设空间:
- 归纳(induction)与演绎(deduction)是科学推理的两大基本手段。前者是从特殊到一般的“ 泛化 ”(generalization)过程,即从具体的事实归结出一般的结论;后者是从一般到特殊的“ 特化 ”(specialization)过程,即从基础原理推演出具体状况。
- 归纳学习有狭义与广义之分,广义的归纳学习大体相当于从样例中学习,而狭义的归纳学习则要求从训练数据中学得概念(concept),因此亦称为“ 概念学习 ” 或 “ 概念形成 ”。
- 概念学习中最基本的是布尔概念学习,即对“是”“不是”这样的可表示为0/1布尔值的目标概念的学习。假设“好瓜”可由“色泽”“根蒂”“敲声”这三个因素完全确定,我们学得的是“好瓜是某种色泽、某种根蒂、某种敲声的瓜”这样的概念,用布尔表达式写出来则是“好瓜<->(色泽=?)^(根蒂=?)^(敲声=?)”
- 我们可以把学习过程看作一个在所有假设(hypothesis)组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”(fit)的假设,既能够即能够将训练集中的瓜判断正确的假设。假设的表示一旦确定,假设空间及其规模大小就确定了
- 可以有许多策略对这个假设空间进行搜索,例如自顶向下、从一般到特殊,或是自底向上、从特殊到一般,搜索过程中可以不断删除与整理不一致的假设、和(或)与反例一致的假设。最终将会获得与训练集一致(即对所有训练样本能够进行正确判断)的假设,这就是我们学得的结果。
- 需要注意的是,现实问题中我们常面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设组合”,我们称之为“版本空间”(version space)。
1.4归纳偏好:
- 通过学习得到的模型对应了假设空间中的一个假设。西瓜的版本空间存在一个麻烦:现在有三个与训练集一致的假设,但与它们对应的模型在面临新样本的时候,却会产生不同的输出。
- 若仅有表一中的训练样本,则无法断定上述三个假设中哪一个更好。然而,对于一个具体的学习算法而言,它必须要产生一个模型。这时,学习算法本身的“偏好”就会起到关键的作用。
- 机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”(inductive bias)或简称为”偏好“。任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上”等效“的假设所迷惑,而无法产生确定的学习结果。
- 归纳偏好的作用在回归学习中可能更直观。这里的每个训练样本是图中的一个点(x,y),要学得一个与训练集一致的模型,相当于找到一条穿过所有训练样本点的曲线。显然,对有限个样本点组成的训练集,存在着很多条曲线与其一致。我们的学习算法必须有某种偏好,才能产出它认为”正确“的模型。例如,若认为相似的样本应有相似的输出(例如,在各种属性上都很相像的西瓜,成熟程度应该比较相近),则对应的学习算法可能偏好图中比较”平滑“的曲线。
- 归纳偏好可看作学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或”价值观“。”奥卡姆剃刀“(Occam's razor)是一种常用的、自然科学研究中最基本的原则,即”若有多个假设与观察一致,则选择最简单的那个“。如果采用这个原则,并且假设我们认为”更平滑“意味着”更简单“(例如曲线A更容易描述,其方程式是
,而曲线B则要复杂的多),则我们会自然的偏好”平滑“的曲线A。
- 归纳偏好对应了学习算法本身所作出的关于”什么样的模型更好“的假设。在具体现实中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。
- NFL定理最重要的寓意,是让我们清楚的认识到,脱离具体问题,空泛的谈论”什么学习算法更好“毫无意义,因为若要考虑所有潜在的问题,则所有学习算法都一样好。要谈论算法的相对优劣,必须要针对具体的学习问题;在某些问题上表现好的算法,在另一问题上却可能不尽如人意,学习算法自身的归纳偏好与问题是否相配,往往起到决定性的作用。
1.5发展历程:
- 机器学习是人工智能(artificial intelligence)研究发展到一定阶段的必然产物。
1.6应用现状:
- 机器学习在大数据时代是必不可少的核心技术,道理很简单:收集、存储、传输、管理大数据的目的,是为了”利用“大数据,而如果没有机器学习分析数据,则”利用“无从谈起。
- 简单探讨一下数据挖掘(data mining)与机器学习的联系。数据挖掘受到很多学科领域的影响,其中数据库、机器学习、统计学无疑影响最大。数据挖掘是从海量数据中发掘知识,这就必然涉及对”海量数据“的管理和分析。大体来说,数据库领域的研究为数据挖掘提供数据管理技术,而机器学习和统计学的研究为数据挖掘提供数据分析技术。统计学主要是通过机器学习对数据挖掘发挥影响,而机器学习领域和数据可领域则是数据挖掘的两大支撑。
- 在天气预报、能源勘测、环境监测等方面,有效利用机器学习技术对卫星和传感器发回的数据进行分析,是提高预报和检测准确性的重要途径;在商业营销中,有效的利用机器学习技术对销售数据、客户信息进行分析,不仅可以帮助商家优化库存降低成本,还有助于针对用户群体设计特殊营销策略。
- 互联网搜索是通过分析网络上的数据来找到用户所需的信息,在这个过程中,用户查询是输入、搜索结果是输出,而要建立输入与输出之间的联系,内核必然需要机器学习技术