news 2026/4/11 16:37:55

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
人工智能之核心基础 机器学习 第十四章 半监督与自监督学习总结归纳

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

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


文章目录

  • 人工智能之核心基础 机器学习
    • 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》

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 14:46:51

6020NZ10700控制器模块

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

作者头像 李华
网站建设 2026/4/7 11:55:14

加速“场景深耕”|移动云引领云电脑步入新增长周期

在数字化浪潮与AI技术加速普及的双重驱动下,用户对终端设备的需求已从单一硬件性能,向算力支撑、AI应用、数据安全等多元化升级,PC市场也因此迈入结构性变革的关键阶段。据IDC预测,2026年中国PC市场需求旺盛,其中以云电…

作者头像 李华
网站建设 2026/4/7 14:46:01

视频融合平台EasyCVR的核心技术原理与应用实践解析

在万物互联的智能化时代,视频数据已成为城市管理、企业运营和安全生产的核心要素。然而,面对海量、异构、分散的视频资源,如何实现统一管理、智能分析与高效应用,是各行各业面临的共同挑战。正是在这样的背景下,EasyCV…

作者头像 李华
网站建设 2026/4/11 0:23:43

海拔 2000 米的秘境:红池坝,把四季酿成画卷

在重庆巫溪县西北部,大巴山脉的腹地,海拔1800米至2630米之间,铺展着一片广袤而神奇的高山台地——红池坝国家森林公园。这里是中国南方已探明面积最大的高山草场之一,以其辽阔的林海草甸、全球罕见的“云中花海”以及独特的“夏冰…

作者头像 李华
网站建设 2026/4/10 13:37:13

‌硬核预警‌:用大模型重构自动化测试框架

测试范式变革的前夜 当前自动化测试框架面临脚本维护成本飙升、用例脆弱性加剧、复杂场景覆盖不足三大痛点。大模型通过语义理解、动态推理与生成能力,正在重构测试框架的底层逻辑。本文将从架构设计、实施路径、场景验证三个维度,揭示LLM如何重塑测试自…

作者头像 李华