概念
概述
了解机器学习基本概念、类型、七步流程与课程目标
A. 什么是机器学习?
机器学习(ML)是科学的一个分支,研究如何通过模式识别和推理来执行特定任务的算法与系统,而不是依赖显式编程指令。机器学习有多种应用场景,从图像识别到文本生成等。大多数机器学习任务可归为以下两类学习方式之一:-
监督学习:使用带有标签的数据训练模型。训练数据集中的标签表示每条数据所属的类别或分类。训练完成后,模型应能对新数据(来自与训练数据相同分布的数据)预测其对应的标签。
- 示例:假设你要训练一个机器学习模型,判断一张图片是否包含湖泊。在监督学习中,你会使用一组已标注的图片数据集进行训练——若图片中有湖泊,则标签为“是”;否则为“否”。训练完成后,模型便能输入任意图片并判断其中是否含有湖泊。
-
无监督学习:使用无标签数据,让模型自行发现数据之间的关系并捕捉潜在的模式。现实世界中的大多数数据都是无标签的,因此无监督学习是一种非常实用的机器学习方法。
- 示例:沿用上面的图片数据集,但现在假设训练数据没有标签。通过无监督学习,模型可以自动识别出含湖泊和不含湖泊图片之间的内在差异,例如像素颜色或图像方向的不同,从而将图片聚类为两个不同的组。
如果有足够大的带标签训练数据集,监督学习通常是首选方案。然而,获取完全标注的数据集往往很困难,因此许多任务需要采用无监督学习或半监督学习(监督与无监督学习的结合)。选择合适的学习方式只是构建机器学习模型的第一步,你还需为具体任务选择合适的模型结构,并且最重要的是,能够将数据处理成可用的训练流程,以及解释和分析模型结果。
B. 机器学习 vs. 人工智能 vs. 数据科学
人们常常将“机器学习”、“人工智能”和“数据科学”这几个术语混用。实际上,机器学习是人工智能(AI)的一个子集,同时与数据科学高度重叠。人工智能涵盖所有使机器表现出类似人类“智能”行为的技术。机器学习是实现人工智能的主要手段之一,但人工智能也广泛使用非机器学习的技术,例如α-β剪枝、基于规则的系统等。
另一方面,数据科学关注的是从数据集中提取有价值的洞察。传统上,数据科学家主要依靠统计方法来获得这些洞察。然而,随着机器学习的发展,它也已深入渗透到数据科学领域。
在工业界,任何数据科学家或人工智能研究人员都必须对机器学习有扎实的理解。工业领域的机器学习使我们得以构建出色的自主系统,这些系统在其各自领域中的表现已经达到甚至超越了人类顶尖水平。一个典型的例子是AlphaGo——一个基于机器学习的系统,曾击败世界最强的人类围棋选手。
C. 机器学习流程的七个步骤
- 数据收集:为机器学习任务获取原始数据集的过程。数据来源多样,可能来自开源网络资源,也可能来自付费众包服务。这是机器学习流程中可以说最关键的一步:如果收集的数据质量差或不相关,训练出的模型性能必然不佳。
- 数据处理与准备:在获取相关数据后,需对其进行处理,确保数据格式适合用于训练机器学习模型。包括处理缺失值、应对异常值等操作。
- 特征工程:完成数据收集和预处理后,通常需要对部分特征进行转换(有时甚至删除某些特征),以优化模型在该数据上的训练效果。
- 模型选择:根据数据集特点选择合适的模型结构。这是工业工程师的核心任务之一。大多数任务无需设计全新的模型结构,而可直接采用现有成熟架构(或多个架构的组合)即可取得良好效果。
- 模型训练与数据流水线:选定模型结构后,需构建用于训练的数据流水线,即持续提供批量数据样本,以高效训练模型。由于训练过程耗时较长,因此数据流水线应尽可能高效。
- 模型验证:在充分训练模型后,需使用预留的一部分数据(未参与训练)来评估模型性能。这部分数据必须与训练数据来自相同的总体分布,但必须是模型未曾见过的新数据。
- 模型持久化:最后,在完成模型训练和性能验证后,需要正确保存模型权重,并可能将其部署至生产环境。这意味着要建立一套机制,使新用户能够方便地使用你训练好的模型进行预测。
D. 本课程将提供什么内容
完成本课程后,你将能够处理和清洗原始数据集,训练机器学习模型,并评估模型性能。具体而言,你将掌握以下能力:- 针对特定任务处理原始数据集:包括处理缺失数据和异常值,对特征进行归一化和变换,识别对任务最关键的特征,并选出最优的特征组合。
- 根据数据特点选择合适的模型结构:许多人习惯对所有机器学习任务默认使用大型神经网络,但在很多情况下这并不必要;若数据集不够大,反而可能损害模型最终性能。
- 编写机器学习模型代码并在处理后的数据上进行训练。
- 在预留数据上评估模型性能,并理解提升模型表现的各种技术手段。