• <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

            統計系統
            久久久久国产成人精品亚洲午夜| 久久国产免费观看精品3| 久久久精品国产Sm最大网站| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久青青国产| 人妻丰满AV无码久久不卡| 久久香蕉超碰97国产精品 | 女人高潮久久久叫人喷水| 怡红院日本一道日本久久 | 亚洲欧洲中文日韩久久AV乱码| 噜噜噜色噜噜噜久久| 久久99国产乱子伦精品免费| 久久精品国产精品亚洲人人| 久久99热这里只有精品国产| 国产成人精品久久免费动漫| 亚洲日本久久久午夜精品| 久久777国产线看观看精品| 精品久久久久成人码免费动漫 | 色欲久久久天天天综合网| 日本久久久久久中文字幕| 99精品国产99久久久久久97 | 久久久久久伊人高潮影院| 久久精品www| 午夜天堂av天堂久久久| 久久综合精品国产一区二区三区 | 久久精品国产男包| 国产精品美女久久久免费| 国内精品伊人久久久久av一坑 | 无码国内精品久久综合88| 国产99久久久久久免费看| 色诱久久久久综合网ywww| 久久久久久精品无码人妻| 香蕉久久AⅤ一区二区三区| 国产午夜精品久久久久九九| 2020久久精品国产免费| 国产精品久久久久jk制服| 国产美女久久精品香蕉69| 久久久久久国产精品免费无码 | 久久亚洲AV无码西西人体| 精品久久久久久99人妻| 伊人久久精品线影院|