转载:小红书 AI产品赵哥
前言 🔖
在前几期,我们聊了 RNN 的记忆能力、GAN 的创造能力。但今天,我们要返璞归真,回到一切的起点,聊一聊那个既基础、又核心、也非常强大的机器学习范式 ——监督学习(Supervised Learning)。
你可能对这个词感到陌生,但它的学生们早已遍布你生活的每个角落:
- 你手机的人脸解锁,能在一瞬间认出你的脸,拒绝别人的脸。
- 你邮箱里的垃圾邮件过滤器,能精准地将烦人的广告和诈骗邮件丢进垃圾箱。
- 购物 App 为你生成的猜你喜欢,总能神奇地给出你正想买的东西。
- 天气预报 App 告诉你明天的气温和下雨概率。
对于有基础的同学,能不能快速的说出上面的案例是哪些算法在做支撑?其他同学继续往下看
所有这些我们习以为常的智能应用,其背后最核心的老师,就是监督学习。可以说,当今 90% 以上成功落地的人工智能应用,都建立在监督学习的基础之上。
那么,什么是监督学习?为什么它叫监督?
想象一下,如果没有监督,AI 会是什么样?它就像一个刚出生的婴儿,被扔进一个满是猫、狗、桌子、椅子的房间,没有人告诉它哪个是哪个。它可能会发现猫和狗都毛茸茸的,桌子和椅子都有四条腿,但它永远无法准确地叫出它们的名字。
而监督学习,就是为这个迷茫的 AI 宝宝,请来了一位手把手教学的贴身家教。
这篇笔记,咱们一起来了解一下:
- 监督学习的核心 ——”标签” 到底是什么?
- 它的两大支柱 ——”分类” 与 “回归”,究竟有什么区别?
- AI 的学习全过程揭秘:从 “看卡片” 到 “参加考试” 的五大步骤。
- 为什么 AI 也会 “死记硬背”(过拟合)和 “学不明白”(欠拟合)?
- 在机器学习的大家族里,监督学习和它的兄弟们(无监督学习、强化学习)有什么不同?
好了,同学们,咱们要发车了,你们准备好了吗?
一、监督学习 —— 婴儿学看图识字卡 🔖
要理解监督学习,我们只需要想象一个最经典的教育场景:一位耐心的父母,正在教一个婴儿看图识字卡。
- 婴儿:这就是我们想要训练的机器学习模型。它一开始什么都不知道,大脑一片空白。
- 父母:这就是我们AI 工程师或数据科学家。我们的角色就是老师。
- 一叠图文并茂的卡片:这就是监督学习的关键所在 ——带有标签的训练数据(Labeled Training Data)。
每一张卡片都有两部分:
- 正面:问题 -> 这是特征 (Feature)
- 比如,卡片正面是一张可爱的猫咪图片。
- 背面:标准答案 -> 这是标签(Label)。
- 卡片背面清清楚楚地写着猫这个字。
现在,教学过程(训练过程)开始了:
- 父母拿出第一张卡片,把印有猫咪图片的一面展示给婴儿。
- 婴儿看着图片,可能咿咿呀呀地猜了一个:”狗?”
- 父母笑着摇摇头,把卡片翻过来,指着背面的猫字,清晰地告诉他:”宝宝,看,这个是猫。”
- 父母又拿出第二张卡片,正面是一只小狗。
- 婴儿可能又猜错了。父母再次翻开卡片,告诉他标准答案是 “狗”。
这个过程会重复成千上万次,覆盖各种各样的猫和狗的图片。慢慢地,婴儿的大脑(模型)内部开始发生奇妙的变化。他开始自己总结规律:
- 哦,原来耳朵尖尖、胡须长长、眼睛像杏仁的,通常是 “猫”。
- 而耳朵耷拉下来、喜欢伸舌头、鼻子湿漉漉的,往往是 “狗”。
监督学习的核心,就是这样一种“有问有答、有教有学”的学习模式。监督二字,就体现在那个明确的标准答案(标签)上。模型每一次的猜测,都会被拿来和标准答案对比,从而得到反馈,知道自己错在哪里,以及应该如何修正。
二、监督学习的两大支柱:分类与回归 🔖
这位家教主要教两门主课,对应着监督学习的两个核心任务:分类(Classification) 和回归(Regression)。它们解决的问题类型截然不同。
🔹1. 主课一:分类(Classification)—— 这是什么?
- 目标:预测一个东西属于哪个预先定义好的类别。
- 答案的特点:离散的、有限的类别值。比如 “是 / 否”、”猫 / 狗 / 鸟”、”A/B/C/D”。
- 卡片比喻:父母教婴儿识别物体。卡片背面的答案是物体的名字。
- 这张图片是猫还是狗?(二元分类 Binary Classification)
- 这封邮件是垃圾邮件还是正常邮件?
- 这个肿瘤是良性还是恶性?
- 这张图片是猫、狗,还是鸟?(多元分类 Multi-class Classification)
- 这篇新闻属于体育、娱乐,还是科技板块?
- 这张手写数字是 0, 1, 2, …, 9 中的哪一个?
- 这张图片里既有猫,又有狗,还有树?(多标签分类 Multi-label Classification)
- 这种更复杂一点,意味着一个样本可以同时拥有多个标签。
分类任务,就像在做选择题。 AI 需要从几个固定的选项中,选出最正确的一个或多个。
🔹2. 主课二:回归(Regression)—— 有多少?
- 目标:预测一个连续的数值。
- 答案的特点:一个连续的、可以无限细分的数字。比如价格、温度、长度。
- 卡片比喻:父母教婴儿估算事物的数值。
- 卡片正面是一张房子的照片(包含了面积、地段、卧室数量等信息)。
- 卡片背面写的不是名字,而是一个具体的数字:¥3,520,000。
- 父母问:宝宝,猜猜这栋房子值多少钱?
- 婴儿猜:¥3,000,000。
- 父母告诉他:很接近了,但标准答案是 ¥3,520,000,你猜低了。
回归任务,就像在做填空题。 AI 需要预测出一个具体的数值,而这个数值可以在一个范围内连续变化。
核心区别小结:
分类:预测类别,答案是定性的。
回归:预测数值,答案是定量的。
搞清楚这个区别,你就已经掌握了监督学习的一半了。
三、深入理解 ——AI 宝宝的学习全过程揭秘 🔖
我们已经知道了监督学习的教什么,现在我们来深入探索怎么教。一个完整的监督学习流程,可以分解为清晰的五个步骤。
🔹 步骤一:准备教材 —— 收集和标注数据
这是整个项目中最耗时、也最关键的一步。没有好的教材,再聪明的宝宝也学不好。
- 收集数据:比如,为了教 AI 识别猫和狗,我们需要收集成千上万张猫和狗的图片。
- 数据清洗:去除模糊的、无关的、重复的图片。
- 标注数据:这是监督学习中很重要的一步。我们需要雇佣标注员(就像父母准备卡片一样),为每一张图片打上正确的标签。这张是猫,那张是狗。这个过程通常是劳动密集型的,成本高昂。
- 划分数据集:我们不能把所有的卡片都用来教学。我们需要把它们分成三份:
- 训练集:占绝大部分(约 70-80%)。这是给宝宝上课用的核心教材。
- 验证集:占一小部分(约 10-15%)。这是用来进行随堂测验的。在学习过程中,父母会时不时拿几张验证集的卡片考考宝宝,看看他最近学得怎么样,以便调整教学策略(调整模型的超参数)。
- 测试集:占最后一部分(约 10-15%)。这是期末大考用的,绝对保密,在整个学习过程中宝宝一次都不能看。只有当父母认为宝宝已经毕业时,才会拿出这套全新的考卷来最终评判他的学习成果。
🔹 步骤二:选择模型 —— 选定宝宝的大脑结构
世界上有不同类型的学习者,AI 模型也是如此。我们需要根据任务的复杂性,为宝宝选择一个合适的大脑结构。
- 简单的线性模型:如线性回归(Linear Regression)、逻辑回归(Logistic Regression)。适合处理相对简单的、线性关系明显的问题。就像一个只会画直线的宝宝。
- 更复杂的传统模型:如支持向量机(SVM)、决策树(Decision Tree)、随机森林(Random Forest)。它们能处理更复杂的关系,就像学会了画曲线和各种图形的宝宝。
- 强大的深度学习模型:如神经网络(Neural Networks),特别是深度神经网络(DNN)。这是目前最强大的大脑,拥有亿万个神经元,能够学习极其复杂的、非线性的模式。适合处理图像、语音、自然语言等复杂任务。
🔹 步骤三:定义规则 —— 设定损失函数
有了模型,我们还需要一个评判标准,来衡量宝宝的回答和标准答案之间的差距。这个标准,就是损失函数(Loss Function),也叫成本函数(Cost Function)。
- 回归任务的损失函数:
- 比喻:宝宝猜房价是 300 万,标准答案是 350 万。差距是 50 万。
- 常用函数:均方误差(Mean Squared Error, MSE)。它计算的是所有样本的(预测值 – 真实值)的平方的平均值。差距越大,损失就越大。
- 分类任务的损失函数:
- 比喻:宝宝指着猫的图片说是狗。错了就是错了,但错得有多离谱呢?如果模型以 99% 的信心认为是狗,那比以 51% 的信心认为是狗,错得更坚定,损失也应该更大。
- 常用函数:交叉熵损失(Cross-Entropy Loss)。它能很好地衡量预测的概率分布与真实的标签分布之间的距离。
损失函数就像一个惩罚机制。宝宝答错得越离谱,感受到的痛苦(损失值)就越大。
🔹 步骤四:开始学习 —— 优化与迭代
这是最核心的学习循环。宝宝的目标是:通过不断调整自己的大脑结构(模型参数),来让总的痛苦值(总损失)变得最小。
这个过程,我们称之为优化(Optimization)。最常用的优化算法叫做梯度下降(Gradient Descent)。
- 打个比方,我是这样理解梯度下降的:
- 想象宝宝被蒙上眼睛,站在一座连绵起伏的大山(损失函数的曲面)上。他的任务是尽快走到山谷的最低点(损失最小的地方)。
- 他不知道最低点在哪,但他可以伸出脚,感受一下当前位置哪个方向是下坡最陡的。这个最陡峭的下坡方向,就是梯度(Gradient)的负方向。
- 于是,他朝着这个方向迈出一步(更新一次模型参数)。
- 到达新位置后,他再次感受哪个方向下坡最陡,再迈出一步。
- ……
- 如此循环往复,一步一步地,他最终会走到一个山谷的底部。
这个“看卡片 → 猜测 → 对比答案 → 计算损失 → 沿梯度方向调整大脑”的循环,会进行成千上万次。每一次循环,模型都会变得比上一次更聪明一点。
🔹 步骤五:评估与应用 —— 参加考试和走向社会
当模型在训练集和验证集上都表现得很好时,就意味着宝宝的课程结束了,可以准备毕业大考了。
- 评估(Evaluation):我们拿出从未见过的测试集来考验模型。模型在测试集上的表现(如准确率、精确率、召回率等),才代表了它真正的、泛化的能力。这就像用高考成绩来评判一个学生,而不是平时的模拟考。
- 应用(Deployment):一旦模型通过了测试,证明它是个合格的毕业生,我们就可以把它部署到实际应用中,去解决真实世界的问题了。比如,把它集成到手机 App 里,让它开始为人脸解锁、过滤垃圾邮件。
四、监督学习的阿喀琉斯之踵 —— 两大学习障碍 🔖
即便是最主流的学习方法,也免不了会遇到问题。监督学习中的宝宝,最容易患上两种学习障碍:过拟合(Overfitting) 和欠拟合(Underfitting)。
🔹 1. 过拟合(Overfitting)—— 死记硬背的书呆子
- 现象:宝宝在随堂测验(验证集)中表现完美,甚至能达到 100 分,但在期末大考(测试集)中却一塌糊涂。
- 比喻:这位宝宝没有学会真正的知识,而是把训练用的那几百张卡片死记硬背下来了。
- 他记住了卡片 A 上左上角有黑点的那只黄猫是猫。
- 当期末考试出现一张全新的、但也是黄色的猫时,因为没有那个熟悉的黑点,他反而不认识了。
- 原因:
- 模型太复杂:给了宝宝一个过于强大的大脑(比如层数太多的神经网络),他有足够的能力去记忆每一个微小的、无关紧要的细节(噪声)。
- 数据量太少:教材太薄,宝宝只能通过死记硬背来应付。
- 解决方法:
- 增加数据量:最有效的方法。给宝宝更多、更多样化的卡片。
- 使用更简单的模型:杀鸡焉用牛刀。
- 正则化(Regularization):在损失函数里增加一个惩罚项,惩罚过于复杂的模型。就像告诉宝宝:你可以学得很好,但别让你的大脑变得太复杂,否则要扣分。
- Dropout:在训练神经网络时,随机失活一部分神经元。就像上课随机让一些学生打瞌睡,强迫其他学生更努力地学习,避免团队中有人滥竽充数或记忆力过好。
🔹 2. 欠拟合(Underfitting)—— 压根没学会的学渣
- 现象:宝宝不仅在期末大考中表现差,连随堂测验都考不及格。
- 比喻:教材明明是猫和狗,但宝宝连卡片上的猫和狗都分不清。他可能只是简单地认为黄色的都是猫,这个规律太简单了,无法描述复杂的世界。
- 原因:
- 模型太简单:给了宝宝一个过于简单的大脑(比如线性模型),它根本没有足够的能力去学习数据中复杂的模式。
- 解决方法:
- 使用更复杂的模型:换个更聪明的大脑。
- 增加特征:也许卡片上的信息太少了,我们可以增加更多有用的信息,比如猫和狗的叫声。
一个好的模型,是在过拟合和欠拟合之间,找到一个完美的平衡点。
五、监督学习的家族 —— 与另两位兄弟的区别 🔖
在机器学习的大家族里,监督学习是大哥。他还有两个性格迥异的弟弟:无监督学习(Unsupervised Learning) 和强化学习(Reinforcement Learning)。
🔹 1. 无监督学习 —— 自由探索的探索家
- 比喻:父母把一大堆没有标签的卡片(只有图片)扔给宝宝,然后就走开了。宝宝只能靠自己去观察、去发现。
- 核心特点:没有标签,没有标准答案。
- 学习方式:模型自己去发现数据中的结构和模式。
- 典型任务:
- 聚类(Clustering):宝宝可能会发现,有些卡片上的动物毛茸茸、耳朵尖,就把它们归为一类;另一些喜欢伸舌头,就归为另一类。他不知道这两类叫 “猫” 和 “狗”,但他知道它们是不同的群体。
- 降维(Dimensionality Reduction):从复杂的信息中提取出最重要的核心特征。
🔹 2. 强化学习 —— 在试错中成长的冒险家
- 比喻:父母不给宝宝卡片,而是把他直接放进一个真实的房间里。房间里有玩具,也有危险的热水壶。
- 核心特点:没有标签,但有奖励和惩罚(Reward & Punishment)。
- 学习方式:模型(智能体 Agent)通过与环境(Environment)的互动来学习。
- 宝宝做出一个动作(Action),比如伸手去摸玩具。
- 环境会给他一个奖励(Reward),比如玩具很好玩,宝宝很开心。
- 宝宝再做出一个动作,比如伸手去摸热水壶。
- 环境给他一个惩罚(Punishment),比如手被烫痛了。
- 目标:通过不断的试错(Trial and Error),学会一套策略(Policy),以最大化自己能获得的长期总奖励。
- 典型应用:训练 AlphaGo 下围棋、训练机器人走路、游戏 AI。
🔹 3.三者关系小结:
- 监督学习:有明确的老师和答案,学习效率最高,应用最广。
- 无监督学习:只有数据,没有答案,靠自己悟,用于发现数据的内在模式。
- 强化学习:没有答案,但有奖惩,通过与环境互动试错来学习最优策略。
六、总结一下吧,今天我们吃透了什么?🔖
今天,咱们把 AI 最基础的知识 —— 监督学习 —— 过了一遍,简单总结一下:
- 核心思想:像教婴儿看带标签的图文卡片一样,让模型从 “问题 + 标准答案” 的数据中学习。灵魂在于标签。
- 两大支柱:
- 分类(Classification):预测类别(做选择题),如 ” 是猫还是狗?”。
- 回归(Regression):预测数值(做填空题),如 “房价是多少?”。
- 学习五步法:
- a. 准备教材:收集和标注数据,并划分为训练集、验证集、测试集。
- b. 选择模型:为任务选择一个合适的大脑。
- c. 定义规则:设立损失函数作为惩罚标准。
- d. 开始学习:通过梯度下降等优化算法,让模型在痛苦(损失)中不断调整自己,以求损失最小。
- e. 评估应用:用测试集进行期末大考,合格后部署上线。
- 两大障碍:
- 过拟合:死记硬背,泛化能力差。
- 欠拟合:过于简单,没学到规律。
- 家族地位:是机器学习三大家族(监督、无监督、强化)中的老大哥,技术最成熟,应用最广泛。