无监督学习(Unsupervised Learning)是和监督学习绝对的另一种支流机器学习的办法,无监督学习是没有任何的数据标注只有数据自身。
无监督学习算法有几种类型,以下是其中最重要的 12 种:
1、聚类算法依据相似性将数据点分组成簇
k-means 聚类是一种风行的聚类算法,它将数据划分为 k 组。
2、降维算法升高了数据的维数,使其更容易可视化和解决
主成分剖析 (PCA) 是一种降维算法,将数据投影到低维空间,PCA 能够用来将数据降维到其最重要的特色。
3. 异样检测算法辨认异样值或异样数据点
反对向量机是能够用于异样检测(示例)[26]。异样检测算法用于检测数据集中的异样点,异样检测的办法有很多,但大多数能够分为有监督和无监督两种。监督办法须要标记数据集,而无监督办法不须要。
无监督异样检测算法通常基于密度估计[20],试图找到数据空间中密集的区域外的点。
一个简略的办法是计算每个点到 k 个最近街坊的均匀间隔。间隔相邻点十分远的点很可能是异样点。
还有很多基于密度的异样检测算法,包含部分离群因子 (Local Outlier Factor,LOF) 和反对向量数据形容(Support Vector Domain Description,SVDD)。这些算法比简略的 k 近邻办法更简单,通常能够检测到更轻微的异样[21]。大多数异样检测算法都须要进行调整,例如指定一个参数来控制算法对异样的敏感水平。如果参数过低,算法可能会漏掉一些异样。如果设置过高,算法可能会产生误报(将失常点辨认为异样点)。
4、宰割算法将数据分成段或组[12]
宰割算法能够将图像宰割为前景和背景。
这些算法能够在不须要人工监督的状况下主动将数据集宰割成有意义的组。这个畛域中比拟出名的一个算法是 k -means 算法。该算法通过最小化组内间隔平方和将数据点分成 k 组。
另一种风行的宰割算法是 mean shift 算法。该算法通过迭代地将每个数据点移向其部分邻域的核心来实现。mean shift 对异样值具备较强的鲁棒性,能够解决密度不平均的数据集。然而在大型数据集上运行它的计算成本可能很高。
高斯混合模型 (GMM) 是一种可用于宰割的概率模型。以前 gmm 须要大量的计算来训练,但最近的研究进展使其更快。gmm 非常灵活,能够用于任何类型的数据。然而它们有时并不能总是产生最好的后果。对于简略的数据集,k-means 是一个很好的抉择,而 gmm 则更适宜于简单的数据集。mean shift 能够用于任何一种状况,但在大型数据集上计算的老本会很高。
5、去噪算法缩小或去除数据中的噪声
小波变换能够用于图像去噪。然而各种起源可能会产生噪声,包含数据损坏、缺失值和异样值。去噪算法通过缩小数据 [10] 中的噪声量来进步无监督学习模型的准确性。
现有的去噪算法有多种,包含主成分剖析 (PCA)、独立成分剖析(ICA) 和非负矩阵合成(NMF)[11]。
6、链接预测算法预测数据点之间的将来连贯(例如,网络中两个节点之间的将来交互)
链接预测可用于预测哪些人将成为社交网络中的敌人。更罕用的链接预测算法之一是优先连贯算法[15],它预测如果两个节点有许多现有连贯,则它们更有可能被连贯。
另一种风行的链路预测算法是部分门路算法,它预测如果两个节点共享一个独特的街坊 [27],那么它们更有可能被关联。该算法能够捕捉“构造等价”[16] 的概念,因而在生物网络中常常应用。
最初,random walk with restart 算法也是一种链路预测算法,它模仿网络上的一个随机走动的人,在随机节点 [17] 处重新启动步行者。而后,步行者达到特定节点的概率被用来掂量两个节点之间存在连贯的可能性。
7、强化学习算法通过重复试验来进行学习
Q-learning 是基于值的学习算法 [1] 的一个例子; 它实现简略并且通用。然而 Q -learning 有时会收敛到次优解[18]。另一个例子是 TD learning,它在计算上 Q -learning 学习要求更高,但通常能够找到更好的解决方案[19]。
8、生成模型: 算法应用训练数据生成新的数据
自编码器是生成模型,可用于从图像数据集创立独特的图像。在机器学习中,生成模型是一种捕获一组数据的统计属性的模型。这些模型能够用来生成新的数据,就像它们所用的训练的数据一样。
生成模型用于各种工作,如无监督学习,数据压缩和去噪[22]。生成模型有很多种,比方隐马尔可夫模型和玻尔兹曼机[22]。每种模型都有其优缺点,并且实用于不同的工作。
隐马尔可夫模型善于对程序数据建模,而玻尔兹曼机器更善于对高维数据 [22] 建模。通过在无标记数据上训练它们,生成模型能够用于无监督学习。一旦模型经过训练,就能够用来生成新的数据。而后这些生成的数据能够由人类或其余机器学习算法进行标记。这个过程能够反复,直到生成模型学会生成数据,就像想要的输入。
9、随机森林是一种机器学习算法,可用于监督和无监督学习[9]
对于无监督学习,随机森林能够找到一组类似的条目,辨认异样值,并压缩数据[9]。
对于监督和无监督工作随机森林已被证实优于其余风行的机器学习算法(如反对向量机)[9]。随机森林是无监督学习的一个弱小工具,因为它们能够解决具备许多特色的高维数据。它们也抵制过拟合,这意味着它们能够很好地推广到新数据。
10、DBSCAN 是一种基于密度的聚类算法,可用于无监督学习
它基于密度,即每个区域的点的数量。如果 DBSCAN 的组内的点很凑近,则将它们指向一个组,如果点相距较远的点则会疏忽。与其余聚类算法相比,DBSCAN 具备一些劣势。它能够找到不同大小和形态的簇,并且不须要用户预先指定簇的数量[23] [28]。此外,DBSCAN 对异样值不敏感,这意味着它能够用来找到其余数据集没有很好地示意的数据。然而 DBSCAN 也有一些毛病。例如,它可能很难在噪声很大的数据集中找到良好的簇。另外就是 DBSCAN 须要一个密度阈值,这可能不适用于所有数据集[23]。
11、Apriori 算法用于查找关联、频繁项集和程序模式 [24]
Apriori 算法是第一个关联规定开掘算法,也是最经典的算法。它·的工作原理是首先找到数据中的所有频繁项集,而后应用这些项集生成规定。
Apriori 算法的实现形式有很多种,能够针对不同的需要进行定制。例如,能够管制反对度和置信度阈值以找到不同类型的规定 [24]。
12、Eclat 算法从事务数据库中开掘频繁我的项目集,可用于购物车剖析、入侵检测和文本开掘[25]
Eclat 算法是一种深度优先算法, 采纳垂直数据表示模式, 在概念格实践的根底上利用基于前缀的等价关系将搜寻空间 (概念格) 划分为较小的子空间(子概念格)。
以上就是无监督学习中罕用的算法,如果你对他们感兴趣,请具体查看上面的援用(很长,倡议之查看感兴趣的)
https://avoid.overfit.cn/post/9d754c298efe4db5806649c897740825
作者:Anil Tilbe