什么是无监督学习?
顾名思义,“无监督”学习发生在没有监督者或老师并且学习者自己学习的情况下。
例如,考虑一个第一次看到并品尝到苹果的孩子。她记录了水果的颜色、质地、味道和气味。下次她看到一个苹果时,她就知道这个苹果和之前的苹果是相似的物体,因为它们具有非常相似的特征。
她知道这和橙子很不一样。但是,她仍然不知道它在人类语言中的名称是什么,即“苹果”,因为不知道这个标签。
这种不存在标签(在没有老师的情况下)但学习者仍然可以自己学习模式的学习称为无监督学习。
在机器学习算法的上下文中,当算法从没有任何相关响应的普通示例中学习并自行确定数据模式时,就会发生无监督学习。
在下一节中,我们将讨论这种类型的学习与机器学习中其他类型的流行学习算法(即监督学习算法)有何不同。
监督学习与无监督学习
顾名思义,监督学习中的学习是在监督下进行的,即当算法从训练数据中预测样本的值时,它会被告知预测是否正确。
这是可能的,因为我们将正确的值存储为“标签”/“目标变量”,这些值与输入数据一起传递给算法。常见的监督学习任务是分类和回归。
在分类任务中,标签是样本所属的正确类别,而在回归中,因变量 (Y) 的实际值用作比较预测的基准。然后,该算法可以调整其参数以实现更高的预测准确度。
因此,监督学习的主要目标是建立一个稳健的预测模型。
另一方面,在无监督学习中,我们只传递输入数据,没有标签。无监督模型试图找到数据中的底层或隐藏结构或分布,以便更多地了解数据。
换句话说,无监督学习是我们只有输入数据而没有相应的输出变量,主要目标是从输入数据本身中学习更多或发现新的见解。
无监督算法的一个常见示例是聚类算法,它根据机器检测到的模式对数据进行分组。
例如,让我们考虑一个基于两个输入特征 X1 和 X2 的数据点的情况。
- 如果我们希望我们的算法将数据分类/分类为两个已知类别,我们将使用监督分类算法。
- 另一方面,如果我们希望算法告诉我们数据的结构,我们将使用无监督聚类算法。
我们什么时候使用无监督算法?
在以下条件下使用无监督学习:
- 我们没有输出/目标数据。
- 我们并不完全知道我们在寻找什么,并希望机器发现数据中的模式/洞察力。然后,机器发现的见解可用于解决各种挑战。
- 我们只想从数据中过滤掉基本信息(与原始数据相比具有较低的维度),并仅使用它来训练监督学习模型。
在接下来的两节中,我们将研究两种流行的无监督算法,即聚类和降维,它们在这些情况下对我们有帮助。
聚类算法
聚类的概念
聚类是无监督学习领域中最流行的任务之一。在这里,基本假设是相似的数据点往往属于相似的组(称为集群),这取决于它们与局部质心的距离。
因此,不是在查看数据之前定义组,聚类允许我们找到和分析有机形成的组,即基于数据本身。
有不同的聚类算法,如 K-means 聚类、层次聚类、DBSCAN、OPTICS 等,它们根据自己对数据点之间相似性的定义对数据进行分组。
在下一小节中,我们将看一个 K-means 聚类的示例,它是一种广泛使用的聚类算法。它创建了“K”个类似的数据点集群。
K-means 聚类算法
当我们有未标记的数据(即没有定义的类别或组的数据)时,使用 K-means 聚类。该算法在数据中查找组/簇,组数由变量“k”(因此得名)表示。
该算法迭代地工作以根据所提供特征的相似性将每个观察分配给 k 个组之一。
K-