【AI 学习日报】监督学习 核心知识点详解 - 2026-03-20
阮平 发布于 阅读:21 核心理论-机器学习+深度学习
📚 【AI 学习日报】
主题:监督学习 | 分类:核心理论 - 机器学习+深度学习
📅 2026年03月20日
🎯 今日学习目标
今天我们将深入学习 监督学习 相关的核心知识。
📖 核心内容详解
监督学习(Supervised Learning)是机器学习中最常见的学习方式之一。监督学习通过对已有标记数据进行学习,训练模型能够从未标记数据中进行预测和分类。在监督学习中,每个样本都有标签(标记),模型可以利用这些标签来学习分类模型。
例如,一个模型需要识别手写数字,监督学习算法可以使用大量已经被标记好的手写数字图像作为训练集,每个图像都有一个标记,指明它是哪个数字。然后,该算法会自动从训练集中学习到数字之间的差异,使得在未知图像上也能够准确地识别数字。
强化学习(Reinforcement Learning)是一种机器学习技术,用于培养智能体(Agent)通过与环境的交互来学习最佳决策策略。强化学习的目标是使智能体获得最大的累积奖励,从而学会在特定环境下做出最佳决策。
监督学习、无监督学习、半监督学习和强化学习是机器学习中常见的学习方式。监督学习是利用标记数据进行训练,可以用于分类、回归等任务。无监督学习则是利用未标记数据进行训练,可以用于聚类、异常检测等任务。半监督学习则是介于监督学习和无监督学习之间的一种学习方式,利用一小部分已标记数据和大量未标记数据进行训练。强化学习则是利用智能体与环境的交互进行学习,可以用于处理与环境交互的问题。
相关文章ML之SL:监督学习(Supervised Learning)的简介、应用、经典案例之详细攻略ML之UL:无监督学习Unsupervised Learning的概念、应用、经典案例之详细攻略ML之SSL:Semi-Supervised Learning半监督学习的简介、应用、经典案例之详细攻略
监督学习,是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。 监督学习是从标记的训练数据来推断一个功能的机器学习任务。训练数据包括一套训练示例。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成。监督学习算法是分析该训练数据,并产生一个推断的功能,其可以用于映射出新的实例。一个最佳的方案将允许该算法来正确地决定那些看不见的实例的类标签。这就要求学习算法是在一种“合理”的方式从一种从训练数据到看不见的情况下形成。
监督学习中的数据集是有标签的,就是说对于给出的样本我们是知道答案的。如果机器学习的目标是通过建模样本的特征x和标签y之间的关系:f (x,θ)或p(y|x, θ),并且训练集中每个样本都有标签,那么这类机器学习称为监督学习。
根据标签类型的不同,又可以将其分为分类问题和回归问题两类。前者是预测某一样东西所属的类别(离散的),比如给定一个人的身高、年龄、体重等信息,然后判断性别、是否健康等;后者则是预测某一样本所对应的实数输出(连续的),比如预测某一地区人的平均身高。我们大部分学到的模型都是属于监督学习,包括线性分类器、支持向量机等。
常见的监督学习算法有:k-近邻算法(k-Nearest Neighbors,kNN)、决策树(Decision Trees)、朴素贝叶斯(Naive Bayesian)等。
可以看到,图2-7(a)中,红色三角形数据和蓝色圆点数据为标注数据;图2-7(b)中,绿色的小圆点为非标注数据。图2-7(c)显示监督学习将有标签的数据进行分类;而半监督学习如图2-7(d)中部分是有标签的,部分是没有标签的,一般而言,半监督学习侧重于在有监督的分类算法中加入无标记样本来实现半监督分类。
通俗易懂讲AI--半监督学习AI爱好者Sherry17 赞同2 评论35 收藏 var _______ssr_track_zm_page_view = 'https%3A//sugar.zhihu.com/ad-track/dream%3Fat%3Dpage_view%26brd%3D%26chl%3D%26cid%3D%26ct%3D2%26ctid%3D%26md%3D%26os%3D4%26pi%3D%26si%3D%26tk%3D%26cot%3D%26clid%3D9fbbb89e-c27f-49c7-9e57-2e14c2bbdb71'; var _______ssr_lt_zm_page_view = 'undefined'; true && fetch(unescape(_______ssr_track_zm_page_view), { method: 'GET', mode: 'cors', headers: {'x-zm-96': '99f943e93d72d0f4f406882376802e2c', 'x-zm-93': 'custom'}}) false && fetch(unescape(_______ssr_lt_zm_page_view), { method: 'GET', mode: 'cors', headers: {'x-zm-96': '', 'x-zm-93': 'custom'}}) 1、什么是半监督学习?定义
● 我们在丰收季节来到瓜田,满地都是西瓜,一共100个瓜,瓜农抱来4个瓜说这都是好瓜,然后再指着地里的6个瓜说这些还不好,还需再生长若干天。基于这些信息,我们能否构建一个模型,用于判别地里的哪些瓜是已该采摘的好瓜?
自学习(Self-training)是一种简单而常用的半监督学习方法。它首先使用"有标记样本"训练一个分类器,然后将该分类器应用于"无标记样本",并将得到的置信度较高的样本添加为"有标记样本",然后重新训练分类器。
协同训练(Co-training)是一种基于多视角学习的半监督学习方法。它使用多个独立的分类器,每个分类器使用不同的特征子集进行训练。然后,每个分类器将对"无标记样本"进行预测,并将预测结果作为"有标记样本"添加到对方的训练集中,然后重新训练分类器。
分歧校正(Divergence-based correction)是一种基于数据分布的半监督学习方法。它使用"有标记样本"和"无标记样本"的分布差异来提供进行训练,以引导机器更好地利用"无标记样本"。常见的方法包括自编码器、生成对抗网络(GAN)、伪标签等。
📝 今日实践任务
任务要求:
- 理解概念:仔细阅读上述内容,理解 监督学习 的核心原理
- 动手实践:运行上面的代码示例,理解每一行的作用
- 拓展练习:修改代码参数,观察输出结果的变化
- 总结笔记:记录关键知识点和自己的理解
📝 代码实践
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import numpy as np
# 生成示例数据
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 训练模型
model = LinearRegression()
model.fit(X_train, y_train)
# 预测和评估
y_pred = model.predict(X_test)
print(f"系数:{model.coef_[0][0]:.2f}")
print(f"截距:{model.intercept_[0]:.2f}")
print(f"R² 分数:{model.score(X_test, y_test):.2f}")
💡 练习提示:运行上述代码,尝试修改参数观察结果变化,理解每一行的作用。
💡 提示:
建议投入 1-2 小时完成今天的学习。理解概念后一定要动手实践!