机器学习基本术语详解与核心概念解析
机器学习以数据为基础,样本由属性构成特征向量。训练从数据中学习模型,有标记的样本用于监督学习(分类与回归),无标记的样本用于无监督学习(聚类)。泛化能力是衡量模型对新样本适用性的关键标准。
机器学习里那些「行话」到底指什么?
目录
- 一、先有数据:从一堆西瓜记录说起
- 二、描述一个东西:属性、特征与特征向量
- 三、用数学写下来:数据集的符号表示
- 四、学和练:训练、模型与学习器
- 五、给样本贴结果:标记与样例
- 六、两大任务:分类与回归
- 七、考一考:测试样本
- 八、不打标签也能学:聚类
- 九、有没有老师:监督学习与无监督学习
- 十、最重要的能力:泛化
- 十一、一句话总结
- 十二、一个小演示:构造数据集并划分训练/测试
一、先有数据:从一堆西瓜记录说起
要搞机器学习,手头总得有点数据。假设我们收集了一批西瓜的“体检报告”,就像下面这样:

- (色泽=青绿;根蒂=蜷缩;敲声=浊响)
- (色泽=乌黑;根蒂=稍蜷;敲声=沉闷)
- (色泽=浅白;根蒂=硬挺;敲声=清脆)
- ……
每一对括号里就是一条记录,那个等号的意思就是“取值为”。
所有这些记录的集合,就叫数据集(data set)。这里面:
- 每一条记录,描述的是某一个西瓜的具体情况,这叫一个示例(instance)或样本(sample);
- 描述西瓜某方面性质的东西,比如“色泽”、“根蒂”、“敲声”,这叫属性(attribute)或特征(feature);
- 每个属性具体的取值,比如“青绿”、“乌黑”,这叫属性值(attribute value)。
二、描述一个东西:属性、特征与特征向量
把“色泽、根蒂、敲声”这三个属性想象成三维空间里的坐标轴,它们就张成了描述西瓜的专属空间。每个西瓜都能在这个空间里找到自己的位置。
比如“青绿、蜷缩、浊响”这个瓜,对应的坐标就是 。
因为空间里的每个点都对应一个坐标向量,所以我们也把示例叫作特征向量(feature vector)。
- 属性张成的空间,就是属性空间(attribute space)、样本空间(sample space)或输入空间;
- 一个示例,就是输入空间里的一个点(一个特征向量)。
三、用数学写下来:数据集的符号表示
为了方便后续推导,得用一套标准符号把数据集写明白。
通常,令
表示包含 个示例的数据集。如果每个示例由 个属性描述(比如西瓜用了 3 个属性),那么每个示例就是一个 维向量:
其中:
- , 是样本空间(输入空间);
- 表示示例 在第 个属性上的取值(比如某个西瓜在“根蒂”上的值是“硬挺”);
- 称为示例的维数(dimensionality),也就是“用了几个特征来描述一个东西”。
简单说: 是所有可能的特征组合构成的大空间,而数据集 只是从这个大空间里采出来的一小批点。
四、学和练:训练、模型与学习器
从数据里学出模型的过程,叫作学习(learning)或训练(training),这个过程靠执行某个学习算法来完成。
- 训练过程中使用的数据,叫训练数据(training data);
- 其中的每个样本,叫训练样本(training sample),也叫“训练示例”或“训练例”;
- 训练样本组成的集合,叫训练集(training set)。
学出来的模型,对应了关于数据某种潜在的规律,因此也称假设(hypothesis);而这种潜在规律本身,则称为真相/真实(ground-truth)。学习的目的,就是找出或逼近真相。
另外,我们有时把学出来的模型叫做学习器(learner)——可以理解为:学习算法在“给定数据 + 给定参数空间”上跑出来的一个具体实例。
五、给样本贴结果:标记与样例
如果我们想学一个能判断“没剖开的瓜是不是好瓜”的模型,光有前面的特征描述还不够——还得知道每个瓜到底是好是坏。
所以我们需要给训练样本补上“结果”信息,例如:
这里关于示例“结果”的信息(例如“好瓜”),称为标记(label);拥有了标记信息的示例,则称为样例(example)。
一般地,用
表示第 个样例,其中:
- 是示例 的标记;
- 是所有标记的集合,叫做标记空间(label space)或输出空间。
六、两大任务:分类与回归
有了标记之后,根据“我们要预测的东西是什么类型”,学习任务可以分成两大类:
- 分类(classification):预测的是离散值。例如预测“好瓜/坏瓜”。
- 只涉及两个类别的,叫二分类(binary classification),通常把其中一个叫正类(positive class),另一个叫反类(negative class);
- 涉及多个类别的,叫多分类(multi-class classification)。
- 回归(regression):预测的是连续值。例如预测西瓜的成熟度 0.95、0.37。
一般地,预测任务的期望是:通过对训练集
进行学习,建立一个从输入空间到输出空间的映射
不同任务下输出空间 长这样:
- 二分类:通常 或 ;
- 多分类:;
- 回归:(实数集)。
七、考一考:测试样本
模型学出来之后,当然要拿来用。使用模型进行预测的过程,叫做测试(testing);被拿去预测的样本,叫做测试样本(testing sample)(也叫“测试示例”或“测试例”)。
例如,学出了映射 之后,对某个测试例 ,我们就能得到它的预测标记:
一句话记忆:训练集用来“学”,测试样本用来“考”。
八、不打标签也能学:聚类
除了“预测某个具体结果”,我们还可以对数据做另一种处理——聚类(clustering):把训练集里的西瓜分成若干组,每组叫一个簇(cluster)。
这些自动形成的簇,可能对应一些潜在的概念划分,例如“浅色瓜/深色瓜”,甚至“本地瓜/外地瓜”。
- 这种学习能帮我们摸清数据内在的规律,为进一步分析打基础;
- 关键是:在聚类时,我们事先并不知道“浅色瓜”“本地瓜”这些概念,而且训练样本通常没有标记信息。
九、有没有老师:监督学习与无监督学习
根据训练数据有没有标记信息,学习任务可大致划分为两大类:
- 监督学习(supervised learning):训练数据带标记。分类和回归是它的代表。(也叫“有导师学习”。)
- 无监督学习(unsupervised learning):训练数据不带标记。聚类是它的代表。(也叫“无导师学习”。)
记忆窍门:有标记 = 有老师教 = 监督学习;没标记 = 自己摸索 = 无监督学习。
十、最重要的能力:泛化
这是整个机器学习里最关键的一个词——泛化(generalization)。
机器学习的目标,是让学出的模型能很好地适用于“新样本”,而不是仅仅在训练样本上表现好。哪怕对聚类这种无监督任务,我们也希望学出的簇划分能适用于训练集里没出现过的样本。
这里藏着一个重要的前提假设:
为什么这个假设重要?
- 训练集通常只是样本空间里很小的一次采样;
- 我们当然希望这小批采样能反映整个样本空间的特性,否则很难指望学出的模型在全局都好用;
- 一般而言,训练样本越多,我们关于这个分布的信息就越多,也就越有可能学到泛化能力强的模型。
十一、一句话总结
机器学习的“行话”看似多,其实围绕一条主线:用一批带(或不带)标记的样本,从数据空间里学出一个映射;评判它好坏的终极标准不是训练时多准,而是面对没见过的新样本时,泛化能力够不够强。
十二、一个小演示:构造数据集并划分训练/测试
下面这段 Python 代码,把前面“西瓜”的例子落成可运行的数据结构,并演示了监督学习(带标记)与无监督学习(不带标记)两种视角,以及最基础的训练集/测试集划分。
"""演示:构造西瓜数据集,并展示1) 监督学习视角(带标记 -> 分类任务)2) 无监督学习视角(去标记 -> 聚类任务)3) 训练集 / 测试集划分"""
import random
# 每个样本: [色泽, 根蒂, 敲声, 标记]
# 标记 1=好瓜, 0=坏瓜(监督学习视角才用)
dataset = [
["青绿", "蜷缩", "浊响", 1],
["乌黑", "蜷缩", "浊响", 1],
["青绿", "硬挺", "清脆", 0],
["乌黑", "稍蜷", "沉闷", 0],
["浅白", "蜷缩", "浊响", 1],
["青绿", "稍蜷", "浊响", 1],
["乌黑", "硬挺", "清脆", 0],
["浅白", "硬挺", "沉闷", 0],
]
def split_train_test(data, test_ratio=0.25, seed=42):
"""按比例随机划分训练集和测试集(保持可复现,设随机种子)"""
random.seed(seed)
idx = list(range(len(data)))
random.shuffle(idx)
n_test = int(len(data) * test_ratio)
test_idx = idx[:n_test]
train_idx = idx[n_test:]
train = [data[i] for i in train_idx]
test = [data[i] for i in test_idx]
return train, test
def to_supervised(data):
"""监督学习视角:特征 X + 标记 y"""
X = [row[:3] for row in data]
y = [row[3] for row in data]
return X, y
def to_unsupervised(data):
"""无监督学习视角:只保留特征,丢掉标记"""
return [row[:3] for row in data]
if __name__ == "__main__":
train, test = split_train_test(dataset)
print("训练集样本数:", len(train), " 测试集样本数:", len(test))
X_train, y_train = to_supervised(train)
print("n[监督学习视角] 训练集特征 X_train:")
for x, yy in zip(X_train, y_train):
print("特征", x, "-> 标记(好瓜?)", yy)
X_unsup = to_unsupervised(train)
print("n[无监督学习视角] 只看特征,没有标记(适合做聚类):")
for x in X_unsup:
print("特征", x)
把代码保存为 terms_demo.py,用 python terms_demo.py 运行,输出如下:
训练集样本数: 6
测试集样本数: 2
[监督学习视角] 训练集特征 X_train:
特征 ['乌黑', '硬挺', '清脆'] -> 标记(好瓜?) 0
特征 ['浅白', '硬挺', '沉闷'] -> 标记(好瓜?) 0
特征 ['青绿', '硬挺', '清脆'] -> 标记(好瓜?) 0
特征 ['青绿', '稍蜷', '浊响'] -> 标记(好瓜?) 1
特征 ['青绿', '蜷缩', '浊响'] -> 标记(好瓜?) 1
特征 ['乌黑', '蜷缩', '浊响'] -> 标记(好瓜?) 1
[无监督学习视角] 只看特征,没有标记(适合做聚类):
特征 ['乌黑', '硬挺', '清脆']
特征 ['浅白', '硬挺', '沉闷']
特征 ['青绿', '硬挺', '清脆']
特征 ['青绿', '稍蜷', '浊响']
特征 ['青绿', '蜷缩', '浊响']
特征 ['乌黑', '蜷缩', '浊响']
这段代码直观展示了:同样一批西瓜数据,加上标记就是“分类”用的监督学习数据,去掉标记就是“聚类”用的无监督学习数据;而划出来的“测试集”正是用来检验模型泛化能力的那批新样本。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
手写Mini Cursor:Agent文件读写、命令执行与项目创建
基于ReAct循环构建的MiniCursorAgent,通过Node jsRuntime提供读文件、写文件、查看目录、执行命令四个工具,在本地工作区自主完成创建ReactTodoList项目、实现功能、添加样式动画等编程任务,模型根据工具结果循环决策。
一条脚本结合多步流水线与HereDoc实现全自动内容生产
多步流水线将多个命令调用串联成自动化生产流程,HereDoc通过cat命令以标准输入方式传递长文本prompt,避免引号嵌套引发的混乱,显著提升脚本可读性与可维护性,是处理长文本提示的有效方法,广泛应用于自动化脚本编写。
iOS设备上PlayWright MCP服务器的安装配置与使用详细指南
基于Appium的iOS设备自动化测试MCPServer,提供屏幕截图、元素点击及UI树获取功能,支持Stdio与SSE两种运行模式,可无缝接入Trae等支持MCP协议的AI客户端,所有工具共享同一Appium会话,避免重复启动开销,显著提升测试效率。
MCP Server开发入门与协议调试生产部署
MCPServer开发需解决五个工程问题:多工具共享数据层;输入验证含枚举值、必填字段和业务规则;错误处理区分硬错误与软反馈;日志必须写入stderr避免破坏协议;Resources使LLM能动态获取上下文数据。以JiraServer为例,实现4个工具、1个资源和1个Prompt,覆盖完整测试用例。
机器学习基本术语详解与核心概念解析
机器学习以数据为基础,样本由属性构成特征向量。训练从数据中学习模型,有标记的样本用于监督学习(分类与回归),无标记的样本用于无监督学习(聚类)。泛化能力是衡量模型对新样本适用性的关键标准。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-07-13 16:15
2026-07-13 16:14
2026-07-13 16:14
2026-07-13 16:14
2026-07-13 16:14
2026-07-13 16:13
2026-07-13 16:13
2026-07-13 16:13
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

