想象你是一家大饭店的老板,每天迎来送往各种客人。后厨有几位能力各异的“AI 大厨”,每位大厨擅长处理不同类型的活儿:有的负责给新菜品归类命名,有的负责估算一份菜的热量数值,有的负责搞清楚哪些客人口味相似,有的负责从一堆杂乱食材中提炼关键风味,还有一位大厨最特别——他会根据客人的反馈不断调整做菜手法,越做越好。作为一个老板,你得知道什么时候该叫哪位大厨出手。这就是机器学习任务分类的本质:面对不同的问题,选用不同的解题思路。本文用大白话带你建立一张完整的“任务分类地图”,让你在 AI 这条路上不迷路。

岗位关联

对 AI 从业者而言,任务分类是选型的第一步。拿到一个问题,先判断它是分类、回归、聚类还是强化学习,决定了你用哪套算法、哪个评估指标,甚至是否值得用深度学习。

目录
  1. 可视化演示
  2. 任务分类总览
  3. 分类任务详解
  4. 回归任务详解
  5. 聚类任务详解
  6. 降维任务详解
  7. 强化学习详解
  8. 选型决策指南
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

ML任务分类地图 监督:分类+回归(有标签) 无监督:聚类+降维 半监督:少量标签+大量无标签 强化:序贯决策 选择依据:标签+目标类型+决策模式

任务分类总览

大饭店的后厨里,五位 AI 大厨各有一块招牌菜板。不过在分配活儿之前,老板得先想清楚一件事:今天的客人到底需要什么?是想让我把新菜归类到“川菜”“粤菜”的类别里,还是想让我估算这道菜有多少卡路里,或者说想让我看看哪些客人有相似的口味偏好?问题不同,干活的思路就完全不同。机器学习任务分类,本质上是根据“你手里有什么数据、想得到什么答案”来划分的。

从数据是否有标签这个维度来看,机器学习任务分为三大范式。有监督学习就像学徒跟着老师傅学做菜——每一道菜(样本)都标注了标准答案(标签),学徒边看边学,学完就能给新菜做出判断。无监督学习则像一位美食家面对一堆陌生食材,没有标准答案,全凭自己的观察把它们分门别类。强化学习更像一位不断试错的烧烤师傅——他不用别人告诉他每串肉该怎么烤,而是通过客人的反馈(好吃就点头,难吃就皱眉)来不断调整火候。

清楚了三大范式的区别,就好比老板看清了每位大厨的菜板上有哪些食材。接下来,我们逐一认识这些大厨的本领,看看分类、回归、聚类、降维和强化学习分别擅长什么。

任务范式={有监督数据含标签无监督数据无标签强化学习交互式试错\text{任务范式} = \begin{cases} \text{有监督} & \text{数据含标签} \\ \text{无监督} & \text{数据无标签} \\ \text{强化学习} & \text{交互式试错} \end{cases}
这一公式是任务分类的总纲:有无标签决定了你走哪条技术路线。
  1. 判断有无标签先看手里的数据是否每一行都附带正确答案(如邮件已标“垃圾/正常”)
    有标签→有监督学习\text{有标签} \rightarrow \text{有监督学习}
  2. 无标签走无监督数据只有特征没有答案(如一堆用户行为记录),交给机器自己探索
    无标签→无监督学习\text{无标签} \rightarrow \text{无监督学习}
  3. 交互式问题走强化学习没有静态数据集,靠智能体与环境不断互动获取奖励
    交互决策→强化学习\text{交互决策} \rightarrow \text{强化学习}

分类任务详解

分类大厨的招牌工作是“贴标签”。饭店进了一批新食材,他要判断:这是辣椒还是茄子?这是牛肉还是猪肉?他的菜板上永远写着几个有限的选项——类别是离散的。比如判断一封邮件是垃圾邮件还是正常邮件,判断一张图片里是猫还是狗,判断一个病人是否患病。所有这些问题的共同点是:输出是离散的类别标签。

分类任务属于有监督学习的范畴。大厨怎么学会贴标签的呢?他需要大量“食材+标签”的配对数据——一张猫的图片,旁边写着“猫”;一张狗的图片,旁边写着“狗”。他从中学习特征与类别之间的规律,形成一条决策边界。这条边界就像饭店后厨里画的一条线:线左边是放蔬菜的区域,线右边是放肉类的区域,新食材来了,看它落在线的哪一侧,就知道该归哪类。

评估分类大厨的工作质量,最简单的方式是看准确率——他贴对的标签数占总贴标签数的比例。不过大厨心里明白,准确率不是万能的:如果 100 道菜里 99 道是蔬菜,他全猜“蔬菜”也能有 99% 的准确率,但这样的模型毫无用处。所以后来饭店又引入了精确率、召回率等更细致的指标来考核他。

y^=sign(∑i=1nwixi+b)\hat{y} = \text{sign}\left(\displaystyle\sum_{i=1}^{n} w_i x_i + b\right)
这条公式描述了一个最简单的线性分类器:把每个特征的取值加权求和,再通过符号函数判定属于正类还是负类。
  1. 特征加权求和每个特征 $x_i$ 对类别判断的贡献程度由权重 $w_i$ 决定,像大厨根据食材的颜色、硬度等特征综合打分
    score=∑i=1nwixi+b\text{score} = \displaystyle\sum_{i=1}^{n} w_i x_i + b
  2. 偏置项 $b$一个阈值调整量,相当于决策边界的位置偏移,让分界线可以左右平移
    score=score+b\text{score} = \text{score} + b
  3. 符号函数判定得分大于 0 归为正类,小于 0 归为负类,就像看食材落在分界线的哪一侧
    y^=sign(score)\hat{y} = \text{sign}(\text{score})

回归任务详解

回归大厨的菜板和分类大厨完全不同——他的目标是“估数值”。不问他这是猫还是狗,而是问他:这间房子的价格是多少?明天的气温是几度?这道菜的热量是多少卡?他的答案永远是一个连续的数字,而不是有限的类别。如果说分类大厨在画一条分界线,那回归大厨在画一条趋势线——一条穿过所有数据点的线,尽可能贴近真实答案。

回归也是有监督学习的一种。回归大厨最基础的工具是线性回归:他假设“输出值 = 各个特征的加权和 + 一个偏置”。就像估算房价时,面积乘以一个权重,位置乘以一个权重,楼龄乘以一个权重,最后加总得到预估价格。关键问题是:怎么找到最合适的权重?答案是——让预测值和真实值的差距最小。

回归大厨用什么来检验自己的手艺呢?最常用的是均方误差(MSE)——把所有样本的预测值与真实值的差的平方求平均。平方的作用是惩罚那些偏差大的预测:差 1 个单位,误差是 1;差 3 个单位,误差是 9,而不是 3。这就像考核烧烤师傅时,烤糊一串和稍微焦了一点的扣分完全不同——大错要重罚。回归大厨的目标,就是让这个误差值越小越好。

y^=w1x1+w2x2+⋯+wnxn+b\hat{y} = w_1 x_1 + w_2 x_2 + \cdots + w_n x_n + b
线性回归公式:输出是输入的线性组合,目标是找一组最优的权重 $w$ 和偏置 $b$。
  1. 线性组合把每个特征与对应权重的乘积加起来,像大厨按配方把各种调料按比例混合
    y^=∑i=1nwixi+b\hat{y} = \displaystyle\sum_{i=1}^{n} w_i x_i + b
  2. 权重 $w_i$每个特征的重要性,代表该特征每变化一个单位,输出值变化多少
    Δy^=wi×Δxi\Delta \hat{y} = w_i \times \Delta x_i
  3. 偏置 $b$当所有特征都为零时的基准输出值
    y^base=b\hat{y}_{base} = b

聚类任务详解

聚类大厨是后厨里的一位“无监督”高手。他的特殊之处在于:没有人告诉他这些食材应该分成几类,也没有人给任何食材贴标签。他只凭自己的观察,把相似的食材归到一起。比如一群客人进店,没有人说他们是“爱吃辣组”还是“爱吃甜组”,但聚类大厨通过观察他们的点菜记录,自然地把他们分成了几堆——这就是聚类的本质:在没有标签的情况下,发现数据内在的结构。

聚类大厨最常用的工具是 K-Means 算法。K 代表你想分成几堆。这听起来好像提前告诉了他答案,有点不像无监督?其实不然——即使给了“分成 3 堆”的指示,他仍然不知道每堆具体该包含什么,全靠数据自己“物以类聚”。算法的思路很朴实:先在数据里随便选 K 个点当“临时群主”,然后让每个数据点投奔离自己最近的群主,再重新计算每堆的中心当新群主,反复迭代直到群主不再变动。

聚类大厨的手艺有很多用武之地:在电商场景中,他可以根据用户购买记录将用户分群,做精准营销;在社交网络中,他可以发现联系紧密的社区群体;在异常检测中,那些离任何群都很远的点,可能就是作弊行为或机器故障的征兆。

J=∑j=1k∑x∈Sj∥x−μj∥2J = \displaystyle\sum_{j=1}^{k} \sum_{x \in S_j} \| x - \mu_j \|^2
K-Means 的目标函数:最小化每个点到其所属簇中心的距离平方和,让簇内尽量紧凑。
  1. $k$ 个簇预先设定要分成 k 堆,每堆称为一个簇
    簇的集合={S1,S2,…,Sk}\text{簇的集合} = \{S_1, S_2, \ldots, S_k\}
  2. 簇中心 $\mu_j$每个簇里所有点的均值点,相当于一个“虚拟群主”
    μj=1∣Sj∣∑x∈Sjx\mu_j = \frac{1}{|S_j|} \sum_{x \in S_j} x
  3. 距离平方和计算每个点到自己群主的距离并平方,再全部加起来,衡量的是“群内凝聚力”
    J=∑j∑x∈Sj∥x−μj∥2J = \sum_{j} \sum_{x \in S_j} \| x - \mu_j \|^2

降维任务详解

降维大厨的本领听起来很唬人,其实打个比方就懂了:饭店要拍一本招牌菜画册,每道菜有几十种食材、十几种调料,信息量巨大。但降维大厨发现,真正决定这道菜风味的其实就那么三四种核心特色——比如“辣度、麻度、油腻度”。他做的事情就是:忽略那些无关紧要的细节,找到数据中最关键的信息方向,把上百维的数据压缩到几个维度。

降维最经典的方法是 PCA(主成分分析)。PCA 的直觉是:在数据中发现方差最大的方向,这个方向携带了最多的信息量。就像一堆点在一张纸上是二维的,但如果它们基本都在一条对角线附近分布,那么把这条对角线拎出来作为一维坐标,就能用很少的信息损失来描述所有点。PCA 就是不断找这样的“关键方向”(主成分),把数据投影上去。

降维大厨的价值不只是“省存储空间”。数据可视化是他最受欢迎的应用——高维数据人眼没法直接看,但降维到二维或三维后就能画出来了。他在建模前也经常扮演“清洁工”:去掉冗余特征、减少特征数量,帮助其他大厨(特别是逻辑回归、K-Means)降低计算开销、提升性能表现。

x≈x0+∑i=1kcivi\mathbf{x} \approx \mathbf{x}_0 + \displaystyle\sum_{i=1}^{k} c_i \mathbf{v}_i
PCA 将原始高维数据近似表示为:一个均值中心加上 k 个主成分方向的线性组合。
  1. 数据去中心化先把所有数据点整体平移,让均值落在原点,方便找到变化方向
    x←x−x0\mathbf{x} \leftarrow \mathbf{x} - \mathbf{x}_0
  2. 找主方向 $\mathbf{v}_i$在数据中依次找方差最大的正交方向,作为新的坐标系
    v1=arg⁡max⁡∥v∥=1Var(x⋅v)\mathbf{v}_1 = \arg\max_{\|\mathbf{v}\|=1} \text{Var}(\mathbf{x} \cdot \mathbf{v})
  3. 投影降维保留前 k 个主成分,把数据投影到这些方向上,实现降维
    x≈∑i=1kcivi\mathbf{x} \approx \sum_{i=1}^{k} c_i \mathbf{v}_i

强化学习详解

最后这位大厨最特别——强化学习大厨。前面几位大厨都是在“静态的资料”上工作:数据和标签都摆在那里,一次学完就毕业了。但这位大厨面对的是一个动态的环境:他开了一个小吃摊,不知道什么调料组合最受欢迎,只能不断尝试——撒点孜然试试,客人皱眉;多放点辣椒,客人竖大拇指。他根据客人的反馈(奖励)不断调整配方,越做越好。这就是强化学习的核心:智能体通过与环境交互获得奖励信号,学会最优策略。

在强化学习的框架里,智能体(Agent) 是做出决策的学习者,环境(Environment) 是智能体交互的对象。每个时间步,智能体观察当前状态,做出一个动作,环境返回新的状态和一个奖励值。智能体的目标很简单:让长期累积的奖励最大化。这像烧烤师傅的每一步——现在是该刷油还是该翻面?刷油可能让当下更香,但翻面可能让未来不受糊掉,他得学会权衡。

强化学习大厨擅长的是“序列决策”问题:不是一次判断,而是连续的、环环相扣的决策。围棋 AI 下棋、机器人学走路、自动驾驶控制车速、推荐系统安排推送顺序——这些都是强化学习的用武之地。他不需要标准答案数据集,只需要一个能给出奖励信号的环境。

Q(s,a)←Q(s,a)+α[r+γmax⁡a′Q(s′,a′)−Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha \left[ r + \gamma \max_{a'} Q(s',a') - Q(s,a) \right]
Q-Learning 更新公式:用当前的奖励加上未来最佳收益的折扣值,来更新当前状态动作对的预期价值。
  1. 学习率 $\alpha$每次更新的步长,决定了新信息覆盖旧信息的程度,像烧烤师傅每个新反馈对他的影响权重
    α∈(0,1)\alpha \in (0,1)
  2. 奖励 $r$环境对当前动作的即时反馈,可正可负,像客人的表情
    r=r(s,a)r = r(s,a)
  3. 折扣因子 $\gamma$未来奖励的重要程度,越接近 1 越有远见,越接近 0 越只看眼前
    γ∈(0,1)\gamma \in (0,1)
  4. $\max_{a'} Q(s',a')$新状态下所有动作中最大的预期价值,代表“未来的最好可能”
    未来最佳=max⁡a′Q(s′,a′)\text{未来最佳} = \max_{a'} Q(s',a')

选型决策指南

现在,饭店老板把所有大厨都认全了。该派谁上场,成了一门决策艺术。好在有套路可循:第一步看有没有标签。如果你手里有一堆既有特征又有标准答案的数据,那就是有监督学习的地盘;如果只有一堆原始数据,没有答案,那就请聚类或降维大厨出马;如果问题是一个交互式的决策过程,不是静态的数据分析,那就别犹豫,直接找强化学习大厨。

第二步要看输出的形式。有监督学习内部,你的目标输出是几个固定选项之一(是/否、猫/狗、A/B/C)?选分类。你的目标输出是一个连续数值(房价、温度、概率)?选回归。第三步要结合数据规模:数据量很小但特征很多,先降维准没错;数据量大且类别分布不均,分类大厨可能需要更精细的考核指标。

回到饭店的故事里,老板现在有了完整的“排班手册”。更妙的是,这些大厨还能配合工作:先用降维大厨压缩特征,再用聚类大厨给用户分群;先用分类大厨建立初筛模型,再用强化学习大厨做长期优化。理解了任务分类这张地图,你就掌握了 AI 入门的第一个核心能力——拿到任何业务问题,先选对战场,再考虑用什么武器。

选型={有标签→{离散输出→分类连续输出→回归无标签→{分群需求→聚类降维需求→降维交互决策→强化学习\text{选型} = \begin{cases} \text{有标签} \rightarrow \begin{cases} \text{离散输出} \rightarrow \text{分类} \\ \text{连续输出} \rightarrow \text{回归} \end{cases} \\ \text{无标签} \rightarrow \begin{cases} \text{分群需求} \rightarrow \text{聚类} \\ \text{降维需求} \rightarrow \text{降维} \end{cases} \\ \text{交互决策} \rightarrow \text{强化学习} \end{cases}
这张“选型流程图”把所有判断浓缩为一棵决策树——拿到任何问题,跟着走就能找到正确的任务类型。
  1. 有标签分支数据集的每个样本都有正确答案,进入有监督的岔路口
    有标签→有监督\text{有标签} \rightarrow \text{有监督}
  2. 输出类型判断标签是离散类别还是连续数值决定了分类还是回归
    离散→分类;连续→回归\text{离散} \rightarrow \text{分类};\text{连续} \rightarrow \text{回归}
  3. 无标签分支数据只有特征没有答案,在聚类和降维之间选择
    无标签→无监督\text{无标签} \rightarrow \text{无监督}
  4. 交互决策分支没有静态数据集,需要与环境互动学习,交给强化学习
    交互→强化学习\text{交互} \rightarrow \text{强化学习}

AI 应用场景

电商用户行为分析

阶段:无监督学习(聚类)在用户分群中的应用

解决的问题:电商平台没有用户标签,传统的“一刀切”营销策略转化率低。通过聚类分析用户购买行为、浏览时长等特征,自动将用户分为“价格敏感型”“品质追求型”“冲动消费型”等群体,实现精准推送。

具体案例:某电商平台对 10 万名用户的购买记录提取特征后,用 K-Means 将用户分为 5 个群,发现其中“深夜下单群”占营收的 35%。针对该群优先推送夜间限时折扣,转化率提升了 22%。

智能客服工单分类

阶段:有监督学习(分类)在文本分类中的应用

解决的问题:客服每天收到大量工单,人工分类耗时费力。用历史已标注类别的工单训练分类模型,自动将新工单归为“退货退款”“物流咨询”“产品故障”等类别,并路由到对应处理团队。

具体案例:某通信运营商用 20 万条历史工单训练了一个多分类模型,线上准确率达 93%,工单平均处理时长从 45 分钟缩短到 8 分钟。

工业设备预测性维护

阶段:回归任务在剩余寿命预测中的应用

解决的问题:工厂设备停机损失巨大,传统定期维修要么过度保养要么漏检。采集传感器的温度、振动、压力等数据,用回归模型预测设备剩余使用寿命,在故障前精准安排维护。

具体案例:某制造业工厂在关键设备上部署传感器,用梯度提升回归树预测剩余寿命,平均绝对误差仅 3.2 天,意外停机次数减少了 60%。

Python 演示

python40 行
from sklearn.datasets import make_classification, make_regression, make_blobsfrom sklearn.cluster import KMeansfrom sklearn.decomposition import PCAfrom sklearn.linear_model import LinearRegression, LogisticRegressionfrom sklearn.metrics import accuracy_score, mean_squared_errorfrom sklearn.model_selection import train_test_split def demo_classification():    X, y = make_classification(n_samples=300, n_features=4, n_redundant=0, random_state=42)    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)    clf = LogisticRegression(max_iter=1000)    clf.fit(X_train, y_train)    pred = clf.predict(X_test)    print("分类准确率: {:.3f}".format(accuracy_score(y_test, pred))) def demo_regression():    X, y = make_regression(n_samples=300, n_features=4, noise=0.3, random_state=42)    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)    reg = LinearRegression()    reg.fit(X_train, y_train)    pred = reg.predict(X_test)    print("回归MSE: {:.3f}".format(mean_squared_error(y_test, pred))) def demo_clustering():    X, _ = make_blobs(n_samples=300, centers=3, n_features=4, random_state=42)    kmeans = KMeans(n_clusters=3, n_init=10, random_state=42)    labels = kmeans.fit_predict(X)    print("聚类簇中心数:", len(kmeans.cluster_centers_)) def demo_pca():    X, _ = make_blobs(n_samples=300, centers=3, n_features=10, random_state=42)    pca = PCA(n_components=2)    X_reduced = pca.fit_transform(X)    print("降维后维度:", X_reduced.shape[1]) if __name__ == "__main__":    demo_classification()    demo_regression()    demo_clustering()    demo_pca()
目的:用 scikit-learn 一行行演示四种核心任务——分类、回归、聚类、降维的完整流水线:生成数据、切分训练测试集、训练模型、评估结果。
  1. LogisticRegression()逻辑回归分类器,用于有监督的离散标签预测
  2. LinearRegression.fit(X_train, y_train)线性回归训练:找一组最优权重使预测误差最小
  3. KMeans(n_clusters=3)设置聚成 3 堆的 K-Means 模型,无标签自动分群
  4. PCA(n_components=2)把 10 维数据降到 2 维,保留最大方差方向
  5. train_test_split(..., test_size=0.2)留出 20% 数据作为测试集,检验模型泛化能力

常见误区

误区“逻辑回归名字里带'回归',所以它是回归算法,用错地方了。”

正解事实上逻辑回归是标准的分类算法。它的名字带有历史色彩——它的前身是线性回归,只是在输出层加了 sigmoid 函数把连续值压到 0 到 1 之间变成概率,再用阈值判定类别。判断是分类还是回归,不看算法名字,只看输出是离散类别还是连续数值。就像同样一把菜刀,切菜是配菜工,切肉是配肉工,工具本身没有固定身份。

为何常见:初学看到“回归”两个字就归入回归类,没有抓住本质是输出形式决定任务类型。

误区“没标签的数据就是废数据,没法用来训练模型。”

正解无标签数据恰恰是聚类和降维的燃料。聚类能发现数据天然的分群结构,降维能提炼关键特征、压缩维度。更进阶的做法是半监督学习:用少量有标签数据加上大量无标签数据联合训练。就像一堆没有菜名的食材,大厨照样能根据颜色、气味把它们分门别类放好,这些分类好的食材后面也许能派上大用场。

为何常见:许多教材先讲有监督学习,让初学者形成“学习=有标签”的惯性思维。

误区“聚类和分类目标一样,都是给数据分组,只是聚类没有标签而已。”

正解两者对“分组”的定义有本质区别。分类的类别是预先定义好的、有语义含义的(猫/狗、正常/异常);聚类的簇是算法从数据中自动发现的,簇的语义需要人来解读。而且同一个数据用不同的聚类数和不同的距离度量,可能得到完全不同的分组。分类是“照着标准答案做判断题”,聚类是“自己定标准做归纳题”。

为何常见:两者都是“把东西归堆”,表面相似导致混淆,忽略了类别的先验定义与本征结构的根本差异。

误区“特征越多信息越丰富,模型效果应该越好,降维反而会丢失信息。”

正解特征过多会带来“维度灾难”——样本在高维空间中变得稀疏,距离计算失去意义,模型容易过拟合。降维去掉的是冗余和弱相关特征,保留的是主要变化方向,不仅不会丢关键信息,反而能提升泛化能力。就像做菜时,配料表写了 100 种调料,但实际上起决定性作用的只有 5 种,厨师只需要专注这 5 种就够了。

为何常见:直观上“信息多=更好”,没意识到高维数据的稀疏性和噪声干扰。

误区“强化学习要像深度学习那样,先收集百万条数据才能训练。”

正解强化学习的数据是在交互过程中逐步产生的,不是预先收集的。智能体通过“试错—观测奖励—调整策略”的方式边做边学。它的瓶颈往往不是数据量,而是环境的探索效率和奖励函数设计。AlphaGo 一开始也只会随机下棋,但通过自我对弈数百万局才变强——数据是在训练过程中“长出来”的,不是提前“摆好的”。

为何常见:习惯了监督学习的“数据准备好再训练”范式,没理解强化学习的在线交互本质。

面试题

Q1. 机器学习的三大主要范式不包括以下哪项?

单选题 · easy

  • A.有监督学习
  • B.无监督学习
  • C.强化学习
  • D.半监督学习← 正确答案

答案:D。半监督学习是有监督和无监督的过渡形态,不属于与两者并列的三大范式。三大范式是有监督学习、无监督学习和强化学习,分类依据是训练数据的标签情况与交互方式,就像饭店派工前先看手里有菜谱还是有食材或者只能试错。

Q2. 给定一组带“是否患病”标签的体检数据,要预测新病人是否患病,该选什么任务?

单选题 · easy

  • A.回归任务
  • B.分类任务← 正确答案
  • C.聚类任务
  • D.降维任务

答案:B。输出是“患病/不患病”这个离散类别标签,属于分类任务。虽然有时会给出患病概率,但最终输出仍是离散类别。回归输出连续数值,聚类和降维不需要标签,均不符合。

Q3. 逻辑回归模型的输出层使用什么函数将连续值映射到 0-1 区间?

单选题 · mid

  • A.ReLU 函数
  • B.sigmoid 函数← 正确答案
  • C.tanh 函数
  • D.softmax 函数

答案:B。二分类逻辑回归用 sigmoid 函数把线性组合的结果压到 0-1 之间作为正类概率。ReLU 是激活函数但输出不限制范围,tanh 映射到 -1 到 1,softmax 用于多分类输出概率分布。就像把综合得分换算成“有多大把握”的百分比。

Q4. 线性回归的目标是让以下哪个指标最小?

单选题 · mid

  • A.准确率
  • B.精确率
  • C.均方误差← 正确答案
  • D.召回率

答案:C。线性回归属于回归任务,评估用均方误差(MSE)来衡量预测值与真实值的差距。准确率、精确率、召回率都是分类任务的评估指标。MSE 对大误差的惩罚更重,因为误差被平方了,就像考核时烤糊了的菜品要被重罚。

Q5. K-Means 算法中,K 的含义是什么?

单选题 · mid

  • A.特征数量
  • B.样本数量
  • C.聚类簇的数量← 正确答案
  • D.迭代次数

答案:C。K-Means 中的 K 是预先设定的聚类簇数量,算法将数据分成 K 个簇。特征数量、样本数量和迭代次数都不是 K 的含义。K 的选择是 K-Means 的关键超参数,常通过肘部法则来确定,就像老板得先想好客人分几桌才安排座位。

Q6. 以下哪些属于无监督学习的任务?

多选题 · mid

  • A.聚类← 正确答案
  • B.分类
  • C.降维← 正确答案
  • D.回归

答案:AC。聚类和降维都不需要标签数据,属于无监督学习。分类和回归都需要有标签的训练数据,属于有监督学习。无监督就像没有菜单时自己观察食材归类,有监督则是拿着标签教学。

Q7. 在 Q-Learning 更新公式中,折扣因子 $\gamma$ 的作用是什么?

单选题 · hard

  • A.控制每次更新的步长大小
  • B.衡量未来奖励的重要程度← 正确答案
  • C.决定环境的奖励值
  • D.确定智能体的动作选择

答案:B。折扣因子 $\gamma$ 在 0 到 1 之间,衡量未来奖励相对于即时奖励的重要程度。越接近 1 表示越有远见,越接近 0 表示只看眼前。学习率 $\alpha$ 控制更新步长,奖励由环境决定,动作选择由策略决定。就像烧烤师傅是否愿意为将来不烤糊而忍受当下的不便。

Q8. 降维的主要目的是什么?

单选题 · easy

  • A.增加训练数据的数量
  • B.减少特征数量并保留关键信息← 正确答案
  • C.将类别标签转换为数值
  • D.提升模型的准确率到 100%

答案:B。降维的目标是在减少特征维度的同时保留数据的关键信息,缓解维度灾难、降低计算开销、方便可视化。它不能增加数据量,也不是为了把准确率提到 100%,标签转换属于数据预处理范畴。降维像提炼核心风味,去掉冗余调料。

Q9. 以下关于分类与聚类的说法,正确的有哪些?

多选题 · hard

  • A.分类的类别预先定义,聚类的簇由数据自动发现← 正确答案
  • B.分类需要标签数据,聚类不需要← 正确答案
  • C.聚类结果天然具有明确的语义含义
  • D.相同数据用不同聚类数可能得到不同分组← 正确答案

答案:ABD。分类的类别是预定义的、有语义的,聚类是靠数据内在结构自动分簇,簇的语义需要事后人工解读,所以 C 错。分类要有标签,聚类不需要。不同的 K 值(簇数)会产生完全不同的分组结果。就像猫狗分类有标准答案,但客人分群的方案可以多种多样。

Q10. 拿到一个新任务,数据每行有 20 个特征但没有标签,且希望将样本归入若干未预定义的组,应优先选择什么?

单选题 · hard

  • A.逻辑回归
  • B.线性回归
  • C.K-Means 聚类← 正确答案
  • D.Q-Learning

答案:C。无标签数据排除有监督的分类和回归;需求是“归入若干组”,聚类正合适。K-Means 是无监督聚类算法,不需要标签就能分群。Q-Learning 是强化学习,面向交互决策问题。数据没有标签就像没有菜单的食材,聚类大厨自己观察分堆。