更改

跳到导航 跳到搜索
无编辑摘要
第8行: 第8行:  
* '''分裂聚类 Divisive''': 这是一种“自上而下”的方法:所有的被观察数据都从一个簇类集群中开始,当一个簇类向下移动时,整个观察组数据群会递归地执行分割。
 
* '''分裂聚类 Divisive''': 这是一种“自上而下”的方法:所有的被观察数据都从一个簇类集群中开始,当一个簇类向下移动时,整个观察组数据群会递归地执行分割。
   −
In general, the merges and splits are determined in a [[greedy algorithm|greedy]] manner. The results of hierarchical clustering[2] are usually presented in a dendrogram.
     −
一般来说,合并和分裂是以使用者希望的方式决定的。而层次聚类的结果 <ref>{{cite book | author=Frank Nielsen | title=Introduction to HPC with MPI for Data Science |  year=2016 | publisher=Springer |chapter=Chapter 8: Hierarchical Clustering | url=https://www.springer.com/gp/book/9783319219028 |chapter-url=https://www.researchgate.net/publication/314700681 }}</ref> 通常在树状图中呈现。
+
一般来说,合并和分裂是基于'''[[贪心算法 greedy algorithm]]'''决定的。层次聚类的结果 <ref>{{cite book | author=Frank Nielsen | title=Introduction to HPC with MPI for Data Science |  year=2016 | publisher=Springer |chapter=Chapter 8: Hierarchical Clustering | url=https://www.springer.com/gp/book/9783319219028 |chapter-url=https://www.researchgate.net/publication/314700681 }}</ref> 通常在树状图中呈现。
      −
'''层次凝聚聚类 Hierarchical agglomerative clustering(HAC)'''的标准算法的[[时间复杂度]]为<math>\mathcal{O}(n^3)</math> ,并且需要 <math>\mathcal{O}(n^2)</math> 占用内存,这使得它对于中等数据集来说效率太低了。然而,对于某些特殊情况,已知的最有效凝聚方法(复杂度 <math>\mathcal{O}(n^2)</math>)是: SLINK 用于单连接<ref name="SLINK">{{cite journal | author=R. Sibson | title=SLINK: an optimally efficient algorithm for the single-link cluster method | journal=The Computer Journal | volume=16 | issue=1 | pages=30–34 | year=1973 | publisher=British Computer Society | url=http://www.cs.gsu.edu/~wkim/index_files/papers/sibson.pdf | doi=10.1093/comjnl/16.1.30}}</ref> for [[Single-linkage clustering|single-linkage]], CLINK用于完全连接<ref name="CLINK">{{cite journal | author=D. Defays | title=An efficient algorithm for a complete-link method | journal=The Computer Journal | volume=20 | issue=4 | pages=364–366 | year=1977 | publisher=British Computer Society | url=http://comjnl.oxfordjournals.org/content/20/4/364.abstract | doi=10.1093/comjnl/20.4.364| doi-access=free }}</ref>[[complete-linkage clustering]]。一般情况下的运行时可以缩减为 <math>\mathcal{O}(n^2 \log n)</math> ,代价是进一步增加内存需求。在多数情况下,这种方法的内存消耗太大,并不实用。
+
'''层次凝聚聚类 Hierarchical agglomerative clustering(HAC)'''标准算法的[[时间复杂度]]为<math>\mathcal{O}(n^3)</math> ,并且需要 <math>\mathcal{O}(n^2)</math> 占用内存,这使得它对于中等数据集来说效率太低了。然而,对于某些特殊情况,已知的最有效凝聚方法(复杂度 <math>\mathcal{O}(n^2)</math>)是: SLINK 用于[[单连接聚类 Single-linkage clustering]]<ref name="SLINK">{{cite journal | author=R. Sibson | title=SLINK: an optimally efficient algorithm for the single-link cluster method | journal=The Computer Journal | volume=16 | issue=1 | pages=30–34 | year=1973 | publisher=British Computer Society | url=http://www.cs.gsu.edu/~wkim/index_files/papers/sibson.pdf | doi=10.1093/comjnl/16.1.30}}</ref>, CLINK用于[[完全连接 complete-linkage clustering]]<ref name="CLINK">{{cite journal | author=D. Defays | title=An efficient algorithm for a complete-link method | journal=The Computer Journal | volume=20 | issue=4 | pages=364–366 | year=1977 | publisher=British Computer Society | url=http://comjnl.oxfordjournals.org/content/20/4/364.abstract | doi=10.1093/comjnl/20.4.364| doi-access=free }}</ref>。一般情况下的运行时可以缩减为<math>\mathcal{O}(n^2 \log n)</math> ,代价是进一步增加内存需求。在多数情况下,这种方法的内存消耗太大,并不实用。
      −
Except for the special case of single-linkage, none of the algorithms (except exhaustive search in <math>\mathcal{O}(2^n)</math>) can be guaranteed to find the optimum solution.
+
除了单连接的特殊情况外,所有算法(除了时间复杂度为<math>\mathcal{O}(2^n)</math>的'''<font color="#ff8000">全局搜索 exhaustive search</font>''')都不能保证找到最优解。
   −
除了单连接的特殊情况外,所有算法(除了<math>\mathcal{O}(2^n)</math>数学中的穷举搜索)都不能保证找到最优解。
  −
  −
  −
Divisive clustering with an exhaustive search is <math>\mathcal{O}(2^n)</math>, but it is common to use faster heuristics to choose splits, such as k-means.
  −
  −
穷举搜索的分裂群集是 <math>\mathcal{O}(2^n)</math>,但是通常使用运算速度更快的探索法来选择分裂,比如[[k-means]]。
      +
分裂聚类全局搜索的时间复杂度为<math>\mathcal{O}(2^n)</math>,但通常使用更快的'''<font color="#ff8000">启发式 heuristics</font>'''来选择分裂,比如[[k-means]]。
    +
<br>
 
==簇异性 Cluster dissimilarity==
 
==簇异性 Cluster dissimilarity==
   −
In order to decide which clusters should be combined (for agglomerative), or where a cluster should be split (for divisive), a measure of dissimilarity between sets of observations is required. In most methods of hierarchical clustering, this is achieved by use of an appropriate [[metric (mathematics)|metric]] (a measure of [[distance]] between pairs of observations), and a linkage criterion which specifies the dissimilarity of sets as a function of the pairwise distances of observations in the sets.
+
为了决定哪些簇应该被组合起来(用于聚合) ,或者哪些簇应该被分离(用于分裂) ,测量簇之间的'''<font color="#ff8000">相异度 dissimilarity</font>'''。在大多数层次聚类方法中,这是通过使用适当的[[度量 metric]](对两个簇之间的距离度量)和连接准则来实现的。连接标准决定了两个簇之间的距离函数。
 
  −
In order to decide which clusters should be combined (for agglomerative), or where a cluster should be split (for divisive), a measure of dissimilarity between sets of observations is required. In most methods of hierarchical clustering, this is achieved by use of an appropriate metric (a measure of distance between pairs of observations), and a linkage criterion which specifies the dissimilarity of sets as a function of the pairwise distances of observations in the sets.
  −
 
  −
为了决定哪些集群应该被组合起来(用于聚合) ,或者哪些集群应该被分离(用于分裂) ,需要在观察组之间进行不同程度的度量。在大多数层次聚类方法中,这是通过使用适当的度量(对观测值之间的距离度量)和联系准则来实现的,联系准则将集合的不同指定为观测值在集合中的成对距离的函数。
  −
 
  −
 
      +
<br>
 
===度量标准 Metric===
 
===度量标准 Metric===
 
''更多信息请查看[[度量标准 Metric]]''
 
''更多信息请查看[[度量标准 Metric]]''
   −
The choice of an appropriate metric will influence the shape of the clusters, as some elements may be close to one another according to one distance and farther away according to another. For example, in a 2-dimensional space, the distance between the point (1,0) and the origin (0,0) is always 1 according to the usual norms, but the distance between the point (1,1) and the origin (0,0) can be 2 under Manhattan distance, <math>\scriptstyle\sqrt{2}</math> under Euclidean distance, or 1 under maximum distance.
+
度量方式的选择将影响数据簇类的形状,因为某些元素依据一个距离可能彼此接近,而依据另一个距离可能彼此远离。例如,在一个二维空间中,点(1,0)和原点(0,0)之间的距离通常是1,但是点(1,1)和原点(0,0)之间的距离在曼哈顿距离下可以是2,在欧几里得度量下可以是 <math>\scriptstyle\sqrt{2}</math>,在最大距离下可以是1。
 
  −
度量方式的选择将影响数据簇类的形状,因为某些元素依据一个距离可能彼此接近,而依据另一个距离可能彼此远离。例如,在一个二维空间中,点(1,0)和原点(0,0)之间的距离通常是1,但是点(1,1)和原点(0,0)之间的距离在曼哈顿距离下可以是2,在欧几里得度量下可以是1,在最大距离下可以是1。
        −
一些常用的'''<font color="#ff8000"> 层次聚类 Hierarchical clustering</font>'''指标如下:<ref>{{cite web | title=The DISTANCE Procedure: Proximity Measures | url=https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/statug_distance_sect016.htm | work=SAS/STAT 9.2 Users Guide | publisher= [[SAS Institute]] | date= | accessdate=2009-04-26}}</ref>
+
一些常用的指标如下:<ref>{{cite web | title=The DISTANCE Procedure: Proximity Measures | url=https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/statug_distance_sect016.htm | work=SAS/STAT 9.2 Users Guide | publisher= SAS Institute | date= | accessdate=2009-04-26}}</ref>
    
{|class="wikitable"
 
{|class="wikitable"
第66行: 第54行:  
|-
 
|-
 
|}
 
|}
For text or other non-numeric data, metrics such as the [[Hamming distance]] or [[Levenshtein distance]] are often used.
  −
  −
For text or other non-numeric data, metrics such as the Hamming distance or Levenshtein distance are often used.
      
对于文本文字或其他非数字数据,常常使用[[汉明距离 Hamming distance]]或[[编辑距离 Levenshtein distance]]等度量标准。
 
对于文本文字或其他非数字数据,常常使用[[汉明距离 Hamming distance]]或[[编辑距离 Levenshtein distance]]等度量标准。
       +
通过对数据聚类健康心理学研究的回顾发现,在该研究领域已发表的研究中,最常见的距离测量方法是欧氏距离或平方欧氏距离。{{Citation needed|date=April 2009}}
   −
A review of cluster analysis in health psychology research found that the most common distance measure in published studies in that research area is the Euclidean distance or the squared Euclidean distance.
  −
  −
通过对数据聚类健康心理学研究的回顾发现,在该研究领域已发表的研究中,最常见的距离测量方法是欧几里得度量距离或欧几里得度量距离的平方。{{Citation needed|date=April 2009}}
  −
  −
  −
  −
=== Linkage criteria 连接准则===
  −
  −
The linkage criterion determines the distance between sets of observations as a function of the pairwise distances between observations.
     −
链接准则决定了观测值之间的距离,它是观测值之间成对距离的函数。
      +
=== 连接准则 Linkage criteria===
    +
连接标准决定了集合内簇之间的距离作为两个簇之间距离的函数
    
Some commonly used linkage criteria between two sets of observations ''A'' and ''B'' are:
 
Some commonly used linkage criteria between two sets of observations ''A'' and ''B'' are:
   −
两组观测值''A''''B''之间一些常用的连接标准如下:<ref>{{cite web | title=The CLUSTER Procedure: Clustering Methods | url=https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/statug_cluster_sect012.htm | work=SAS/STAT 9.2 Users Guide | publisher= [[SAS Institute]] | date= | accessdate=2009-04-26}}</ref><ref>{{cite journal |last=Székely |first=G. J. |last2=Rizzo |first2=M. L. |year=2005 |title=Hierarchical clustering via Joint Between-Within Distances: Extending Ward's Minimum Variance Method |journal=Journal of Classification |volume=22 |issue=2 |pages=151–183 |doi=10.1007/s00357-005-0012-9 }}</ref>
+
''A''和簇''B''之间一些常用的连接标准如下:<ref>{{cite web | title=The CLUSTER Procedure: Clustering Methods |url=https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/statug_cluster_sect012.htm | work=SAS/STAT 9.2 Users Guide | publisher= [[SAS Institute]] | date= | accessdate=2009-04-26}}</ref><ref>{{cite journal |last=Székely |first=G. J. |last2=Rizzo |first2=M. L. |year=2005 |title=Hierarchical clustering via Joint Between-Within Distances: Extending Ward's Minimum Variance Method |journal=Journal of Classification |volume=22 |issue=2 |pages=151–183 |doi=10.1007/s00357-005-0012-9 }}</ref>
    
{|class="wikitable"
 
{|class="wikitable"
第102行: 第80行:  
| <math> \min \, \{\, d(a,b) : a \in A,\, b \in B \,\}</math>
 
| <math> \min \, \{\, d(a,b) : a \in A,\, b \in B \,\}</math>
 
|-
 
|-
| 未加权平均链接聚类 Unweighted average linkage clustering (or [[UPGMA]])
+
| 未加权平均连接聚类 Unweighted average linkage clustering (或[[UPGMA]]
 
| <math> \frac{1}{|A|\cdot|B|} \sum_{a \in A }\sum_{ b \in B} d(a,b)</math>
 
| <math> \frac{1}{|A|\cdot|B|} \sum_{a \in A }\sum_{ b \in B} d(a,b)</math>
 
|-
 
|-
| 加权平均数链接聚类 Weighted average linkage clustering (or [[WPGMA]])
+
| 加权平均数连接聚类 Weighted average linkage clustering (或[[WPGMA]]
 
| <math> d(i \cup j, k) = \frac{d(i, k) + d(j, k)}{2}
 
| <math> d(i \cup j, k) = \frac{d(i, k) + d(j, k)}{2}
 
|-
 
|-
| 质心链接集群 Centroid linkage clustering, or UPGMC
+
| 质心连接集群 Centroid linkage clustering (或UPGMC)
 
| <math> \|c_s - c_t \| </math> where <math>c_s</math> and <math>c_t</math> 分别是 ''s''类和 ''t''类的中心.
 
| <math> \|c_s - c_t \| </math> where <math>c_s</math> and <math>c_t</math> 分别是 ''s''类和 ''t''类的中心.
 
|-
 
|-
第117行: 第95行:  
其中 ''d'' 是选定的度量单位。其他连接准则包括:
 
其中 ''d'' 是选定的度量单位。其他连接准则包括:
   −
* The sum of all intra-cluster variance.所有簇内方差之和。
+
* 簇内方差之和。
   −
* The increase in variance for the cluster being merged 合并中的簇的方差相加([[Ward标准]])<ref name="wards method">{{cite journal|doi=10.2307/2282967|last=Ward |first=Joe H. |title=Hierarchical Grouping to Optimize an Objective Function |journal=Journal of the American Statistical Association |volume=58 |issue=301 |year=1963 |pages=236–244}}</ref>.
+
* 被合并的簇的方差增量([[Ward标准]])<ref name="wards method">{{cite journal|doi=10.2307/2282967|last=Ward |first=Joe H. |title=Hierarchical Grouping to Optimize an Objective Function |journal=Journal of the American Statistical Association |volume=58 |issue=301 |year=1963 |pages=236–244}}</ref>.
   −
* The probability that candidate clusters spawn from the same distribution function (V-linkage).候选数据群从同一分布函数(V-连锁)中产生的概率。
+
* 候选簇从同一分布函数(V-连接 V-linkage)衍生的概率。
   −
* The product of in-degree and out-degree on a k-nearest-neighbour graph (graph degree linkage).k-最近邻图(图度连锁)上的入度与出度的乘积<ref>{{Cite journal|last=Zhang|first=Wei|last2=Wang|first2=Xiaogang|last3=Zhao|first3=Deli|last4=Tang|first4=Xiaoou|date=2012|editor-last=Fitzgibbon|editor-first=Andrew|editor2-last=Lazebnik|editor2-first=Svetlana|editor3-last=Perona|editor3-first=Pietro|editor4-last=Sato|editor4-first=Yoichi|editor5-last=Schmid|editor5-first=Cordelia|title=Graph Degree Linkage: Agglomerative Clustering on a Directed Graph|journal=Computer Vision – ECCV 2012|series=Lecture Notes in Computer Science|language=en|publisher=Springer Berlin Heidelberg|volume=7572|pages=428–441|doi=10.1007/978-3-642-33718-5_31|isbn=9783642337185|arxiv=1208.5092|bibcode=2012arXiv1208.5092Z}} See also: https://github.com/waynezhanghk/gacluster</ref>
+
* [[k-最近邻  k-nearest-neighbour]]图 (KNN,图度连接)上的入度与出度的乘积<ref>{{Cite journal|last=Zhang|first=Wei|last2=Wang|first2=Xiaogang|last3=Zhao|first3=Deli|last4=Tang|first4=Xiaoou|date=2012|editor-last=Fitzgibbon|editor-first=Andrew|editor2-last=Lazebnik|editor2-first=Svetlana|editor3-last=Perona|editor3-first=Pietro|editor4-last=Sato|editor4-first=Yoichi|editor5-last=Schmid|editor5-first=Cordelia|title=Graph Degree Linkage: Agglomerative Clustering on a Directed Graph|journal=Computer Vision – ECCV 2012|series=Lecture Notes in Computer Science|language=en|publisher=Springer Berlin Heidelberg|volume=7572|pages=428–441|doi=10.1007/978-3-642-33718-5_31|isbn=9783642337185|arxiv=1208.5092|bibcode=2012arXiv1208.5092Z}} 见: https://github.com/waynezhanghk/gacluster</ref>
   −
* The increment of some cluster descriptor (i.e., a quantity defined for measuring the quality of a cluster) after merging two clusters.在合并了两个数据群之后,某个群的定义符号(即为度量一个簇的质量而定义的一个量)的增量。<ref>Zhang, et al. "Agglomerative clustering via maximum incremental path integral." Pattern Recognition (2013).</ref><ref>Zhao, and Tang. "Cyclizing clusters via zeta function of a graph."Advances in Neural Information Processing Systems. 2008.</ref><ref>Ma, et al. "Segmentation of multivariate mixed data via lossy data coding and compression." IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(9) (2007): 1546-1562.</ref>
+
* 在合并了两个簇之后,某个簇的定义符号(即为度量一个簇的质量而定义的一个量)的增量。<ref>Zhang, et al. "Agglomerative clustering via maximum incremental path integral." Pattern Recognition (2013).</ref><ref>Zhao, and Tang. "Cyclizing clusters via zeta function of a graph."Advances in Neural Information Processing Systems. 2008.</ref><ref>Ma, et al. "Segmentation of multivariate mixed data via lossy data coding and compression." IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(9) (2007): 1546-1562.</ref>
      第134行: 第112行:       −
== Agglomerative clustering example 凝聚聚类实例==
+
==凝聚聚类实例==
    
[[Image:Clusters.svg|frame|none|原始数据]]
 
[[Image:Clusters.svg|frame|none|原始数据]]
第140行: 第118行:  
例如,假设要对这些数据进行聚类,将欧式距离作为度量。系统聚类[[树状图]]如下:
 
例如,假设要对这些数据进行聚类,将欧式距离作为度量。系统聚类[[树状图]]如下:
    +
[[Image:Hierarchical clustering simple diagram.svg|frame|none|传统展现法]]
   −
  −
[[Image:Hierarchical clustering simple diagram.svg|frame|none|传统展现法]]
      
Cutting the tree at a given height will give a partitioning clustering at a selected precision. In this example, cutting after the second row (from the top) of the [[dendrogram]] will yield clusters {a} {b c} {d e} {f}. Cutting after the third row will yield clusters {a} {b c} {d e f}, which is a coarser clustering, with a smaller number but larger clusters.
 
Cutting the tree at a given height will give a partitioning clustering at a selected precision. In this example, cutting after the second row (from the top) of the [[dendrogram]] will yield clusters {a} {b c} {d e} {f}. Cutting after the third row will yield clusters {a} {b c} {d e f}, which is a coarser clustering, with a smaller number but larger clusters.
在给定的高度切割树状图中,将以选定的精度提供分区聚类。在这个示例中,在树状图的第二行(从顶部开始)之后切割将产生类别{a} {b c} {d e} {f}。在第三行之后进行切割将产生类别{a} {b c} {d e f} ,这是一个较为粗略的但元素更繁多的类别,然而它的数量也较小。
+
在给定的高度切割树状图中,将以选定的精度提供分区聚类。在这个示例中,在树状图的第二行(从顶部开始)之后切割将产生类别{a} {b c} {d e} {f}。在第三行之后进行切割将产生类别{a} {b c} {d e f},这是一个较为粗略的聚类,其数量少但簇群较大。
 
  −
 
  −
 
  −
This method builds the hierarchy from the individual elements by progressively merging clusters. In our example, we have six elements {a} {b} {c} {d} {e} and {f}. The first step is to determine which elements to merge in a cluster. Usually, we want to take the two closest elements, according to the chosen distance.
  −
 
  −
此方法通过逐步合并集群,从单个元素构建层次结构。在我们的示例中,有六个元素{a} {b} {c} {d} {e}和{f}。第一步是确定在集群中合并哪些元素。通常,我们希望根据选定的距离获取两个最接近的元素。
  −
 
  −
 
     −
Optionally, one can also construct a [[distance matrix]] at this stage, where the number in the ''i''-th row ''j''-th column is the distance between the ''i''-th and ''j''-th elements. Then, as clustering progresses, rows and columns are merged as the clusters are merged and the distances updated. This is a common way to implement this type of clustering, and has the benefit of caching distances between clusters. A simple agglomerative clustering algorithm is described in the [[single-linkage clustering]] page; it can easily be adapted to different types of linkage (see below).
     −
还可以选择在这个阶段构造一个[[距离矩阵]],其中第i行第j列中的数字是 ''i''''j'',即为两个元素之间的距离。然后,随着集群的进展,在合并集群和更新距离时合并行和列。这是实现此类集群的常用方法,并且具有缓存集群之间的距离的优点。在单链接聚类页面中描述了一个简单的凝聚聚类算法; 它适用于很多连接(见下文)。
+
此方法通过逐步合并簇,从单个元素构建层次结构。在我们的示例中,有六个元素{a} {b} {c} {d} {e}{f}。第一步是确定在集群中合并哪些元素。通常,我们希望根据选定的距离获取两个最接近的元素。
      −
Suppose we have merged the two closest elements b and c, we now have the following clusters {a}, {b, c}, {d}, {e} and {f}, and want to merge them further. To do that, we need to take the distance between {a} and {b c}, and therefore define the distance between two clusters.
+
还可以选择在这个阶段构造一个[[距离矩阵 distance matrix]],其中第''i''行第''j''列中的数字是 ''i''和''j'',即为两个元素之间的距离。然后,随着聚类过程的推进,行和列随着聚类的合并和距离的更新而合并。这是实现这类聚类的常用方法,并且具有缓存簇之间的距离的优点。在[[单连接聚类 single-linkage clustering]]页面中描述了一个简单的凝聚聚类算法; 它适用于很多连接(见下文)。
   −
假设我们已经合并了两个最接近的元素 ''b'' 和''c'',现在我们有以下集群{''a''}, {''b'', ''c''}, {''d''}, {''e''} 和{''f''} ,并希望进一步合并它们。为此,我们需要计算 {a} 和 {b c}之间的距离,从而定义两个集群之间的距离。
     −
Usually the distance between two clusters <math>\mathcal{A}</math> and <math>\mathcal{B}</math> is one of the following:
+
假设我们已经合并了两个最接近的元素 ''b'' 和''c'',现在我们有以下簇{''a''}, {''b'', ''c''}, {''d''}, {''e''} 和{''f''} ,并希望进一步合并它们。为此,我们需要计算{a} 和 {b c}之间的距离,从而定义两个簇之间的距离。
   −
Usually the distance between two clusters <math>\mathcal{A}</math> and <math>\mathcal{B}</math> is one of the following:
     −
通常情况下,两个类别<math>\mathcal{A}</math>和 <math>\mathcal{B}</math>之间的距离是下列数字之一:  
+
通常情况下的簇<math>\mathcal{A}</math>和 <math>\mathcal{B}</math>之间距离如下:  
   −
* The maximum distance between elements of each cluster (also called [[complete-linkage clustering]]):
+
* 每个簇内元素之间的最大距离(又名[[完全连接聚类 complete-linkage clustering]])
*每个集群元素之间的最大距离(又名[[完全链路集]])
   
::<math> \max \{\, d(x,y) : x \in \mathcal{A},\, y \in \mathcal{B}\,\}. </math>
 
::<math> \max \{\, d(x,y) : x \in \mathcal{A},\, y \in \mathcal{B}\,\}. </math>
      −
* The minimum distance between elements of each cluster (also called [[single-linkage clustering]]):
+
* 每个簇内的元素之间的最小距离(也称为[[单连接聚类 single-linkage clustering]]):
*每个集群的元素之间的最小距离(也称为[[单个链路集]]):
   
::<math> \min \{\, d(x,y) : x \in \mathcal{A},\, y \in \mathcal{B} \,\}. </math>
 
::<math> \min \{\, d(x,y) : x \in \mathcal{A},\, y \in \mathcal{B} \,\}. </math>
      −
* The mean distance between elements of each cluster (also called average linkage clustering, used e.g. in [[UPGMA]]):
+
* 每个簇元素之间的平均距离(也称为平均连接聚类,[[UPGMA]]):
*每个簇元素之间的平均距离(也称为平均链路集):
   
::<math> {1 \over {|\mathcal{A}|\cdot|\mathcal{B}|}}\sum_{x \in \mathcal{A}}\sum_{ y \in \mathcal{B}} d(x,y). </math>
 
::<math> {1 \over {|\mathcal{A}|\cdot|\mathcal{B}|}}\sum_{x \in \mathcal{A}}\sum_{ y \in \mathcal{B}} d(x,y). </math>
      −
* The sum of all intra-cluster variance.
+
* 所有簇内元素方差之和。
*所有集群内方差之和。
     −
* The increase in variance for the cluster being merged ([[Ward's method]]<ref name="wards method"/>)
  −
*合并的聚类的方差增加([[离差平方和法]]<ref name="离差平方和法"/>)。
     −
* The probability that candidate clusters spawn from the same distribution function (V-linkage).
+
* 被合并的簇的方差增量([[Ward标准]])<ref name="wards method"/>)
*候选集群从相同的分布函数中产生的概率(V—链路)。
        −
In case of tied minimum distances, a pair is randomly chosen, thus being able to generate several structurally different dendrograms. Alternatively, all tied pairs may be joined at the same time, generating a unique dendrogram.
+
* 候选簇从同一分布函数(V-连接 V-linkage)衍生的概率。
   −
在系结最小距离的情况下,一对元素是随机选择的,因此能够产生几个结构不同的树状图。或者,所有的绑定对可以在同一时间结合,产生一个唯一的树状图。<ref>{{cite journal | doi=10.1007/s00357-008-9004-x | last1=Fernández | first1=Alberto | last2=Gómez | first2=Sergio | title=Solving Non-uniqueness in Agglomerative Hierarchical Clustering Using Multidendrograms | journal=Journal of Classification | volume=25 | year=2008 | issue=1 | pages=43&ndash;65| arxiv=cs/0608049 }}</ref>
      +
在采用最小距离的情况下,随机选择一对元素,从而能够生成几个结构上不同的树状图。或者,同时连接所有绑定对,生成唯一的树状图。<ref>{{cite journal | doi=10.1007/s00357-008-9004-x | last1=Fernández | first1=Alberto | last2=Gómez | first2=Sergio | title=Solving Non-uniqueness in Agglomerative Hierarchical Clustering Using Multidendrograms | journal=Journal of Classification | volume=25 | year=2008 | issue=1 | pages=43&ndash;65| arxiv=cs/0608049 }}</ref>
       +
当簇数足够少时,人们可以停止聚类过程。有些联系也可能保证聚集发生在比先前聚集更大的聚集距离上,直到当聚集距离太远无法合并时可以停止聚集(距离标准)。然而也有例外,如采用质心连接,可能会发生逆转(反转 inversions,偏离超节拍 departures from ultrametricity)<ref>{{Cite book | last1= Legendre | first1 =  P. | first2 =  L. | last2=Legendre | title= Numerical Ecology | publisher=Elsevier Science BV | date=2003}}</ref>。
   −
One can always decide to stop clustering when there is a sufficiently small number of clusters (number criterion). Some linkages may also guarantee that agglomeration occurs at a greater distance between clusters than the previous agglomeration, and then one can stop clustering when the clusters are too far apart to be merged (distance criterion). However, this is not the case of, e.g., the centroid linkage where the so-called reversal (inversions, departures from ultrametricity) may occur.
     −
当有一个足够少的群集(数目标准)时,人们总是可以决定停止聚合。有些联系还可能保证集群之间的距离大于以前的集群,然后当集群之间的距离太远而无法合并时,就可以停止集群。然而,也有例外,如在质心链接的情况下,所谓的逆转(反转,偏离超节拍)就可能发生<ref>{{Cite book | last1= Legendre | first1 = P. | first2 = L. | last2=Legendre | title= Numerical Ecology | publisher=Elsevier Science BV | date=2003}}</ref>。
+
== 分裂聚类 Divisive clustering ==
    +
分裂聚类的基本原理被公布为'''分裂分析聚类 DIvisive ANAlysis Clustering''',(DIANA)算法<ref>Kaufman, L., & Roussew, P. J. (1990). Finding Groups in Data - An Introduction to Cluster Analysis. A Wiley-Science Publication John Wiley & Sons.</ref>。最初,所有数据都位于同一个集群中,然后最大的集群被拆分,依此类推,直到每个元素都是独立的。
   −
== Divisive clustering分裂聚类 ==
+
由于每个聚类存在<math>O(2^n)</math>种划分方法,所以需要启发式算法。DIANA 选择平均相异度最大的对象,然后将所有对象移动到与新集群更相似的集群中。
       +
==软件==
 +
===开源工具===
   −
The basic principle of divisive clustering was published as the DIANA (DIvisive ANAlysis Clustering) algorithm. Initially, all data is in the same cluster, and the largest cluster is split until every object is separate.
+
[[File:Iris dendrogram.png|thumb|层次聚类[[鸢尾花数据集]]的树状图(使用R语言) [https://cran.r-project.org/web/packages/dendextend/vignettes/Cluster_Analysis.html Source] ]]
   −
分裂聚类的基本原理被公布为 DIANA (分裂分析聚类)算法<ref>Kaufman, L., & Roussew, P. J. (1990). Finding Groups in Data - An Introduction to Cluster Analysis. A Wiley-Science Publication John Wiley & Sons.</ref>。最初,所有数据都位于同一个集群中,然后最大的集群被拆分,依此类推,直到每个元素都是独立的。
+
[[File:Orange-data-mining-hierarchical-clustering.png|thumb|[[Orange]]数据挖掘套件中的分层聚类和交互式树形图可视化]]
 
  −
Because there exist <math>O(2^n)</math> ways of splitting each cluster, heuristics are needed. DIANA chooses the object with the maximum average dissimilarity and then moves all objects to this cluster that are more similar to the new cluster than to the remainder.
  −
 
  −
因为存在拆分每个集群的步骤是<math>O(2^n)</math>,所以需要探索试算法。DIANA 选择平均差异最大的对象,然后将所有与新集群相似的对象移动到这个集群中取代移动到其余的对象的方法。
  −
 
  −
 
  −
== Software 软件==
  −
=== Open source implementations 开源工具===
  −
 
  −
[[File:Iris dendrogram.png|thumb|Hierarchical clustering [[dendrogram]] of the [[Iris flower data set|Iris dataset]] (using |R]]).层次聚类[[鸢尾花数据集]]的树状图(使用R语言) [https://cran.r-project.org/web/packages/dendextend/vignettes/Cluster_Analysis.html Source] ]]
  −
 
  −
 
  −
[[File:Orange-data-mining-hierarchical-clustering.png|thumb|Hierarchical clustering and interactive dendrogram visualization in [[Orange (software)|Orange data mining suite]].]]
         
* [[ALGLIB]] implements several hierarchical clustering algorithms (single-link, complete-link, Ward) in C++ and C# with O(n²) memory and O(n³) run time.
 
* [[ALGLIB]] implements several hierarchical clustering algorithms (single-link, complete-link, Ward) in C++ and C# with O(n²) memory and O(n³) run time.
* [[ALGLIB]]在C++ 和 C# 上以O() 的内存和O()的运行时间实现了几个层次聚类算法(单链接,完整链接,均值)。
+
* [[ALGLIB]]在C++ 和 C# 上以 <math>\mathcal{O}(2^n)</math> 的内存和 <math>\mathcal{O}(3^n)</math>的运行时间实现了几个层次聚类算法(单链接,完整链接,均值)。
 
* [[ELKI]] includes multiple hierarchical clustering algorithms, various linkage strategies and also includes the efficient SLINK,<ref name="SLINK" /> CLINK<ref name="CLINK" /> and Anderberg algorithms, flexible cluster extraction from dendrograms and various other [[cluster analysis]] algorithms.
 
* [[ELKI]] includes multiple hierarchical clustering algorithms, various linkage strategies and also includes the efficient SLINK,<ref name="SLINK" /> CLINK<ref name="CLINK" /> and Anderberg algorithms, flexible cluster extraction from dendrograms and various other [[cluster analysis]] algorithms.
 
* [[ELKI]]包括多种层次聚类算法,各种链接策略,同时包括高效运行,<ref name="SLINK" /> CLINK<ref name="CLINK" /> 安德伯格算法,从树状图和其他各种[[聚类分析]]算法中进行灵活的聚类提取。
 
* [[ELKI]]包括多种层次聚类算法,各种链接策略,同时包括高效运行,<ref name="SLINK" /> CLINK<ref name="CLINK" /> 安德伯格算法,从树状图和其他各种[[聚类分析]]算法中进行灵活的聚类提取。
第246行: 第195行:  
* [[Weka (machine learning)|Weka]] 包括层次聚类分析。
 
* [[Weka (machine learning)|Weka]] 包括层次聚类分析。
   −
=== Commercial implementations 商业实践===
+
=== 收费软件 ===
   −
* [[MathWorks|MATLAB]] includes hierarchical cluster analysis.
   
* [[MathWorks|MATLAB]] 包括层次聚类分析。
 
* [[MathWorks|MATLAB]] 包括层次聚类分析。
* [[SAS System|SAS]] includes hierarchical cluster analysis in PROC CLUSTER.
+
* [[SAS System|SAS]] PROC CLUSTER中包括层次聚类分析。
 
* [[SAS System|SAS]]包括在群聚程序中进行层次聚类分析。
 
* [[SAS System|SAS]]包括在群聚程序中进行层次聚类分析。
* [[Mathematica]] includes a Hierarchical Clustering Package.
+
* [[Mathematica]] 包括层次聚类分析工具包。
*[[Mathematica]] 包括一组层次聚类分析工具包。
  −
* [[NCSS (statistical software)|NCSS]] includes hierarchical cluster analysis.
   
* [[NCSS (statistical software)|NCSS]] 包括层次聚类分析。
 
* [[NCSS (statistical software)|NCSS]] 包括层次聚类分析。
* [[SPSS]] includes hierarchical cluster analysis.
   
* [[SPSS]]包括层次聚类分析。
 
* [[SPSS]]包括层次聚类分析。
* [[Qlucore]] Omics Explorer includes hierarchical cluster analysis.
+
* [[Qlucore]]Omits 资源管理器包括层次聚类分析。
*[[Qlucore]]包括层次聚类分析的Omits 资源管理器。
  −
* [[Stata]] includes hierarchical cluster analysis.
   
* [[Stata]] 包括层次聚类分析。
 
* [[Stata]] 包括层次聚类分析。
* [[CrimeStat]] includes a nearest neighbor hierarchical cluster algorithm with a graphical output for a Geographic Information System.
+
* [[CrimeStat]] 包括一个能够为地理位置提供图形输出的最近邻层次聚类算法。
*[[CrimeStat]]包括一个能够为地理位置提供图形输出的最近邻层次聚类算法。
+
 
    
== 参见 ==
 
== 参见 ==
* [[Binary space partitioning]]
+
* [[二进制空间划分 Binary space partitioning]]
[[二进制空间划分]]
+
* [[层次包围盒 Bounding volume hierarchy]]
* [[Bounding volume hierarchy]]
+
* [[布朗群集 Brown clustering]]
[[层次包围盒]]
+
* [[遗传分类学 Cladistics]]
* [[Brown clustering]]
+
* [[聚类分析 Cluster analysis]]
[[布朗群集]]
+
* [[计算系统发生学 Computational phylogenetics]]
* [[Cladistics]]
+
* [[CURE数据聚类算法 CURE data clustering algorithm]]
[[遗传分类学]]
+
* [[Dasgupta的目标]]
* [[Cluster analysis]]
+
* [[树状图 Dendrogram]]
[[聚类分析]]
+
* [[确定数据集中的簇数 Determining the number of clusters in a data set]]
* [[Computational phylogenetics]]
+
* [[网络层次聚类 Hierarchical clustering of networks]]
[[计算系统发生学]]
+
* [[局部敏感哈希(LSH)方法 Locality-sensitive hashing]]
* [[CURE data clustering algorithm]]
+
* [[最近邻搜索 Nearest neighbor search]]
[[cure数据聚类算法]]
+
* [[最近邻链算法 Nearest-neighbor chain algorithm]]
* [[Dasgupta's objective]]
+
* [[数值分类法 Numerical taxonomy]]
[[达斯古塔的目标]]
+
* [[OPTICS算法 OPTICS algorithm]]
* [[Dendrogram]]
+
* [[统计距离 Statistical distance]]
[[系统树图]]
+
* [[持续同调 Persistent homology]]
* [[Determining the number of clusters in a data set]]
  −
[[确定数据集中的簇数]]
  −
* [[Hierarchical clustering of networks]]
  −
[[网络的层次聚类]]
  −
* [[Locality-sensitive hashing]]
  −
[[局部敏感哈希(LSH)方法]]
  −
* [[Nearest neighbor search]]
  −
[[最近邻搜索]]
  −
* [[Nearest-neighbor chain algorithm]]
  −
[[最近邻链算法]]
  −
* [[Numerical taxonomy]]
  −
[[数值分类法]]
  −
* [[OPTICS algorithm]]
  −
[[OPTICS算法]]
  −
* [[Statistical distance]]
  −
[[统计距离]]
  −
* [[Persistent homology]]
  −
[[持续同调]]
      
== 参考文献==
 
== 参考文献==
7,129

个编辑

导航菜单