数据挖掘12

作者:upper2020日期:2025/12/22

数据挖掘12 – 零样本分类

一、预备知识

1.底层特征(Low-level Features)

底层特征是从原始输入数据中直接提取的、最基础的、通常不具有明确语义含义的数值或信号特征。

例子(以图像为例):

像素强度(灰度值、RGB值)

2.中层属性(Mid-level Attributes / Mid-level Features)

中层属性是在底层特征基础上进一步组合、聚合或抽象得到的具有一定结构或局部语义的特征。它们比底层特征更接近人类可理解的概念,但尚未达到高层语义(如“猫”、“汽车”)的程度。

局部形状(如圆形、矩形轮廓)
材质(如“光滑”、“粗糙”、“金属感”)

3.高层概念

高层概念是从底层特征 → 中层属性 → 进一步抽象得到的语义丰富、结构化、任务导向的信息单元。

回答的是“这是什么?发生了什么?意味着什么?”这类问题。

例子:

物体类别:“猫”、“汽车”、“交通灯”

4.单选题1

在这里插入图片描述
答案:A

5.单选题2

在这里插入图片描述
答案:C

解释:

底层特征(如像素值、梯度)人类很难直接描述和理解。

中层属性如“轮廓”、“纹理”、“部件” → 人类可以用语言描述

高层概念如“汽车”、“高兴”、“下雨” → 直接可用自然语言表达

6.多选题

在这里插入图片描述
答案:AB

二、零样本学习的基本思想(Zero-Shot Learning, ZSL)

利用语义信息(如属性、词向量、文本描述等)建立已见类(seen classes)与未见类(unseen classes)之间的联系,从而将从已见类中学到的知识迁移到未见类上。

多选题:
在这里插入图片描述

答案:ABC

D错误:

这个说法虽然表面上合理(不同类确实提取不同特征),但它描述的是传统分类任务中特征提取的基本性质,而不是零样本学习的基石假设。

举个例子:

输入一张 斑马 的图片 → 提取出特征向量 z₁

输入一张 长颈鹿 的图片 → 提取出特征向量 z₂

z₁ ≠ z₂,即特征不同。

但这只是说明模型能区分已知类别。

而零样本学习的关键是:模型从未见过“斑马”这个类别的任何样本!

三、基于直接属性映射(Direct Attribute Prediction, DAP)的零样本分类

1.定义

首先,通过人工定义或学习类别的语义属性(如形状、颜色等),将类别映射到属性空间。

然后,模型学习从输入数据到属性向量的映射。

最后根据属性匹配来识别新类别。

2.例子:

假设我们要构建一个系统,能识别不同动物的照片。

但有个限制:训练时只见过“马”和“老虎”的图片,从未见过“斑马”的图片

然而,在测试时,我们希望系统也能正确识别“斑马”。

第一步:定义语义属性(人工标注)

在这里插入图片描述
然后,为每个类别(包括未见类)填写属性向量(1=是,0=否):

在这里插入图片描述
第二步:训练阶段(只用“马”和“老虎”的图像)

对每张训练图像(比如一张马的照片),我们知道它属于“马”,于是知道它的真实属性(如 A1=0, A2=1, …)。

我们为每个属性单独训练一个分类器:

分类器 f₁:输入图像 → 判断“是否有条纹”(A1)
分类器 f₂:输入图像 → 判断“是否是哺乳动物”(A2)

分类器 f₅:输入图像 → 判断“外形是否像马”(A5)
这些分类器可以是逻辑回归、SVM、神经网络等。

第三步:测试阶段(遇到一张“斑马”图片)

现在,系统收到一张从未见过的斑马照片。

预测属性:
用训练好的5个分类器分别预测:

f₁(斑马图) → 有条纹?→ 输出概率 0.95
f₂(斑马图) → 是哺乳动物?→ 0.99
f₃ → 四条腿?→ 0.98
f₄ → 非洲?→ 0.85
f₅ → 像马?→ 0.90

得到预测属性向量:

a = [0.95,0.99,0.98,0.85,0.90]

与已知类别属性比对:
计算

a 与每个候选类别(包括未见类“斑马”)的属性向量之间的相似度
(可用余弦相似度或负欧氏距离):

与“马” [0,1,1,0,1] 的距离较大(因为A1和A4不匹配)

与“老虎” [1,1,1,1,0] 的距离也较大(A5不匹配)

与“斑马” [1,1,1,1,1] 非常接近!

做出预测:
系统选择属性最匹配的类别 → “斑马”

这样实现了零样本分类!

3.题目练习

(1)多选题

在这里插入图片描述
答案:ABC

**A正确。**在DAP方法中,首先要从图像(或其他输入)中提取视觉特征。

**B正确。**这正是“直接属性映射”的核心。

模型学习的是:如何从视觉特征 → 预测每个语义属性(如“有条纹”、“是哺乳动物”等)。

即建立从特征到属性的映射关系(通过独立的分类器实现)。

C正确
要做零样本分类,必须知道未见类别的语义信息。

比如“斑马”对应的属性向量 [1,1,1,1,1] 就是它的属性描述。

测试时,系统会将预测出的属性与这些描述进行匹配。

因此,目标类的属性描述是必不可少的先验知识。

D错误

在DAP中,没有直接学习从特征到类别的映射。

它不直接建模“这个图像属于哪个类别”,而是:

先预测属性 → 再用属性比对类别。

所以它绕过了“特征→类别”的直接映射。

如果存在这种映射,就不是真正的“零样本”,因为需要训练时见过该类别。

(2)多选题

在这里插入图片描述
答案:ABCD

四、特征提取

1.定义

给定一张图片,如何提取区分其中目标类型的特征,即形成目标的表示。

2. 选择特征提取方式:深度卷积神经网络(CNN)

(2)多选题

在这里插入图片描述
答案:ABCD

解释:

A正确。
在CNN的第一层,卷积核常学习到类似Sobel、Prewitt的滤波器,用于检测边缘、线条、纹理等低级特征。

B正确。
这正是卷积操作的核心优势:共享权重 + 滑动窗口。

同一个卷积核在整个图像上滑动,因此无论该特征出现在哪个位置,都能被检测到。

C正确
池化的作用:
1)降低空间维度,减少计算量;

2)增强对小范围位移的鲁棒性(例如,一个特征稍微移动了一点,只要仍在池化窗口内,最大值仍能被保留);

3)提高了平移不变性;

4)同时保留主要信息,提升特征的抽象能力。

D正确。

标准CNN的卷积核是固定方向的,比如它学会检测“从左上到右下的斜边”,但如果物体旋转了(比如变成水平),它就无法识别。

CNN本身不具有旋转不变性(Rotation Invariance)。

3.特征-属性映射

是将原始数据中的“特征”与某种语义或结构上的“属性”建立对应关系。

多选题:

在这里插入图片描述
答案:ABCD


数据挖掘12》 是转载文章,点击查看原文


相关推荐


JConsole 中 GC 时间统计的含义
千百元2025/12/14

要理解 JConsole 中 GC 时间统计的含义,需结合 垃圾收集器类型​ 和 统计维度​ 拆解: 1. 关于 PS MarkSweep 上的 12.575 秒 (16 收集) PS MarkSweep:是 JVM 中用于清理 老年代(PS Old Gen)​ 的垃圾收集器(属于 Full GC 收集器,触发时会暂停所有应用线程,即 STW)。 16 收集:表示该收集器 总共执行了 16 次 Full GC。 12.575 秒:这 16 次 Full GC 的 总耗


程序员从大厂回重庆工作一年
uzong2025/12/6

从大厂裸辞回重庆工作,整整一年了。 时间快得让人心惊。停下回望,从裸辞、归乡、求职到适应,再到角色转换,种种心绪,感慨颇多。 一、离开时,那句话成了种子 最后一个工作日的下午,领导把我叫到楼道,做了一次临别交谈。 他有一句话,我至今记得清清楚楚:“以后出去,一定要想办法走向管理岗位,那是完全不同的竞争力。” 当时只是记下。一年后的今天,当我开始带领一个小团队时,这句话突然在心里发了芽。 它像一颗提前埋下的种子,在合适的时节悄然生长。 二、裸辞回渝:一场恰如其分的“任性” 回重庆是裸辞的。所有


Python微服务架构在分布式电商系统中的高性能设计与实战经验总结分享
2501_941810832025/11/28

在大型电商系统中,用户请求量巨大、数据访问密集、服务链路复杂,要求系统具备高响应速度、高并发吞吐能力与稳定扩展性。Python 凭借开发效率高、生态完善与易维护特性,越来越多被用于电商系统的接口层、交易逻辑层、库存管理、推荐系统以及风控服务。本文结合实战电商系统落地经验,分享 Python 在分布式微服务架构中的模块划分、性能调优、服务治理与高并发优化,为开发者提供可落地的架构经验参考。 一、Python 架构选型思路 在传统单体架构中,全站服务聚合在同一进程中,随着并发量增长,性能和可维


React 从入门到出门第一章 JSX 增强特性与函数组件入门
怕浪猫2026/1/1

今天咱们从 React 19 的基础语法入手,聊聊 JSX 增强特性和函数组件的核心用法。对于刚接触 React 19 的同学来说,这两块是搭建应用的基石——函数组件是 React 19 的核心载体,而 JSX 则让我们能以更直观的方式描述 UI 结构。 更重要的是,React 19 对 JSX 做了不少实用增强,比如支持多根节点默认不包裹、改进碎片语法等,这些特性能直接提升我们的开发效率。下面咱们结合具体案例,从“是什么→怎么用→为什么”三个维度,把这些知识点讲透~ 一、先搞懂核心概念:函数组


PHP 8.5 #[\NoDiscard] 揪出“忽略返回值“的 Bug
catchadmin2026/1/9

PHP 8.5 #[\NoDiscard] 揪出"忽略返回值"的 Bug 有些 bug 会导致异常、致命错误、监控面板一片红。 还有一类 bug 长这样:“一切都跑了,但什么都没发生”。方法调了,副作用也有了,但关键返回值(成功标志、错误列表、新的不可变实例)被扔掉了。粗看代码没毛病,测试没覆盖到边界情况也能过。bug 就这么混进生产环境。 PHP 一直允许这种风格的失误: doSomethingImportant(); // 返回了一个值……但没人用 PHP 8.5 新增了一种原生


Vercel React 最佳实践 中文版
ssshooter2026/1/17

React 最佳实践 版本 1.0.0 Vercel 工程团队 2026年1月 注意: 本文档主要供 Agent 和 LLM 在 Vercel 维护、生成或重构 React 及 Next.js 代码库时遵循。人类开发者也会发现其对于保持一致性和自动化优化非常有帮助。 摘要 这是一份针对 React 和 Next.js 应用程序的综合性能优化指南,专为 AI Agent 和 LLM 设计。包含 8 个类别的 40 多条规则,按影响力从关键(消除瀑布流、减少打包体积)到增量(高级模式)排序。每


墨梅博客 1.2.0 发布与 AI 开发实践 | 2026 年第 4 周草梅周报
草梅友仁2026/1/25

本文在 草梅友仁的博客 发布和更新,并在多个平台同步发布。如有更新,以博客上的版本为准。您也可以通过文末的 原文链接 查看最新版本。 前言 欢迎来到草梅周报!这是一个由草梅友仁基于 AI 整理的周报,旨在为您提供最新的博客更新、GitHub 动态、个人动态和其他周刊文章推荐等内容。 开源动态 本周依旧在开发 墨梅 (Momei) 中。 您可以前往 Demo 站试用:demo.momei.app/ 您可以通过邮箱 admin@example.com,密码momei123456登录演示用管理

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客