Closed manifold: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
literature added
en>Brirush
mNo edit summary
 
Line 1: Line 1:
{{Machine learning bar}}
My name is Keisha and Ӏ am studying Dramatic Literature and History and Neսroscience at Digby / Australia.<br><br>Stop by my homepage; [http://playerforge.de/fermilinda58/blog/352715/ Fap turbo review – the small robot that could]
[[File:Cluster-2.svg|thumb|The result of a cluster analysis shown as the coloring of the squares into three clusters.]]
{{Refimprove section|date=May 2012}}
'''Cluster analysis''' or '''clustering''' is the task of grouping a set of objects in such a way that objects in the same group (called a '''cluster''') are more similar (in some sense or another) to each other than to those in other groups (clusters). It is a main task of exploratory [[data mining]], and a common technique for [[statistics|statistical]] [[data analysis]], used in many fields, including [[machine learning]], [[pattern recognition]], [[image analysis]], [[information retrieval]], and [[bioinformatics]].
 
Cluster analysis itself is not one specific [[algorithm]], but the general task to be solved. It can be achieved by various algorithms that differ significantly in their notion of what constitutes a cluster and how to efficiently find them. Popular notions of clusters include groups with small [[Distance function|distances]] among the cluster members, dense areas of the data space, intervals or particular [[statistical distribution]]s. Clustering can therefore be formulated as a [[multi-objective optimization]] problem. The appropriate clustering algorithm and parameter settings (including values such as the [[Metric (mathematics)|distance function]] to use, a density threshold or the number of expected clusters) depend on the individual data set and intended use of the results. Cluster analysis as such is not an automatic task, but an iterative process of [[knowledge discovery]] or interactive multi-objective optimization that involves trial and failure. It will often be necessary to modify data preprocessing and model parameters until the result achieves the desired properties.
 
Besides the term ''clustering'', there are a number of terms with similar meanings, including ''automatic [[Statistical classification|classification]]'', ''[[numerical taxonomy]]'', ''botryology'' (from Greek βότρυς "grape") and ''typological analysis''. The subtle differences are often in the usage of the results: while in data mining, the resulting groups are the matter of interest, in automatic classification the resulting discriminative power is of interest. This often leads to misunderstandings between researchers coming from the fields of data mining and machine learning, since they use the same terms and often the same algorithms, but have different goals.
 
Cluster analysis was originated in anthropology by Driver and Kroeber in 1932 and introduced to psychology by Zubin in 1938 and [[Robert Tryon]] in 1939<ref name="bailey">{{cite book | last = Bailey  | first = Ken | year = 1994 | title = Typologies and Taxonomies | chapter = Numerical Taxonomy and Cluster Analysis | page = 34 | isbn = 9780803952591}}</ref><ref>{{cite book | title = Cluster Analysis: Correlation Profile and Orthometric (factor) Analysis for the Isolation of Unities in Mind and Personality | first = Robert C. | last = Tryon | authorlink = Robert Tryon | publisher = Edwards Brothers | year = 1939}}</ref> and famously used by Cattell beginning in 1943<ref>Cattell, R. B. (1943). The description of personality: Basic traits resolved into clusters.  Journal of  Abnormal
and Social Psychology, 38, 476-506.</ref> for trait theory classification in personality psychology.
 
== Clusters and clusterings ==
 
According to Vladimir Estivill-Castro, the notion of a "cluster" cannot be precisely defined, which is one of the reasons why there are so many clustering algorithms.<ref name="estivill">{{cite journal | url=http://cs.nju.edu.cn/zhouzh/zhouzh.files/course/dm/reading/reading05/estivill-castro_sigkddexp02.pdf | title=Why so many clustering algorithms — A Position Paper | author=Estivill-Castro, Vladimir | journal=ACM SIGKDD Explorations Newsletter |date=20 June 200202 | volume= 4 | issue=1 | pages=65–75 | doi=10.1145/568574.568575}}</ref> There is a common denominator: a group of data objects. However, different researchers employ different cluster models, and for each of these cluster models again different algorithms can be given. The notion of a cluster, as found by different algorithms, varies significantly in its properties. Understanding these "cluster models" is key to understanding the differences between the various algorithms. Typical cluster models include:
* Connectivity models: for example [[hierarchical clustering]] builds models based on distance connectivity.
* Centroid models: for example the [[k-means algorithm]] represents each cluster by a single mean vector.
* Distribution models: clusters are modeled using statistical distributions, such as [[multivariate normal distribution]]s used by the [[Expectation-maximization algorithm]].
* Density models: for example [[DBSCAN]] and [[OPTICS]] defines clusters as connected dense regions in the data space.
* Subspace models: in [[Biclustering]] (also known as Co-clustering or two-mode-clustering), clusters are modeled with both cluster members and relevant attributes.
* Group models: some algorithms do not provide a refined model for their results and just provide the grouping information.
* Graph-based models: a [[Clique (graph theory)|clique]], i.e., a subset of nodes in a [[Graph (mathematics)|graph]] such that every two nodes in the subset are connected by an edge can be considered as a prototypical form of cluster. Relaxations of the complete connectivity requirement (a fraction of the edges can be missing) are known as quasi-cliques.
 
A "clustering" is essentially a set of such clusters, usually containing all objects in the data set. Additionally, it may specify the relationship of the clusters to each other, for example a hierarchy of clusters embedded in each other. Clusterings can be roughly distinguished as:
* hard clustering: each object belongs to a cluster or not
* soft clustering (also: [[fuzzy clustering]]): each object belongs to each cluster to a certain degree (e.g.&nbsp;a likelihood of belonging to the cluster)
There are also finer distinctions possible, for example:
* strict partitioning clustering: here each object belongs to exactly one cluster
* strict partitioning clustering with outliers: objects can also belong to no cluster, and are considered [[Anomaly detection|outlier]]s.
* overlapping clustering (also: alternative clustering, multi-view clustering): while usually a hard clustering, objects may belong to more than one cluster.
* hierarchical clustering: objects that belong to a child cluster also belong to the parent cluster
* [[subspace clustering]]: while an overlapping clustering, within a uniquely defined subspace, clusters are not expected to overlap.
 
== Clustering algorithms ==
 
Clustering algorithms can be categorized based on their cluster model, as listed above. The following overview will only list the most prominent examples of clustering algorithms, as there are possibly over 100 published clustering algorithms. Not all provide models for their clusters and can thus not easily be categorized. An overview of algorithms explained in Wikipedia can be found in the [[List of algorithms#Statistics|list of statistics algorithms]].
 
There is no objectively "correct" clustering algorithm, but as it was noted, "clustering is in the eye of the beholder."<ref name="estivill" /> The most appropriate clustering algorithm for a particular problem often needs to be chosen experimentally, unless there is a mathematical reason to prefer one cluster model over another. It should be noted that an algorithm that is designed for one kind of model has no chance on a data set that contains a radically different kind of model.<ref name="estivill" /> For example, k-means cannot find non-convex clusters.<ref name="estivill" />
 
===Connectivity based clustering (hierarchical clustering)===
{{Main|Hierarchical clustering}}
Connectivity based clustering, also known as ''[[hierarchical clustering]]'', is based on the core idea of objects being more related to nearby objects than to objects farther away. These algorithms connect "objects" to form "clusters" based on their distance. A cluster can be described largely by the maximum distance needed to connect parts of the cluster. At different distances, different clusters will form, which can be represented using a [[dendrogram]], which explains where the common name "hierarchical clustering" comes from: these algorithms do not provide a single partitioning of the data set, but instead provide an extensive hierarchy of clusters that merge with each other at certain distances. In a dendrogram, the y-axis marks the distance at which the clusters merge, while the objects are placed along the x-axis such that the clusters don't mix.
 
Connectivity based clustering is a whole family of methods that differ by the way distances are computed. Apart from the usual choice of [[distance function]]s, the user also needs to decide on the linkage criterion (since a cluster consists of multiple objects, there are multiple candidates to compute the distance to) to use. Popular choices are known as [[single-linkage clustering]] (the minimum of object distances), [[complete linkage clustering]] (the maximum of object distances) or [[UPGMA]] ("Unweighted Pair Group Method with Arithmetic Mean", also known as average linkage clustering). Furthermore, hierarchical clustering can be agglomerative (starting with single elements and aggregating them into clusters) or divisive (starting with the complete data set and dividing it into partitions).
 
These methods will not produce a unique partitioning of the data set, but a hierarchy from which the user still needs to choose appropriate clusters. They are not very robust towards outliers, which will either show up as additional clusters or even cause other clusters to merge (known as "chaining phenomenon", in particular with [[single-linkage clustering]]). In the general case, the complexity is <math>\mathcal{O}(n^3)</math>, which makes them too slow for large data sets. For some special cases, optimal efficient methods (of complexity <math>\mathcal{O}(n^2)</math>) are known: SLINK<ref>{{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 and CLINK<ref>{{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 | doi=10.1093/comjnl/20.4.364}}</ref> for complete-linkage clustering. In the [[data mining]] community these methods are recognized as a theoretical foundation of cluster analysis, but often considered obsolete. They did however provide inspiration for many later methods such as density based clustering.
 
<gallery caption="Linkage clustering examples" widths="200px" heights="200px">
File:SLINK-Gaussian-data.svg|Single-linkage on Gaussian data. At 35 clusters, the biggest cluster starts fragmenting into smaller parts, while before it was still connected to the second largest due to the single-link effect.
File:SLINK-density-data.svg|Single-linkage on density-based clusters. 20 clusters extracted, most of which contain single elements, since linkage clustering does not have a notion of "noise".
</gallery>
 
=== Centroid-based clustering ===
{{Main|k-means clustering}}
In centroid-based clustering, clusters are represented by a central vector, which may not necessarily be a member of the data set. When the number of clusters is fixed to k, [[k-means clustering|''k''-means clustering]] gives a formal definition as an optimization problem: find the <math>k</math> cluster centers and assign the objects to the nearest cluster center, such that the squared distances from the cluster are minimized.
 
The optimization problem itself is known to be [[NP-hard]], and thus the common approach is to search only for approximate solutions. A particularly well known approximative method is [[Lloyd's algorithm]],<ref name="lloyd">{{cite doi | 10.1109/TIT.1982.1056489 }}</ref> often actually referred to as "''k-means algorithm''". It does however only find a [[local optimum]], and is commonly run multiple times with different random initializations. Variations of k-means often include such optimizations as choosing the best of multiple runs, but also restricting the centroids to members of the data set ([[k-medoids]]), choosing [[median]]s ([[k-medians clustering]]), choosing the initial centers less randomly ([[K-means++]]) or allowing a fuzzy cluster assignment ([[Fuzzy clustering|Fuzzy c-means]]).
 
Most k-means-type algorithms require the [[Determining the number of clusters in a data set|number of clusters]] - <math>k</math> - to be specified in advance, which is considered to be one of the biggest drawbacks of these algorithms. Furthermore, the algorithms prefer clusters of approximately similar size, as they will always assign an object to the nearest centroid. This often leads to incorrectly cut borders in between of clusters (which is not surprising, as the algorithm optimized cluster centers, not cluster borders).
 
K-means has a number of interesting theoretical properties. On the one hand, it partitions the data space into a structure known as a [[Voronoi diagram]]. On the other hand, it is conceptually close to nearest neighbor [[statistical classification|classification]], and as such is popular in [[machine learning]]. Third, it can be seen as a variation of model based classification, and Lloyd's algorithm as a variation of the [[Expectation-maximization algorithm]] for this model discussed below.
 
<gallery caption="k-Means clustering examples" widths="200px" heights="200px">
File:KMeans-Gaussian-data.svg|K-means separates data into Voronoi-cells, which assumes equal-sized clusters (not adequate here)
File:KMeans-density-data.svg|K-means cannot represent density-based clusters
</gallery>
 
=== Distribution-based clustering ===
The clustering model most closely related to statistics is based on [[Probability distribution|distribution models]]. Clusters can then easily be defined as objects belonging most likely to the same distribution. A nice property of this approach is that this closely resembles the way artificial data sets are generated: by sampling random objects from a distribution.
 
While the theoretical foundation of these methods is excellent, they suffer from one key problem known as [[overfitting]], unless constraints are put on the model complexity. A more complex model will usually always be able to explain the data better, which makes choosing the appropriate model complexity inherently difficult.
 
One prominent method is known as Gaussian mixture models (using the [[expectation-maximization algorithm]]). Here, the data set is usually modelled with a fixed (to avoid overfitting) number of [[Gaussian distribution]]s that are initialized randomly and whose parameters are iteratively optimized to fit better to the data set. This will converge to a [[local optimum]], so multiple runs may produce different results. In order to obtain a hard clustering, objects are often then assigned to the Gaussian distribution they most likely belong to; for soft clusterings, this is not necessary.
 
Distribution-based clustering is a semantically strong{{clarify|date=October 2013}} method, as it not only provides you with clusters, but also produces complex models for the clusters that can also capture [[correlation and dependence]] of attributes. However, using these algorithms puts an extra burden on the user: to choose appropriate data models to optimize, and for many real data sets, there may be no mathematical model available the algorithm is able to optimize (e.g. assuming Gaussian distributions is a rather strong assumption on the data).
 
<gallery caption="Expectation-Maximization (EM) clustering examples" widths="200px" heights="200px">
File:EM-Gaussian-data.svg|On Gaussian-distributed data, EM works well, since it uses Gaussians for modelling clusters
File:EM-density-data.svg|Density-based clusters cannot be modeled using Gaussian distributions
</gallery>
 
=== Density-based clustering ===
In density-based clustering,<ref>{{Cite journal
| author = [[Hans-Peter Kriegel]], Peer Kröger, Jörg Sander, Arthur Zimek
| title = Density-based Clustering
| journal = WIREs Data Mining and Knowledge Discovery
| volume = 1
| issue = 3
| year = 2011
| pages = 231–240
| url = http://wires.wiley.com/WileyCDA/WiresArticle/wisId-WIDM30.html
| doi = 10.1002/widm.30
}}</ref> clusters are defined as areas of higher density than the remainder of the data set. Objects in these sparse areas - that are required to separate clusters - are usually considered to be noise and border points.
 
The most popular<ref>[http://academic.research.microsoft.com/CSDirectory/paper_category_7.htm Microsoft academic search: most cited data mining articles]: DBSCAN is on rank 24, when accessed on: 4/18/2010</ref> density based clustering method is [[DBSCAN]].<ref>{{Cite conference | author = Martin Ester, [[Hans-Peter Kriegel]], Jörg Sander, Xiaowei Xu | title = A density-based algorithm for discovering clusters in large spatial databases with noise | pages = 226–231 | editors = Evangelos Simoudis, Jiawei Han, Usama M. Fayyad | booktitle = Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) | publisher = [[AAAI Press]] | year = 1996 | isbn = 1-57735-004-9 | url = http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.71.1980}}</ref> In contrast to many newer methods, it features a well-defined cluster model called "density-reachability". Similar to linkage based clustering, it is based on connecting points within certain distance thresholds. However, it only connects points that satisfy a density criterion, in the original variant defined as a minimum number of other objects within this radius. A cluster consists of all density-connected objects (which can form a cluster of an arbitrary shape, in contrast to many other methods) plus all objects that are within these objects' range. Another interesting property of DBSCAN is that its complexity is fairly low - it requires a linear number of range queries on the database - and that it will discover essentially the same results (it is [[deterministic algorithm|deterministic]] for core and noise points, but not for border points) in each run, therefore there is no need to run it multiple times. [[OPTICS algorithm|OPTICS]]<ref>{{Cite conference
| author = Mihael Ankerst, Markus M. Breunig, [[Hans-Peter Kriegel]], Jörg Sander
| title = OPTICS: Ordering Points To Identify the Clustering Structure
| year = 1999
| pages = 49–60
| booktitle = ACM SIGMOD international conference on Management of data
| publisher = [[ACM Press]]
| url = http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.129.6542
}}</ref> is a generalization of DBSCAN that removes the need to choose an appropriate value for the range parameter <math>\varepsilon</math>, and produces a hierarchical result related to that of [[hierarchical clustering|linkage clustering]]. DeLi-Clu,<ref>{{cite doi | 10.1007/11731139_16}}</ref> Density-Link-Clustering combines ideas from [[single-linkage clustering]] and OPTICS, eliminating the <math>\varepsilon</math> parameter entirely and offering performance improvements over OPTICS by using an [[R-tree]] index.
 
The key drawback of [[DBSCAN]] and [[OPTICS]] is that they expect some kind of density drop to detect cluster borders. Moreover, they cannot detect intrinsic cluster structures which are prevalent in the majority of real life data. A variation of DBSCAN, [[EnDBSCAN algorithm|EnDBSCAN]],<ref>{{Cite conference
| author = S Roy, D K Bhattacharyya
| title = An Approach to find Embedded Clusters Using Density Based Techniques
| year = 2005
| pages = 523–535
| booktitle = LNCS Vol.3816
| publisher = [[Springer Verlag]]
}}</ref> efficiently detects such kinds of structures. On data sets with, for example, overlapping Gaussian distributions - a common use case in artificial data - the cluster borders produced by these algorithms will often look arbitrary, because the cluster density decreases continuously. On a data set consisting of mixtures of Gaussians, these algorithms are nearly always outperformed by methods such as EM clustering that are able to precisely model this kind of data.
 
<gallery caption="Density-based clustering examples" widths="200px" heights="200px">
File:DBSCAN-density-data.svg|Density-based clustering with [[DBSCAN]].
File:DBSCAN-Gaussian-data.svg|[[DBSCAN]] assumes clusters of similar density, and may have problems separating nearby clusters
File:OPTICS-Gaussian-data.svg|[[OPTICS algorithm|OPTICS]] is a DBSCAN variant that handles different densities much better
</gallery>
 
===Recent developments===
In recent years considerable effort has been put into improving algorithm performance of the existing algorithms.<ref>{{cite conference |author=D. Sculley |title=Web-scale k-means clustering |conference=Proc. 19th WWW |year=2010}}</ref><ref>Z. Huang. "Extensions to the ''k''-means algorithm for clustering large data sets with categorical values". Data Mining and Knowledge Discovery, '''2''':283–304, 1998.</ref> Among them are ''[[CLARANS]]'' (Ng and Han, 1994),<ref>R. Ng and J. Han. "Efficient and effective clustering method for spatial data mining". In: Proceedings of the 20th VLDB Conference, pages 144-155, Santiago, Chile, 1994.</ref> and ''[[Birch (data clustering)|BIRCH]]'' (Zhang et al., 1996).<ref>Tian Zhang, Raghu Ramakrishnan, Miron Livny. "An Efficient Data Clustering Method for Very Large Databases." In: Proc. Int'l Conf. on Management of Data, ACM SIGMOD, pp. 103–114.</ref> With the recent need to process larger and larger data sets (also known as [[big data]]), the willingness to trade semantic meaning of the generated clusters for performance has been increasing. This led to the development of pre-clustering methods such as [[canopy clustering algorithm|canopy clustering]], which can process huge data sets efficiently, but the resulting "clusters" are merely a rough pre-partitioning of the data set to then analyze the partitions with existing slower methods such as [[k-means clustering]]. Various other approaches to clustering have been tried such as seed based clustering.<ref>{{Cite doi|10.1145/99935.99938}}</ref>
 
For [[high-dimensional space|high-dimensional data]], many of the existing methods fail due to the [[curse of dimensionality]], which renders particular distance functions problematic in high-dimensional spaces. This led to new [[clustering high-dimensional data|clustering algorithms for high-dimensional data]] that focus on [[subspace clustering]] (where only some attributes are used, and cluster models include the relevant attributes for the cluster) and [[correlation clustering]] that also looks for arbitrary rotated ("correlated") subspace clusters that can be modeled by giving a [[correlation]] of their attributes. Examples for such clustering algorithms are CLIQUE<ref>{{cite doi | 10.1007/s10618-005-1396-1}}</ref> and [[SUBCLU]].<ref>Karin Kailing, [[Hans-Peter Kriegel]] and Peer Kröger. ''Density-Connected Subspace Clustering for High-Dimensional Data''. In: ''Proc. SIAM Int. Conf. on Data Mining (SDM'04)'', pp. 246-257, 2004.</ref>
 
Ideas from density-based clustering methods (in particular the [[DBSCAN]]/[[OPTICS]] family of algorithms) have been adopted to subspace clustering (HiSC,<ref>{{cite doi | 10.1007/11871637_42}}</ref> hierarchical subspace clustering and DiSH<ref>{{cite doi | 10.1007/978-3-540-71703-4_15}}</ref>) and correlation clustering (HiCO,<ref>{{cite doi | 10.1109/SSDBM.2006.35}}</ref> hierarchical correlation clustering, 4C<ref>{{cite doi | 10.1145/1007568.1007620}}</ref> using "correlation connectivity" and ERiC<ref>{{cite doi | 10.1109/SSDBM.2007.21}}</ref> exploring hierarchical density-based correlation clusters).
 
Several different clustering systems based on [[mutual information]] have been proposed. One is Marina Meilă's ''[[variation of information]]'' metric;<ref>{{Cite journal|last=Meilă|first=Marina | title=Comparing Clusterings by the Variation of Information |journal=Learning Theory and Kernel Machines|year=2003|pages=173–187|doi=10.1007/978-3-540-45167-9_14|series=Lecture Notes in Computer Science|isbn=978-3-540-40720-1|volume=2777}}</ref> another provides hierarchical clustering.<ref>Alexander Kraskov, Harald Stögbauer, Ralph G. Andrzejak, and Peter Grassberger, "Hierarchical Clustering Based on Mutual Information", (2003) ''[http://arxiv.org/abs/q-bio/0311039 ArXiv q-bio/0311039]''</ref> Using genetic algorithms, a wide range of different fit-functions can be optimized, including mutual information.<ref>Auffarth, B. (2010). Clustering by a Genetic Algorithm with Biased Mutation Operator. WCCI CEC. IEEE, July 18–23, 2010. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.170.869</ref> Also [[message passing]] algorithms, a recent development in [[Computer Science]] and [[Statistical Physics]], has led to the creation of new types of clustering algorithms.<ref>{{Cite journal|author= B.J. Frey and D. Dueck| title=Clustering by Passing Messages Between Data Points|journal=Science| volume=315| pages=972–976|doi= 10.1126/science.1136800|year= 2007|issue= 5814|pmid= 17218491|postscript= <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}} [http://www.papercore.org/Frey2007 Papercore summary Frey2007]</ref>
 
== Evaluation of clustering results ==
Evaluation of clustering results sometimes is referred to as cluster validation.
 
There have been several suggestions for a measure of similarity between two clusterings. Such a measure can be used to compare how well different data clustering algorithms perform on a set of data. These measures are usually tied to the type of criterion being considered in assessing the quality of a clustering method.
 
===Internal evaluation===
When a clustering result is evaluated based on the data that was clustered itself, this is called internal evaluation. These methods usually assign the best score to the algorithm that produces clusters with high similarity within a cluster and low similarity between clusters. One drawback of using internal criteria in cluster evaluation is that high scores on an internal measure do not necessarily result in effective information retrieval applications.<ref name="Christopher D. Manning, Prabhakar Raghavan & Hinrich Schutze">{{Cite book
| author = Christopher D. Manning,  Prabhakar Raghavan & Hinrich Schütze
| title = Introduction to Information Retrieval
| publisher = Cambridge University Press
| isbn = 978-0-521-86571-5
}}</ref> Additionally, this evaluation is biased towards algorithms that use the same cluster model. For example k-Means clustering naturally optimizes object distances, and a distance-based internal criterion will likely overrate the resulting clustering.
 
Therefore, the internal evaluation measures are best suited to get some insight into situations where one algorithm performs better than another, but this shall not imply that one algorithm produces more valid results than another.<ref name="estivill" /> Validity as measured by such an index depends on the claim that this kind of structure exists in the data set. An algorithm designed for some kind of models has no chance if the data set contains a radically different set of models, or if the evaluation measures a radically different criterion.<ref name="estivill" /> For example, k-means clustering can only find convex clusters, and many evaluation indexes assume convex clusters. On a data set with non-convex clusters neither the use of k-means, nor of an evaluation criterion that assumes convexity, is sound.
 
The following methods can be used to assess the quality of clustering algorithms based on internal criterion:
* '''[[Davies–Bouldin index]]'''
:The [[Davies–Bouldin index]] can be calculated by the following formula:
:<math>
DB = \frac {1} {n} \sum_{i=1}^{n} \max_{i\neq j}\left(\frac{\sigma_i + \sigma_j} {d(c_i,c_j)}\right)
</math>
:where n is the number of clusters, <math>c_x</math> is the [[centroid]] of cluster <math>x</math>, <math>\sigma_x</math> is the average distance of all elements in cluster <math>x</math> to centroid <math>c_x</math>, and <math>d(c_i,c_j)</math> is the distance between centroids <math>c_i</math> and <math>c_j</math>. Since algorithms that produce clusters with low intra-cluster distances (high intra-cluster similarity) and high inter-cluster distances (low inter-cluster similarity) will have a low Davies–Bouldin index,  the clustering algorithm that produces a collection of clusters with the smallest [[Davies–Bouldin index]] is considered the best algorithm based on this criterion.
 
*'''[[Dunn index]]''' (J. C. Dunn 1974)
:The Dunn index aims to identify dense and well-separated clusters. It is defined as the ratio between the minimal inter-cluster distance to maximal intra-cluster distance. For each cluster partition, the Dunn index can be calculated by the following formula:<ref>{{Cite journal
| author = Dunn, J.
| title = Well separated clusters and optimal fuzzy partitions
| journal = Journal of Cybernetics
| year = 1974
| volume = 4
| pages = 95–104
| doi = 10.1080/01969727408546059
}}</ref>
:<math>
D = \min_{1\leq i \leq n}\left\{\min_{1\leq j \leq n,i\neq j}\left\{\frac {d(i,j)}{\max_{1\leq k \leq n}{d^{'}(k)}}\right\}\right\}
</math>
:where <math>d(i,j)</math> represents the distance between clusters <math>i</math> and <math>j</math>, and <math>d^{'}(k)</math> measures the intra-cluster distance of cluster <math>k</math>. The inter-cluster distance <math>d(i,j)</math> between two clusters may be any number of distance measures, such as the distance between the [[centroids]] of the clusters. Similarly, the intra-cluster distance <math>d^{'}(k)</math> may be measured in a variety ways, such as the maximal distance between any pair of elements in cluster <math>k</math>. Since internal criterion seek clusters with high intra-cluster similarity and low inter-cluster similarity, algorithms that produce clusters with high Dunn index are more desirable.
 
===External evaluation===
In external evaluation, clustering results are evaluated based on data that was not used for clustering, such as known class labels and external benchmarks. Such benchmarks consist of a set of pre-classified items, and these sets are often created by human (experts). Thus, the benchmark sets can be thought of as a [[gold standard (test)|gold standard]] for evaluation. These types of evaluation methods measure how close the clustering is to the predetermined benchmark classes. However, it has recently been discussed whether this is adequate for real data, or only on synthetic data sets with a factual ground truth, since classes can contain internal structure, the attributes present may not allow separation of clusters or the classes may contain [[Anomaly detection|anomalies]].<ref name="Faerberetal2010">{{Cite conference
| author = Ines Färber, Stephan Günnemann, [[Hans-Peter Kriegel]], Peer Kröger, Emmanuel Müller, Erich Schubert, Thomas Seidl, Arthur Zimek
| editors = Xiaoli Z. Fern, Ian Davidson, Jennifer Dy
| booktitle = MultiClust: Discovering, Summarizing, and Using Multiple Clusterings
| title = On Using Class-Labels in Evaluation of Clusterings
| year = 2010
| publisher = [[Association for Computing Machinery|ACM]] [[SIGKDD]]
| url = http://eecs.oregonstate.edu/research/multiclust/Evaluation-4.pdf
}}</ref> Additionally, from a [[knowledge discovery]] point of view, the reproduction of known knowledge may not necessarily be the intended result.<ref name="Faerberetal2010"/>
 
Some of the measures of quality of a cluster algorithm using external criterion include:
* '''[[Rand measure]]''' (William M. Rand 1971)<ref>{{Cite journal
| author = W. M. Rand
| title = Objective criteria for the evaluation of clustering methods
| journal = [[Journal of the American Statistical Association]]
| volume = 66
| pages = 846–850
| year = 1971
| doi = 10.2307/2284239
| issue = 336
| publisher = American Statistical Association
| jstor = 2284239
}}</ref>
:The Rand index computes how similar the clusters (returned by the clustering algorithm) are to the benchmark classifications. One can also view the Rand index as a measure of the percentage of correct decisions made by the algorithm. It can be computed using the following formula:
:<math>
RI = \frac {TP + TN} {TP + FP + FN + TN}
</math>
:where  <math>TP</math> is the number of [[true positive]]s, <math>TN</math> is the number of [[true negative]]s, <math>FP</math> is the number of [[false positives]], and <math>FN</math> is the number of [[false negatives]]. One issue with the [[Rand index]] is that [[false positive]]s and [[false negative]]s are equally weighted. This may be an undesirable characteristic for some clustering applications. The F-measure addresses this concern.
*'''[[F-measure]]'''
:The F-measure can be used to balance the contribution of [[false negative]]s by weighting [[recall (information retrieval)|recall]] through a parameter <math>\beta \geq 0</math>. Let [[precision (information retrieval)|precision]] and [[recall (information retrieval)|recall]] be defined as follows:
:<math>
P = \frac {TP } {TP + FP }
</math>
:<math>
R = \frac {TP } {TP + FN}
</math>
:where <math>P</math> is the [[precision (information retrieval)|precision]] rate and <math>R</math> is the [[recall (information retrieval)|recall]] rate. We can calculate the F-measure by using the following formula:<ref name="Christopher D. Manning, Prabhakar Raghavan & Hinrich Schutze"/>
:<math>
F_{\beta} = \frac {(\beta^2 + 1)\cdot P \cdot R } {\beta^2 \cdot P + R}
</math>
:Notice that when <math>\beta=0</math>, <math>F_{0}=P</math>. In other words, [[recall (information retrieval)|recall]] has no impact on the F-measure when <math>\beta=0</math>, and increasing <math>\beta</math> allocates an increasing amount of weight to recall in the final F-measure.
* '''Pair-counting F-Measure''' is the F-Measure applied to the set of object pairs, where objects are paired with each other when they are part of the same cluster. This measure is able to compare clusterings with different numbers of clusters.
* '''[[Jaccard coefficient|Jaccard index]]'''
:The Jaccard index is used to quantify the similarity between two datasets. The [[Jaccard coefficient|Jaccard index]] takes on a value between 0 and 1. An index of 1 means that the two dataset are identical, and an index of 0 indicates that the datasets have no common elements. The Jaccard index is defined by the following formula:
:<math>
J(A,B) = \frac {|A \cap B| } {|A \cup B|} = \frac{TP}{TP + FP + FN}
</math>
:This is simply the number of unique elements common to both sets divided by the total number of unique elements in both sets.
 
* '''[[Fowlkes–Mallows Index|Fowlkes–Mallows index]]''' (E. B. Fowlkes & C. L. Mallows 1983)<ref>E. B. Fowlkes & C. L. Mallows (1983), "A Method for Comparing Two Hierarchical Clusterings", Journal of the American Statistical Association 78, 553–569.</ref>
:The Fowlkes-Mallows index computes the similarity between the clusters returned by the clustering algorithm and the benchmark classifications. The higher the value of the Fowlkes-Mallows index the more similar the clusters and the benchmark classifications are. It can be computed using the following formula:
:<math>
FM = \sqrt{ \frac {TP}{TP+FP} \cdot \frac{TP}{TP+FN}  }
</math>
:where  <math>TP</math> is the number of [[true positive]]s, <math>FP</math> is the number of [[false positives]], and <math>FN</math> is the number of [[false negatives]]. The <math>FM</math> index is the geometric mean of the [[precision (information retrieval)|precision]] and [[recall (information retrieval)|recall]] <math>P</math> and <math>R</math>, while the F-measure is their harmonic mean.<ref>L. Hubert et P. Arabie. Comparing partitions. J. of Classification, 2(1), 1985.</ref> Moreover, [[precision (information retrieval)|precision]] and [[recall (information retrieval)|recall]] are also known as Wallace's indices <math>B^I</math> and <math>B^{II}</math>.<ref>D. L. Wallace. Comment. Journal of the American Statistical Association, 78 :569– 579, 1983.</ref>
 
* '''[[Confusion matrix]]'''
:A confusion matrix can be used to quickly visualize the results of a classification (or clustering) algorithm. It shows how different a cluster is from the gold standard cluster.
* The '''[[Mutual Information]]''' is an [[information theory|information theoretic]] measure of how much information is shared between a clustering and a ground-truth classification that can detect a non-linear similarity between two clusterings. [[Adjusted mutual information]] is the corrected-for-chance variant of this that has a reduced bias for varying cluster numbers.
 
==Clustering Axioms==
 
Given that there is a myriad of clustering algorithms and objectives, it is helpful to reason about clustering independently of any particular algorithm, objective function, or generative data model. This can be achieved by defining a clustering function as one that satisfies a set of properties. This is often termed as an [[Axiomatic system|Axiomatic System]]. Functions that satisfy the basic axioms are called clustering functions.<ref>R. B. Zadeh, S Ben-David. "A Uniqueness Theorem for Clustering", in Proceedings of the Conference of Uncertainty in Artificial Intelligence, 2009.</ref>
 
===Formal Preliminaries===
A partitioning function acts on a set <math>S</math> of <math>n \ge 2</math> points along with an integer <math>k > 0</math>, and pairwise distances among the points in <math>S</math>. The points are not assumed to belong to any specific larger set or space; the pairwise distances are the only data the partitioning function has about them.{{citation needed|date=July 2013}}<!-- Counterexample: K-means absolute needs the coordinates in R^d -->
We may label the points in <math>S</math> using the numbers <math>\{1, 2, \ldots, n\}</math>.
The pairwise distances define a distance function <math>d: S \times S \rightarrow R</math> which should have the properties of a [[semimetric]]: for any <math>i, j \in S</math>, we must have <math>d(i, j) \ge 0, d(i, j) = d(j, i)</math>, and <math>d(i, j) = 0</math> if and only if <math>i = j</math>. In other words, the distances must be nonnegative, symmetric, and two points have distance zero if and only if they are the same point.
 
A partitioning function <math>F</math> takes a distance function <math>d</math> on <math>S \times S</math> and an integer <math>k \ge 1</math> and returns a <math>k</math>-[[Partition of a set|partition]] of <math>S</math>, a collection of non-empty disjoint subsets of <math>S</math> whose union is <math>S</math>. The sets making up the k-partition are the clusters. Two clustering functions are equivalent if and only if they output the same partitioning on all values of <math>d</math> and <math>k</math>.
 
===Axioms===
Now in an effort to distinguish clustering functions from partitioning functions, we lay down some properties that one may like a clustering function to satisfy. Here is the first one. If <math>d</math> is a distance function, then we define <math>\alpha \cdot d</math> to be the same function with all distances multiplied by <math>\alpha</math>.
 
;;Scale-Invariance.
For any distance function <math>d</math>, number of clusters <math>k</math>, and scalar <math>\alpha > 0</math>, we have <math>F(d, k) = F(\alpha \cdot d, k)</math>
 
This property simply requires the function to be immune to stretching or shrinking the data points linearly. It effectively disallows clustering functions to be sensitive to changes in units of measurement - which is desirable. We would like clustering functions to not have any predefined hard-coded distance values in their decision process.
 
The next property ensures that the clustering function is “rich&quot; in types of partitioning it could output. For a fixed <math>S</math> and <math>k</math>, Let Range(<math>F(\bullet , k)</math>) be the set of all possible outputs while varying <math>d</math>.
 
;;<math>k</math>-Richess.
For any number of clusters <math>k</math>, Range(<math>F(\bullet, k)</math>) is equal to the set of all <math>k</math>-partitions of <math>S</math>
 
In other words, if we are given a set of points such that all we know about the points are pairwise distances, then for any partitioning <math>\Gamma</math>, there should exist a <math>d</math> such that <math>F(d, k) = \Gamma</math>. By varying distances amongst points, we should be able to obtain all possible <math>k</math>-partitionings.
 
The next property is more subtle. We call a partitioning function “consistent&quot; if it satisfies the following: when we shrink distances between points in the same cluster and expand distances between points in different clusters, we get the same result. Formally, we say that <math>d'</math> is a <math>\Gamma</math>-''transformation'' of <math>d</math> if (a) for all <math>i,j \in S</math> belonging to the same cluster of <math>\Gamma</math>, we have <math>d'(i,j) \le d(i,j)</math>; and (b) for all <math>i,j \in S</math> belonging to different clusters of <math>\Gamma</math>, we have <math>d'(i,j) \ge d(i,j)</math>. In other words, <math>d'</math> is a transformation of <math>d</math> such that points inside the same cluster are brought closer together and points not inside the same cluster are moved further away from one another.
 
;;Consistency.
Fix <math>k</math>. Let <math>d</math> be a distance function, and <math>d'</math> be a <math>F(d, k)</math>-transformation of <math>d</math>. Then <math>F(d, k) = F(d', k)</math>
 
In other words, suppose that we run the partitioning function <math>F</math> on <math>d</math> to get back a particular partitioning <math>\Gamma</math>. Now, with respect to <math>\Gamma</math>, if we shrink in-cluster distances or expand between-cluster distances and run <math>F</math> again, we should still get back the same result - namely <math>\Gamma</math>.
 
The partitioning function <math>F</math> is forced to return a fixed number of clusters: <math>k</math>. If this were not the case, then the above three properties could never be satisfied by any function.<ref>J Kleinberg, "An Impossibility Theorem for Clustering", Proceedings of The Neural Information Processing Systems Conference 2002</ref> In many popular clustering algorithms such as <math>k</math>-means, Single-Linkage, and spectral clustering, the number of clusters to be returned is determined beforehand – by the human user or other methods – and passed into the clustering function as a parameter.
 
==Applications==
; [[Biology]], computational biology and [[bioinformatics]]
;;[[Plant]] and [[animal]] [[ecology]]
;: cluster analysis is used to describe and to make spatial and temporal comparisons of communities (assemblages) of organisms in heterogeneous environments; it is also used in [[Systematics|plant systematics]] to generate artificial [[Phylogeny|phylogenies]] or clusters of organisms (individuals) at the species, genus or higher level that share a number of attributes
;;[[transcriptome|Transcriptomics]]
;: clustering is used to build groups of [[genes]] with related expression patterns (also known as coexpressed genes). Often such groups contain functionally related proteins, such as [[enzyme]]s for a specific [[metabolic pathway|pathway]], or genes that are co-regulated. High throughput experiments using [[expressed sequence tag]]s (ESTs) or [[DNA microarray]]s can be a powerful tool for [[genome annotation]], a general aspect of [[genomics]].
;;[[Sequence analysis]]
;: clustering is used to group homologous sequences into [[list of gene families|gene families]]. This is a very important concept in bioinformatics, and [[evolutionary biology]] in general. See evolution by [[gene duplication]].
;;High-throughput [[genotype|genotyping]] platforms
;: clustering algorithms are used to automatically assign genotypes.
;;[[Human genetic clustering]]
;:The similarity of genetic data is used in clustering to infer population structures.
; [[Medicine]]
;;[[Medical imaging]]
;: On [[PET scan]]s, cluster analysis can be used to differentiate between different types of [[tissue (biology)|tissue]] and [[blood]] in a three dimensional image. In this application, actual position does not matter, but the [[voxel]] intensity is considered as a [[coordinate vector|vector]], with a dimension for each image that was taken over time. This technique allows, for example, accurate measurement of the rate a radioactive tracer is delivered to the area of interest, without a separate sampling of [[arterial]] blood, an intrusive technique that is most common today.
;;IMRT segmentation
;: Clustering can be used to divide a fluence map into distinct regions for conversion into deliverable fields in MLC-based Radiation Therapy.
; Business and [[marketing]]
;;[[Market research]]
;: Cluster analysis is widely used in market research when working with multivariate data from [[Statistical survey|surveys]] and test panels. Market researchers use cluster analysis to partition the general [[population]] of [[consumer]]s into market segments and to better understand the relationships between different groups of consumers/potential [[customers]], and for use in [[market segmentation]], [[positioning (marketing)|Product positioning]], [[New product development]] and Selecting test markets.
;;Grouping of shopping items
;: Clustering can be used to group all the shopping items available on the web into a set of unique products. For example, all the items on eBay can be grouped into unique products. (eBay doesn't have the concept of a [[Stock-keeping unit|SKU]])
; [[World wide web]]
;;Social network analysis
;: In the study of [[social network]]s, clustering may be used to recognize [[communities]] within large groups of people.
;;Search result grouping
;: In the process of intelligent grouping of the files and websites, clustering may be used to create a more relevant set of search results compared to normal search engines like [[Google]]. There are currently a number of web based clustering tools such as [[Clusty]].
;;Slippy map optimization
;: [[Flickr]]'s map of photos and other map sites use clustering to reduce the number of markers on a map. This makes it both faster and reduces the amount of visual clutter.
; [[Computer science]]
;;[[Software evolution]]
;: Clustering is useful in software evolution as it helps to reduce legacy properties in code by reforming functionality that has become dispersed. It is a form of restructuring and hence is a way of directly preventative maintenance.
;;[[Image segmentation]]
;: Clustering can be used to divide a [[Digital data|digital]] [[image]] into distinct regions for [[border detection]] or [[object recognition]].
;;[[Evolutionary algorithms]]
;: Clustering may be used to identify different niches within the population of an evolutionary algorithm so that reproductive opportunity can be distributed more evenly amongst the evolving species or subspecies.
;;[[Recommender systems]]
;: Recommender systems are designed to recommend new items based on a user's tastes.  They sometimes use clustering algorithms to predict a user's preferences based on the preferences of other users in the user's cluster.
;;[[Markov chain Monte Carlo|Markov chain Monte Carlo methods]]
;: Clustering is often utilized to locate and characterize extrema in the target distribution.
; Social science
;;Crime analysis
;: Cluster analysis can be used to identify areas where there are greater incidences of particular types of crime. By identifying these distinct areas or "hot spots" where a similar crime has happened over a period of time, it is possible to manage law enforcement resources more effectively.
;;[[Educational data mining]]
;:Cluster analysis is for example used to identify groups of schools or students with similar properties.
;; Typologies
;: From poll data, projects such as those undertaken by the Pew Research Center use cluster analysis to discern typologies of opinions, habits, and demographics that may be useful in politics and marketing.
; Others
;;Field robotics
;: Clustering algorithms are used for robotic situational awareness to track objects and detect outliers in sensor data.<ref>Bewley A. et al. "Real-time volume estimation of a dragline payload". "IEEE International Conference on Robotics and Automation",2011: 1571-1576.</ref>
;;[[Mathematical chemistry]]
;: To find structural similarity, etc., for example, 3000 chemical compounds were clustered in the space of 90 [[topological index|topological indices]].<ref>Basak S.C., Magnuson  V.R., Niemi  C.J., Regal R.R. "Determining Structural Similarity of Chemicals  Using  Graph Theoretic Indices". ''Discr. Appl. Math.'', '''19''', 1988: 17-44.</ref>
;;[[Climatology]]
;: To find weather regimes or preferred sea level pressure atmospheric patterns.<ref>Huth R. et al. "Classifications of Atmospheric Circulation Patterns: Recent Advances and Applications".  ''Ann. N.Y. Acad. Sci.'', '''1146''', 2008: 105-152</ref>
;;Petroleum geology
;: Cluster analysis is used to reconstruct missing bottom hole core data or missing log curves in order to evaluate reservoir properties.
;;Physical geography
;: The clustering of chemical properties in different sample locations.
 
==See also==
{{Commons category|Cluster analysis}}
{{Cleanup section|date=October 2011}}
 
=== See also ===
{{col-begin}}
{{col-break}}
* [[Clustering high-dimensional data]]
* [[Curse of dimensionality]]
{{col-break}}
* [[Data stream clustering]]
* [[Dimension reduction]]
{{col-break}}
* [[Silhouette (clustering)|Silhouette]]
* [[Parallel coordinates]]
{{col-end}}
 
=== Related methods ===
{{Category see also|Data clustering algorithms}}
<!-- NOTE: Please do not list every single clustering algorithm here - this list is already WAY too long! -->
{{col-begin}}
{{col-break}}
* [[Artificial neural network]] (ANN)
* [[Cluster-weighted modeling]]
* [[Consensus clustering]]
* [[Constrained clustering]]
* [[Idea networking]]
* [[Instance-based learning]]
{{col-break}}
* [[Latent class model|Latent class analysis]]
* [[Multidimensional scaling]]
* [[Nearest neighbor search]]
* [[Conceptual clustering]]
{{col-break}}
* [[Neighbourhood components analysis]]
* [[Paired difference test]]
* [[Principal component analysis]]
* [[Structured data analysis (statistics)]]
* [[Sequence clustering]]
* [[Spectral clustering]]
{{col-end}}
 
== References ==
{{reflist|colwidth=30em}}
 
{{DEFAULTSORT:Cluster Analysis}}
[[Category:Data mining]]
[[Category:Data analysis]]
[[Category:Cluster analysis|*]]
[[Category:Geostatistics]]
[[Category:Machine learning]]
[[Category:Multivariate statistics]]

Latest revision as of 23:19, 22 November 2014

My name is Keisha and Ӏ am studying Dramatic Literature and History and Neսroscience at Digby / Australia.

Stop by my homepage; Fap turbo review – the small robot that could