在上一个主题中,我们学习了监督机器学习,其中在训练数据的监督下使用标记数据训练模型。但是在很多情况下,我们没有标记数据,需要从给定的数据集中找到隐藏的模式。因此,要解决机器学习中的此类情况,我们需要无监督学习技术。
顾名思义,无监督学习是一种机器学习技术,其中模型不使用训练数据集进行监督。相反,模型本身会从给定的数据中找到隐藏的模式和见解。它可以比作在学习新事物时在人脑中进行的学习。它可以定义为:
无监督学习是一种机器学习,其中使用未标记的数据集训练模型,并允许在没有任何监督的情况下对该数据采取行动。
无监督学习不能直接应用于回归或分类问题,因为与监督学习不同,我们有输入数据但没有相应的输出数据。无监督学习的目标是找到数据集的底层结构,根据相似性对该数据进行分组,并以压缩格式表示该数据集。
示例:假设无监督学习算法有一个输入数据集,其中包含不同类型的猫和狗的图像。该算法从未在给定的数据集上进行过训练,这意味着它对数据集的特征一无所知。无监督学习算法的任务是自行识别图像特征。无监督学习算法将根据图像之间的相似性将图像数据集聚类到组中来执行此任务。
以下是描述无监督学习重要性的一些主要原因:
无监督学习有助于从数据中找到有用的见解。
无监督学习与人类根据自己的经验学习思考非常相似,这使其更接近于真正的人工智能。
无监督学习适用于未标记和未分类的数据,这使得无监督学习更加重要。
在现实世界中,我们并不总是拥有具有相应输出的输入数据,因此为了解决这种情况,我们需要无监督学习。
无监督学习的工作可以通过下图来理解:
在这里,我们取了一个未标记的输入数据,这意味着它没有被分类,也没有给出相应的输出。现在,将此未标记的输入数据馈送到机器学习模型以对其进行训练。首先,它将解释原始数据以从数据中找到隐藏模式,然后应用合适的算法,例如 k-means 聚类、决策树等。
一旦应用了合适的算法,算法就会根据对象之间的相似性和差异性将数据对象分组。
无监督学习算法可以进一步分为两类问题:
聚类:聚类是一种将对象分组为簇的方法,使得具有最多相似性的对象保留在一个组中,而与另一组的对象具有较少的相似性或没有相似性。聚类分析发现数据对象之间的共性,并根据这些共性的存在与否对它们进行分类。
关联:关联规则是一种无监督学习方法,用于在大型数据库中查找变量之间的关系。它确定数据集中一起出现的项目集。关联规则使营销策略更有效。例如购买 X 项(假设是面包)的人也倾向于购买 Y(黄油/果酱)项。关联规则的一个典型例子是市场篮子分析。
以下是一些流行的无监督学习算法列表:
K均值聚类
KNN(k-最近邻)
层次聚类
异常检测
神经网络
主成分分析
独立成分分析
先验算法
奇异值分解
与监督学习相比,无监督学习用于更复杂的任务,因为在无监督学习中,我们没有标记的输入数据。
无监督学习更可取,因为与标记数据相比,它更容易获得未标记数据。
无监督学习本质上比监督学习更困难,因为它没有相应的输出。
无监督学习算法的结果可能不太准确,因为输入数据没有标记,并且算法事先不知道确切的输出。