监督学习、半监督学习、无监督学习和强化学习导论
上次更新:2025年2月28日
1. 概述
机器学习包括应用数学和统计方法,使机器能够从数据中学习。它由四大家族技术组成
- 监督学习
- 半监督学习
- 无监督学习
- 强化学习
在本文中,我们将探讨机器学习的目的以及何时应使用特定技术。因此,我们将通过简单的示例了解它们的工作原理。
2. 监督学习
监督学习 是一种将标记数据提供给机器学习模型的技术。标记数据集通常是从经验中收集的数据,也称为经验数据。此外,数据通常需要准备才能提高其质量,填补其空白或仅仅为了优化训练而进行优化。
让我们以以下类型的葡萄酒数据集为例
| 类型 | 酸度 | 二氧化物 | pH 值 |
|---|---|---|---|
| 白葡萄酒 | .27 | 45 | 3 |
| 红葡萄酒 | .3 | 14 | 3.26 |
| 白葡萄酒 | .28 | 47 | 2.98 |
| 白葡萄酒 | .18 | 3.22 | |
| 红葡萄酒 | 16 | 3.17 |
现在让我们看看准备后它的样子
| 类型 | 酸度 | 二氧化物 | pH 值 |
|---|---|---|---|
| 1 | .75 | .94 | .07 |
| 0 | 1 | 0 | 1 |
| 1 | .83 | 1 | 0 |
| 1 | 0 | .52 | .86 |
| 0 | .67 | .06 | .68 |
我们已纠正了与数据集质量相关的问题(缺失单元格)并对其进行了优化,以方便学习过程。例如,我们可以看到红葡萄酒和白葡萄酒的值已被替换为数字值。
根据用例,我们将使用分类或回归模型。
让我们了解这些术语的含义以及如何选择最适合的术语。
2.1. 分类
首先,假设我们有一个汽车图像数据集。我们希望通过类型对这些图像进行分类:轿车、卡车、面包车等。因此,对于这种用例,我们希望使用分类模型。
这种类型的模型将将我们的输入分类到预定义的且详尽的类中,在本例中按汽车类型分类。
但在这样做之前,我们将向其提供大量带有正确输出类标签的汽车图像。这就是我们所说的训练步骤。
之后,该模型将在另一个从未处理过的标记图像集上进行测试。此步骤对于了解模型在处理新数据时的行为至关重要。
最后,如果结果达到一定的正确预测水平,我们可以认为该模型已成熟。该水平通常取决于用例的重要性。例如,过滤垃圾邮件的模型不如运行自动驾驶汽车的模型重要。我们使用损失函数来计算模型的准确性。
作为说明,下图是一个分类模型的示例,该模型由两个类组成:猫和不是猫
让我们列出一些用于分类的算法
- 逻辑回归
- 随机森林
- 决策树
- 支持向量回归器
- k-最近邻
2.2. 回归
另一方面,回归不会给出类别作为输出,而是特定值,也称为预测或预测值。
我们使用回归模型根据历史数据来预测这些值。在这种方式上,它与分类模型差别不大。它也需要训练步骤和测试步骤。
例如,假设我们有人的年龄和各自的身高。使用此数据,我们将能够构建一个模型来预测基于年龄,某人的身高最有可能是什么。
让我们看看可以用于回归的算法
- 线性回归
- 随机森林
- 决策树
- 支持向量回归器
- k-最近邻
我们注意到其中大部分也列在分类子部分中。
3. 无监督学习
与监督学习不同,无监督学习包括处理未标记的数据。 事实上,在这些用例中,标签通常很难获得。例如,对数据了解不足或标记成本过高。
此外,缺乏标签使得为训练好的模型设定目标变得困难。因此,衡量结果的准确性也变得复杂。尽管如此,多种技术能够获得结果,从而更好地理解数据。
3.1. 聚类
聚类包括基于某些特征发现相似项目的集群。 换句话说,该技术有助于揭示数据中的模式。
例如,假设我们有由汽车组成的数据输入。此外,数据集未标记,我们不知道哪些相似的特征或特征集可能导致集群。聚类模型将找到模式。例如,在下面的例子中,它使用各自的颜色对汽车进行分组。
让我们探索一些聚类算法
- k-均值聚类
- 层次聚类
3.2. 降维
维度是指数据集中维度的数量。 例如,维度可以代表特征或变量。它们描述了数据集中的实体。
该技术的目的是检测不同维度之间的相关性。换句话说,它将帮助我们找到数据集特征中的冗余并减少它。 例如,我们可以考虑两个特征以不同的形式提供相同的信息。因此,算法只会保留压缩子集中这些列中的一个。
之后,我们将只保留在不丢失任何重要信息的前提下所需的最小必要维度。最终,这项技术有助于获得更好的数据集,优化后续的训练步骤
我们可以列出一些降维算法(不完全列表)
- 主成分分析
- 线性判别分析
- 广义判别分析
- 核主成分分析
4. 半监督学习
与监督学习和无监督学习类似,半监督学习包括处理数据集。
然而,半监督学习中的数据集分为两部分:标记部分和未标记部分。当标记数据或收集标记数据过于困难或过于昂贵时,通常使用该技术。数据中标记的部分也可能质量较差。
例如,如果我们以医学成像来检测癌症为例,让医生标记数据集是一项非常昂贵的任务。此外,这些医生还有其他更紧急的工作要做。例如,在下文中,我们可以看到医生标记了数据集的一部分,而另一部分未标记。
最终,这种机器学习技术已被证明即使在数据集部分标记的情况下也能表现出良好的准确性。
5. 强化学习
在强化学习中,系统学习完全来自一系列强化。这些强化可以是正面的或负面的,与系统目标相关。正面的强化被称为“奖励”,而负面的强化我们称之为“惩罚”。
例如,我们考虑一个玩电子游戏的模型。当系统获得更多分数时,它会得到奖励。但如果它输了,模型会收到惩罚。因此,模型可以识别哪些行动在策略上是好的。
这些行动的价值将被加在一起,以建立短期策略以及长期策略。因此,模型将学会如何玩游戏并积累尽可能多的奖励。
最终,模型会随着每次行动和奖励而演变,或者随着一批行动和奖励而演变。
一些强化学习算法包括
- SARSA,即状态-动作-奖励-状态-动作
- Q-学习
- 汤普森采样
- 置信区间上限
- 蒙特卡洛树搜索
6. 如何选择合适的方法?
不存在理想的通用算法。每种算法都有其优点和缺点。根据用例和不同因素,我们将选择一种或另一种算法。
让我们来看一些在选择算法时需要考虑的非详尽的要点
- 问题的类型 – 考虑到要解决的问题,我们将选择一种已证明为类似问题提供良好结果的算法
- 可用的样本数量 – 一般来说,数据集越大越好,但有些算法即使在少量数据集上也能表现良好(例如朴素贝叶斯、K近邻分类器、线性SVC、SVR)
- 模型的算法复杂度与用于训练它的数据量相比 – 更确切地说,如果算法过于复杂但已在少量数据上进行了训练,它将过于灵活,最终可能会过度拟合
- 预期的准确率 – 准确率较低的机器学习模型可以比旨在最小化损失的模型更快地进行训练
7. 结论
总而言之,我们发现了多种应用机器学习的技术。现在我们知道这些技术有不同的形式,但它们都有一个共同点:总是包含数学和统计技术。