• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            O(1) 的小樂

            Job Hunting

            公告

            記錄我的生活和工作。。。
            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            統計

            • 隨筆 - 182
            • 文章 - 1
            • 評論 - 41
            • 引用 - 0

            留言簿(10)

            隨筆分類(70)

            隨筆檔案(182)

            文章檔案(1)

            如影隨形

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            k-means clustering

                  In statistics and machine learning, k-means clustering is a method of cluster analysis which aims topartition n observations into k clusters in which each observation belongs to the cluster with the nearestmean. It is similar to the expectation-maximization algorithm for mixtures of Gaussians in that they both attempt to find the centers of natural clusters in the data as well as in the iterative refinement approach employed by both algorithms.

             

            Description

            Given a set of observations (x1, x2, …, xn), where each observation is a d-dimensional real vector, k-means clustering aims to partition the n observations into k sets (k < n) S = {S1, S2, …, Sk} so as to minimize the within-cluster sum of squares (WCSS):

            \underset{\mathbf{S}} \operatorname{arg\,min} \sum_{i=1}^{k} \sum_{\mathbf x_j \in S_i} \left\| \mathbf x_j - \boldsymbol\mu_i \right\|^2

            where μi is the mean of points in Si.

             

            Algorithms

            Regarding computational complexity, the k-means clustering problem is:

            • NP-hard in general Euclidean space d even for 2 clusters [4][5]
            • NP-hard for a general number of clusters k even in the plane [6]
            • If k and d are fixed, the problem can be exactly solved in time O(ndk+1 log n), where n is the number of entities to be clustered [7]

            Thus, a variety of heuristic algorithms are generally used.

             

            所以注意到Algorithm是一個典型的NP問題,所以通常我們尋找使用的是啟發式方法。

            Standard algorithm

            The most common algorithm uses an iterative refinement technique.最常用的一個技巧是迭代求精。

            Due to its ubiquity it is often called the k-means algorithm; it is also referred to as , particularly in the computer science community.

            Given an initial set of k means m1(1),…,mk(1), which may be specified randomly or by some heuristic, the algorithm proceeds by alternating between two steps:[8]

            Assignment step: Assign each observation to the cluster with the closest mean (i.e. partition the observations according to the Voronoi diagram generated by the means(這里等價于把原空間根據Voronoi 圖劃分為k個,此處的范數指的是2范數,即歐幾里得距離,和Voronoi圖對應)).
            S_i^{(t)} = \left\{ \mathbf x_j : \big\| \mathbf x_j - \mathbf m^{(t)}_i \big\| \leq \big\| \mathbf x_j - \mathbf m^{(t)}_{i^*} \big\| \text{ for all }i^*=1,\ldots,k \right\}
             
            Update step: Calculate the new means to be the centroid of the observations in the cluster.
            \mathbf m^{(t+1)}_i = \frac{1}{|S^{(t)}_i|} \sum_{\mathbf x_j \in S^{(t)}_i} \mathbf x_j
            重新計算means

            The algorithm is deemed to have converged when the assignments no longer change.

             

            整個算法的流程就是如上圖所示

             

            As it is a heuristic algorithm, there is no guarantee that it will converge to the global optimum, and the result may depend on the initial clusters. As the algorithm is usually very fast, it is common to run it multiple times with different starting conditions. However, in the worst case, k-means can be very slow to converge: in particular it has been shown that there exist certain point sets, even in 2 dimensions, on whichk-means takes exponential time, that is 2Ω(n), to converge[9][10]. These point sets do not seem to arise in practice: this is corroborated by the fact that the smoothed running time of k-means is polynomial[11].

            最壞的時間復雜度是O(2Ω(n)),但是在實踐中,一般表現是一個多項式算法。

            The "assignment" step is also referred to as expectation step, the "update step" as maximization step, making this algorithm a variant of the generalized expectation-maximization algorithm.

            Variations

            • The expectation-maximization algorithm (EM algorithm) maintains probabilistic assignments to clusters, instead of deterministic assignments, and multivariate Gaussian distributions instead of means.
            • k-means++ seeks to choose better starting clusters.
            • The filtering algorithm uses kd-trees to speed up each k-means step.[12]
            • Some methods attempt to speed up each k-means step using coresets[13] or the triangle inequality.[14]
            • Escape local optima by swapping points between clusters.[15]

            Discussion

            File:Iris Flowers Clustering kMeans.svg

            k-means clustering result for the Iris flower data set and actual species visualized using ELKI. Cluster means are marked using larger, semi-transparent symbols.

            File:ClusterAnalysis Mouse.svg

            k-means clustering and EM clustering on an artificial dataset ("mouse"). The tendency of k-means to produce equi-sized clusters leads to bad results, while EM benefits from the Gaussian distribution present in the data set

            The two key features of k-means which make it efficient are often regarded as its biggest drawbacks:

            A key limitation of k-means is its cluster model. The concept is based on spherical clusters that are separable in a way so that the mean value converges towards the cluster center. The clusters are expected to be of similar size, so that the assignment to the nearest cluster center is the correct assignment. When for example applying k-means with a value of k = 3 onto the well-known Iris flower data set, the result often fails to separate the three Iris species contained in the data set. With k = 2, the two visible clusters (one containing two species) will be discovered, whereas withk = 3 one of the two clusters will be split into two even parts. In fact, k = 2 is more appropriate for this data set, despite the data set containing 3 classes. As with any other clustering algorithm, the k-means result relies on the data set to satisfy the assumptions made by the clustering algorithms. It works very well on some data sets, while failing miserably on others.

            The result of k-means can also be seen as the Voronoi cells of the cluster means. Since data is split halfway between cluster means, this can lead to suboptimal splits as can be seen in the "mouse" example. The Gaussian models used by the Expectation-maximization algorithm (which can be seen as a generalization of k-means) are more flexible here by having both variances and covariances. The EM result is thus able to accommodate clusters of variable size much better than k-means as well as correlated clusters (not in this example).

             

            這篇是概念介紹篇,以后出代碼和一個K均值優化的論文

            Fast Hierarchical Clustering Algorithm Using Locality-Sensitive Hashing

            posted on 2010-10-19 18:57 Sosi 閱讀(1598) 評論(0)  編輯 收藏 引用 所屬分類: Courses

            統計系統
            精品国产乱码久久久久久人妻| 91精品国产综合久久香蕉| 久久频这里精品99香蕉久| 99久久国产综合精品女同图片| 久久不见久久见免费视频7| 久久精品国产只有精品66| 久久只有这精品99| 久久久久成人精品无码中文字幕| 国产免费福利体检区久久| 亚洲成色WWW久久网站| 久久久亚洲精品蜜桃臀 | 国产精品久久久99| 久久人妻AV中文字幕| 国产成人久久精品麻豆一区| 亚洲精品美女久久久久99| 亚洲精品国产自在久久| 亚洲精品tv久久久久久久久| avtt天堂网久久精品| 国内精品久久久久久久影视麻豆| 亚洲AV无码久久精品色欲| 久久综合久久鬼色| 93精91精品国产综合久久香蕉| 丁香色欲久久久久久综合网| 久久久网中文字幕| 久久夜色撩人精品国产小说| 精品久久久久久久久久中文字幕| 久久精品九九亚洲精品| 色综合久久久久无码专区| 久久久久亚洲AV成人网人人网站| 亚洲伊人久久综合影院| 久久久久无码专区亚洲av| 99久久精品国产一区二区三区| 国产成人久久精品一区二区三区| 日韩av无码久久精品免费| 亚洲人成网亚洲欧洲无码久久 | 91亚洲国产成人久久精品网址| 国产产无码乱码精品久久鸭| 欧美黑人激情性久久| 人妻丰满AV无码久久不卡 | 国产Av激情久久无码天堂| 久久国产高清字幕中文|