机器学习工程实战:什么是机器学习?

机器学习工程实战:什么是机器学习?

问题描述:

机器学习(machine learning)是计算机科学的一个子领域,它关注的是建立一些算法,这些算法想发挥作用,就要依靠一组现象的例子。这些例子可以来自自然界,也可以由人类手工制作,或由其他算法生成。

机器学习也可以定义为通过以下方式解决实际问题的过程:

(1)收集数据集;

(2)根据该数据集,通过算法训练一个统计模型(statistical model)

该统计模型被假定为以某种方式来解决实际问题。在不引起误会的情况下,我交替使用“学习”和“机器学习”这两个术语。出于同样的原因,我常用“模型”来指一个统计模型。

学习可以是监督式、半监督式、无监督式和强化式。

1.2.1 监督学习

监督学习(supervised learning)中,数据分析师使用的是有标签样本(labeled example)集合

以内的每个元素

称为特征向量(feature vector)。在计算机科学中,向量是一个一维数组。而一维数组则是一个有序的、有索引的数值序列。该数值序列的长度

称为该向量的维度(dimensionality)

特征向量是一个向量,在这个向量中,从1到

的每个维度

都包含一个描述该样本的值。每一个这样的值都被称为特征(feature),表示为

。例如,如果我们收集的每个样本

代表一个人,那么第一个特征

可以包含身高(cm),第二个特征

可以包含体重(kg),

可以包含性别,以此类推。对于数据集中的所有样本,特征向量中

位置的特征总是包含相同的信息。这意味着,如果

在某个样本

中包含了以kg为单位的体重,那么在每个样本

也包含以kg为单位的体重,对于从1到

的所有

都是这样的。标签(label)

可以是有限类(class)集{1, 2, … ,

}的一个元素,或一个实数,或一个更复杂的结构,如一个向量、一个矩阵、一个树或一个图。除非另有说明,在本书中,

是有限类集中的一个元素或一个实数[1]。你可以将类看作一个样本所属的类别。

例如,如果样本是电子邮件信息,问题是垃圾邮件检测,那么你有两个类:垃圾邮件和非垃圾邮件。在监督学习中,预测一个类的问题称为分类(classification),而预测一个实数的问题称为回归(regression)。要由监督模型预测的值称为目标(target)。回归的例子:根据员工的工作经验和知识预测其工资。分类的例子:医生将一个病人的特征输入一个软件应用程序中,该程序返回诊断结果。

分类和回归的区别如图1.2所示。在分类中,学习算法寻找一条线(或者更一般地说,一个超曲面),将不同类别的样本彼此分开。而在回归中,学习算法寻找的是紧密跟随训练样本的线或超曲面。

 

 

图1.2 分类和回归的区别

监督学习算法supervised learning algorithm)的目标是利用一个数据集来产生一个模型,它以一个特征向量

作为输入,并输出信息,该信息允许推导出这个特征向量的标签。例如,使用患者数据集创建的模型可以将描述患者的特征向量作为输入,并输出患者患癌症的概率。

即使模型是典型的数学函数,在思考模型对输入所做的事时,也可以方便地认为模型“看”到输入中一些特征的值,并根据类似样本的经验,输出一个值。这个输出值是一个数字或一个类,与过去在特征值相似的样本中看到的标签“最相似”。这看起来很简单,但决策树模型和

-最近邻算法的工作原理几乎就是这样的。

1.2.2 无监督学习

无监督学习(unsupervised learning)中,数据集是无标签样本(unlabeled example)

的集合。同样,

是一个特征向量,无监督学习算法unsupervised learning algorithm)的目标是创建一个模型,它以一个特征向量

作为输入,并将其转化为另一个向量,或转化为一个可用于解决实际问题的值。例如,在聚类(clustering)中,模型返回数据集中每个特征向量的聚类ID。对于在图像或文本文档等大型对象集合中寻找相似对象的群体,聚类非常有用。例如,通过使用聚类,分析师可以从一个大型的样本集合中,抽取足够有代表性但又很小的无标签样本子集进行人工标记:从每个聚类中抽取几个样本,而不是直接从大型集合中抽样(这样有可能只抽取到彼此非常相似的样本)。

降维(dimensionality reduction)中,模型的输出是一个比输入维度更小的特征向量。例如,科学家有一个太复杂而无法可视化的特征向量(它有三个以上的维度)。降维模型可以将该特征向量转化为只有两个或三个维度的新特征向量(通过在一定程度上保留信息)。这个新的特征向量可以绘制在一张图上。

离群值检测(outlier detection)中,输出是一个实数,表示输入的特征向量与数据集中的一个“典型”样本有多大的不同。对于解决网络入侵问题(通过检测与“正常”流量中的典型数据包不同的异常网络数据包)或检测新奇性(如文档与集合中现有文档不同),离群值检测非常有用。

1.2.3 半监督学习

半监督学习(semi-supervised learning)中,数据集包含有标签样本和无标签样本。通常情况下,无标签样本的数量远高于有标签样本的数量。半监督学习算法(semi-supervised learning algorithm)的目标和监督学习算法的目标是一样的。这里的希望是,通过使用许多无标签样本,学习算法可以找到(可以说是“产生”或“计算”)一个更好的模型。

1.2.4 强化学习

强化学习(reinforcement learning)是机器学习的一个子领域,在这个子领域中,机器(称为代理)“生活”在一个环境中,并且能够将该环境的状态感知为特征向量。机器可以在非终结状态下执行动作。不同的行动带来不同的回报,也可以将机器移动到该环境的另一种状态。强化学习算法的一个共同目标是学习一个最优策略(policy)

一个最优策略是一个函数(类似于监督学习中的模型),它以一个状态的特征向量作为输入,并输出一个在该状态下执行的最优动作。如果该行动能使预期的平均长期报酬最大化,那么它是最优的。

强化学习解决一个特定问题,其中决策是顺序的、目标是长期的,如游戏、机器人、资源管理或物流。

此回答摘自《机器学习工程实战》

机器学习入门教程,机器学习精讲姊妹篇,侧重于机器学习应用贺工程实践,探讨多种实际应用场景,深挖AI技术实战,谷歌科学主管作序推荐。

本书是人工智能和机器学习领域专业多年实践的结晶,深入浅出讲解机器学习应用和工程实践,是对机器学习工程实践和设计模式的系统回顾。全书分别从项目前的准备,数据收集和准备,特征工程,监督模型训练,模型评估,模型服务、监测和维护等方面讲解,由浅入深剖析机器学习实践过程中遇到的问题,帮助读者快速掌握机器学习工程实践和设计模式的基本原理与方法。

本书内容安排合理,架构清晰,理论与实践相结合,适合想要从事机器学习项目的数据分析师、机器学习工程师以及机器学习相关专业的学生阅读,也可供需要处理模型的软件架构师参考。

感谢优质内容,将收录到CSDN官方的社区周刊。往期参考 https://bbs.csdn.net/topics/603335113