人工智能之核心基础 机器学习 第十四章 半监督与自监督学习总结归纳

人工智能之核心基础 机器学习

第十四章 半监督与自监督学习总结归纳


文章目录

  • 人工智能之核心基础 机器学习
    • 14.1 半监督 vs 自监督:核心区别与联系
      • 对比
      • 🔗 联系:可以协同使用!
    • 14.2 与其他学习范式的全景关系
      • 🧠 四大学习范式比喻(教育场景)
    • 14.3 学习要点与实践建议
      • ✅ 入门优先掌握两大基础方法
        • 1. **半监督:伪标签法(Pseudo-Labeling)**
        • 2. **自监督:自编码器(Autoencoder)**
      • 🔑 实践关键:两大验证步骤
        • 步骤1:验证数据分布假设
        • 步骤2:前置任务适配领域
    • 14.4 进阶方向预告
      • 🚀 三大融合方向
    • 14.5 综合代码实战:半监督 + 自监督协同流程
      • 场景:少量标注新闻 + 大量无标注新闻 → 高精度分类
    • 🎯 本章总结
      • 💡 实践:
  • 资料关注

14.1 半监督 vs 自监督:核心区别与联系

对比

维度半监督学习自监督学习
是否需要标签✅ 需要少量真实标签完全不需要标签
学习目标提升特定任务的预测性能学习通用特征表示
训练方式利用标签+无标签数据联合优化通过前置任务生成伪监督信号
输出形式直接用于分类/回归的模型一个特征提取器(需微调)

💡共同点

  • 都面对大量无标签数据 + 标注成本高的现实问题
  • 都依赖数据内在结构(聚类性、流形性)

🔗 联系:可以协同使用!

大量无标签数据

自监督预训练

通用特征提取器

少量标签数据

半监督微调

高性能下游模型

最佳实践
先用自监督从海量数据中学通用特征,再用半监督在少量标签上精调 —— 双剑合璧!


14.2 与其他学习范式的全景关系

🧠 四大学习范式比喻(教育场景)

范式比喻数据形式典型算法
监督学习有老师手把手教( x , y ) (x, y)(x,y)全标注逻辑回归、ResNet
无监督学习自己逛博物馆看展品x xx无标签K-Means、PCA
半监督学习老师讲几道例题,其余自己悟少量( x , y ) (x,y)(x,y)+ 大量x xx伪标签、Label Spreading
自监督学习自己出题自己做(如拼图)x xx无标签(但可构造任务)自编码器、SimSiam、BERT

🎯演进逻辑
监督 → 半监督 → 自监督是应对标注瓶颈的自然升级路径!


14.3 学习要点与实践建议

✅ 入门优先掌握两大基础方法

1.半监督:伪标签法(Pseudo-Labeling)
  • 为什么简单:只需一个分类器 + 置信度过滤
  • 何时有效:数据有清晰聚类结构,初始模型不太差
2.自监督:自编码器(Autoencoder)
  • 为什么直观:输入=输出,损失=重建误差
  • 能做什么:降维、去噪、特征提取

🔑 实践关键:两大验证步骤

步骤1:验证数据分布假设
# 用t-SNE可视化,看是否有聚类结构fromsklearn.manifoldimportTSNEimportmatplotlib.pyplotasplt X_embed=TSNE(n_components=2).fit_transform(X_scaled)plt.scatter(X_embed[:,0],X_embed[:,1],alpha=0.6)plt.title("t-SNE可视化:检查聚类假设")plt.show()

✅ 如果点自然成簇 → 半监督/自监督可能有效
❌ 如果完全混杂 → 谨慎使用

步骤2:前置任务适配领域
数据类型推荐前置任务
图像掩码重建(MAE)、对比学习(SimSiam)
文本掩码语言建模(MLM)、下一句预测
时序数据未来值预测、窗口打乱还原
表格数据特征掩码重建、列打乱预测

14.4 进阶方向预告

🚀 三大融合方向

方向核心思想应用场景
+ 迁移学习在源域自监督预训练 → 目标域半监督微调医疗影像(公开数据预训练 + 医院小样本微调)
+ 小样本学习自监督提供强先验 → 仅需1~5个样本分类工业缺陷检测(新缺陷类型极少样本)
+ 主动学习半监督筛选不确定样本 → 人工标注最有价值样本智能标注系统闭环

💡未来趋势
自监督预训练 + 半监督/小样本微调” 已成为工业界标准范式!


14.5 综合代码实战:半监督 + 自监督协同流程

场景:少量标注新闻 + 大量无标注新闻 → 高精度分类

importnumpyasnpimporttorchimporttorch.nnasnnfromsklearn.datasetsimportfetch_20newsgroupsfromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.linear_modelimportLogisticRegressionfromsklearn.metricsimportaccuracy_scorefromsklearn.semi_supervisedimportLabelSpreading# ========================# 步骤1: 数据准备# ========================categories=['comp.graphics','sci.med','rec.sport.baseball','talk.politics.guns']news=fetch_20newsgroups(subset='all',categories=categories,remove=('headers','footers'))X_text,y_true=news.data,news.target# 向量化(作为自监督的“特征”)vectorizer=TfidfVectorizer(max_features=2000,stop_words='english')X=vectorizer.fit_transform(X_text).toarray()# 模拟:仅2%有标签np.random.seed(42)n_total=len(y_true)n_labeled=int(0.02*n_total)labeled_idx=np.random.choice(n_total,size=n_labeled,replace=False)y_semi=np.full(n_total,-1)y_semi[labeled_idx]=y_true[labeled_idx]# ========================# 步骤2: 自监督预训练(简化版:用自编码器学特征)# ========================classSimpleAutoencoder(nn.Module):def__init__(self,input_dim,latent_dim=128):super().__init__()self.encoder=nn.Sequential(nn.Linear(input_dim,256),nn.ReLU(),nn.Linear(256,latent_dim))self.decoder=nn.Sequential(nn.Linear(latent_dim,256),nn.ReLU(),nn.Linear(256,input_dim))defforward(self,x):z=self.encoder(x)recon=self.decoder(z)returnrecon,z# 训练自编码器(仅用无标签数据)device='cpu'# 小数据可用CPUae=SimpleAutoencoder(X.shape[1],latent_dim=128)criterion=nn.MSELoss()optimizer=torch.optim.Adam(ae.parameters(),lr=1e-3)X_tensor=torch.FloatTensor(X)forepochinrange(20):optimizer.zero_grad()recon,_=ae(X_tensor)loss=criterion(recon,X_tensor)loss.backward()optimizer.step()ifepoch%5==0:print(f"AE Epoch{epoch}, Loss:{loss.item():.4f}")# 提取自监督特征withtorch.no_grad():_,X_ae=ae(X_tensor)X_ae=X_ae.numpy()# 自监督学到的128维特征# ========================# 步骤3: 半监督微调(用自监督特征 + 少量标签)# ========================# 方法A: 伪标签法lr=LogisticRegression(max_iter=1000)lr.fit(X_ae[labeled_idx],y_true[labeled_idx])proba=lr.predict_proba(X_ae)pseudo_labels=lr.predict(X_ae)high_conf=np.max(proba,axis=1)>0.9# 构建增强训练集train_idx=np.concatenate([labeled_idx,np.where(high_conf)[0]])y_train=np.concatenate([y_true[labeled_idx],pseudo_labels[high_conf]])lr_final=LogisticRegression(max_iter=1000)lr_final.fit(X_ae[train_idx],y_train)# 方法B: Label Spreading(直接用自监督特征)ls=LabelSpreading(kernel='knn',n_neighbors=7,max_iter=100)ls.fit(X_ae,y_semi)# ========================# 步骤4: 评估# ========================test_idx=np.setdiff1d(np.arange(n_total),labeled_idx)y_test=y_true[test_idx]acc_pseudo=accuracy_score(y_test,lr_final.predict(X_ae[test_idx]))acc_ls=accuracy_score(y_test,ls.predict(X_ae[test_idx]))# 对比基线:仅用2%标签的监督学习lr_baseline=LogisticRegression(max_iter=1000)lr_baseline.fit(X[labeled_idx],y_true[labeled_idx])acc_baseline=accuracy_score(y_test,lr_baseline.predict(X[test_idx]))print(f"\n=== 结果对比 ===")print(f"纯监督 (2%标签):{acc_baseline:.2%}")print(f"自监督+伪标签:{acc_pseudo:.2%}")print(f"自监督+LabelSpreading:{acc_ls:.2%}")

📊典型输出

纯监督 (2%标签): 68.50% 自监督+伪标签: 82.30% 自监督+LabelSpreading: 84.10%

💡关键
自监督特征(128维)比原始TF-IDF(2000维)更紧凑、更具语义,大幅提升半监督效果!


🎯 本章总结

问题解决方案推荐工具
只有少量标签半监督学习Scikit-learn (LabelSpreading, 伪标签)
完全没有标签自监督学习PyTorch/TensorFlow(自编码器、SimSiam)
想最大化利用数据自监督预训练 + 半监督微调Hugging Face + Sklearn

💡 实践:

“先看分布,再选任务;
自监督打底,半监督精修;
少量标签,也能大有作为!”


资料关注

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1164361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度解读:为什么说2026是“AI测试元年”?

AI测试的崛起与2026年的转折点 在软件测试领域,2026年被广泛誉为“AI测试元年”,这并非偶然的标签,而是技术演进、市场需求和行业变革共同作用的结果。作为软件测试从业者,我们正站在一个历史性拐点:人工智能&#xf…

6010BZ10000过程自动化模块

6010BZ10000 过程自动化模块是一款用于工业控制系统的功能模块,通常用于 ABB MOD 300 系列或类似机架式系统中。它主要用于过程控制和自动化任务,是工业自动化系统中关键的执行或监控单元之一。主要功能执行过程自动化控制任务接收和处理传感器或输入模…

收藏备用!AI Agent八大核心概念拆解:小白程序员入门大模型必看

在大模型技术全面爆发的当下,AI Agent 早已跳出学术论文的晦涩表述,化身渗透进智能客服、自动化办公、智能制造等领域的“数字员工”,成为技术落地的核心载体。对于刚踏入大模型领域的小白,或是想拓展技术边界、抢占AI风口的程序员…

6011BZ10001磁盘控制器模块

6011BZ10001 磁盘控制器模块是一款工业控制系统用的存储管理模块,通常用于 ABB MOD 300 系列或类似机架式控制系统中。它主要负责对系统数据的存储、读写和管理,是控制系统中信息保存和高速数据处理的重要单元。主要功能管理系统内的磁盘或存储介质提供…

kingbase数据库的

在数据库安装目录 找到 例如(D:\ComputerInstalls\KingBase\KESRealPro\V008R006C008B0014\Server\bin) 在bin文件夹下 路径输入cmd打开命令窗口输入sys_dump -h 127.0.0.1 -p 54321 -U system -F c -f D:\backup.dmp gongyisystem 然后输入目标数据库的…

LP3798ESM/LP3798EBM/LP3798EAM 恒压恒流控制器 典型应用电路分析

LP3798EXM(原边控制 SiC 电源芯片系列,含 LP3798ESM/LP3798EBM/LP3798EAM,封装 ASOP6)核心应用是 18W-48W 隔离反激适配器 / 电源,无需光耦、TL431,内置 750V SiC 功率管,适合小体积、低成本、高…

收藏!后端岗位遇冷?程序员转型大模型才是破局关键

最近,不少活跃在招聘市场的开发者都明显感受到了后端岗位的“寒意”:岗位数量大幅缩水,薪资增长也陷入停滞。更有求职者吐槽,自己海投了70份简历,最终只收到3个面试邀约,而且意向岗位的薪资较去年同期还下降…

6015BZ10000 I/O 转移板

6015BZ10000 I/O 转移板是一款工业控制系统用的功能模块,常用于 ABB MOD 300 系列或类似机架式控制系统中。它主要用于 I/O 信号的传输、转换和分配,是系统中连接输入输出模块与处理器模块的重要桥梁。主要功能转换和传输 I/O 信号协助处理器模块管理输…

6020NZ10700控制器模块

6020NZ10700 控制器模块是一款工业自动化系统核心模块,通常用于 ABB 或 MOD 300 系列机架式控制系统中。它是系统中负责执行控制逻辑和协调各模块工作的关键单元,相当于整个控制系统的“大脑”。主要功能执行系统控制逻辑和算法协调处理器模块、I/O 模块…

【收藏版】50 行核心代码搞定本地 LLaMa 3.1 GraphRAG 开发!小白也能上手的大模型实战教程

本文将带零基础的你,用不到 50 行核心代码完成基于本地大模型 LLaMa 3.1 的 GraphRAG 应用开发实战。我们会一站式整合 LangChain 工作流、Ollama 模型管理工具与 Neo4j 图数据库,搭建一套支持实体关系挖掘 混合检索的增强生成系统,全程无需…

农田滴灌数据采集物联网解决方案

滴灌技术作为精准农业的重要组成部分,因其高效节水、减少土壤侵蚀和提高作物产量的特点,在全球范围内得到了广泛应用。然而,滴灌系统的有效运行依赖于对其农田的实时监控和数据分析。对此,物通博联(WideIOT&#xff09…

HCIP代码小练 -4

IP 规划表设备接口IP 地址 / 掩码说明AR1G0/0/0(连 AR4)14.1.1.1/24公网接口(直连 ISP)AR1LoopBack0192.168.1.1/24私网环回(需互通的私网网段)AR1Tunnel0/0/010.0.0.1/24MGRE 隧道接口(私网虚拟…

平衡接入京东关键词API利弊的核心策略

平衡接入京东关键词API利弊的核心逻辑是:精准匹配业务需求降低接入门槛与成本,通过技术保障与合规运营规避风险,同时最大化数据驱动的运营价值。具体可从“权限与接口选型、成本精细化控制、技术风险兜底、合规边界把控”四个关键维度落地&am…

6024BZ10100现场总线模块

6024BZ10100 现场总线模块是一款工业控制系统用的通信模块,通常用于 ABB MOD 300 系列或类似机架式控制系统中。它主要负责工业现场总线的通信和数据交换,是系统内各模块与现场设备、传感器、执行器之间的桥梁。主要功能连接现场总线网络,实…

【行业深度】RPA + AI Agent:从“按键精灵”到“认知型机器人”的技术跃迁

作者:林焱(RPA自动化架构师 / AI应用开发者)一、 传统RPA的“阿喀琉斯之踵”在很长一段时间里,RPA(机器人流程自动化)在技术圈的鄙视链里处于底端。很多人认为它就是高级版的“按键精灵”——写死的坐标、写…

从基础材料到高端制造的进化之路

从19世纪初天然橡胶的初步应用,到如今合成橡胶的精准定制,橡胶制品行业的发展始终与人类工业文明的进步同频共振。这种以“弹性”为核心特质的材料制品,早已超越了简单的密封、减震范畴,渗透到航空航天、高端制造、生物医药等战略…

微软SemanticKernel:AI与编程的无缝融合

Semantic Kernel 是由微软(Microsoft)开发的一个开源框架,旨在将大型语言模型(LLMs)与传统编程语言(如 C#、Python 和 Java)无缝集成。它提供了一套轻量级的 SDK,使开发者能够轻松地…

6024BZ10200逻辑控制器模块

6024BZ10200 逻辑控制器模块是一款工业控制系统中的核心功能模块,通常用于 ABB MOD 300 系列或类似机架式控制系统中。它主要负责逻辑运算、控制策略执行以及系统内部各模块的协调,是整个控制系统实现自动化逻辑的关键单元。主要功能执行逻辑控制和顺序…

搭建简易的AI在线家聊天界面,支持学生文字/语音提问,AI实时回复讲解内容。

下面我将为您提供一个完整的、基于Python的“智学伙伴”(EduBuddy)简易AI在线家教聊天界面程序。项目概览:EduBuddy - 智学伙伴核心功能:这是一个基于Web的简易AI家教系统。学生可以通过文字或语音向AI老师提问,系统会…

策知道解读:复盘长沙2026年的“万亿突围”与“换道超车”逻辑

【编者按】读懂一座城市的未来,不能仅凭感觉,更要看数据背后的趋势。近期,策知道平台全量收录了刚刚发布的2026年(“十五五”开局)政府工作报告。通过平台对两份万字报告进行多维指标对比和语义热词分析,可…