Question

In: Computer Science

In MATLAB, Implement a hybrid clustering algorithm which combines hierarchical clustering and k-means clustering.

In MATLAB, Implement a hybrid clustering algorithm which combines hierarchical clustering and k-means clustering.

Solutions

Expert Solution

Proof:-

Let ξ ∼ Np(0, I). Since X d= Σ 1 2 l ξ + µl , we have

Y j,l (X) = X 0 (Σ −1 j − Σ −1 l )X + 2X 0 (Σ −1 l µl − Σ −1 j µj ) + µ 0 jΣ −1 j µj − µ 0 lΣ −1 l µl

d= (Σ 1 2 l ξ + µl ) 0 (Σ −1 j − Σ −1 l )(Σ 1 2 l ξ + µl ) + 2(Σ 1 2 l ξ + µl ) 0 (Σ −1 l µl − Σ −1 j µj ) + µ 0 jΣ −1 j µj − µ 0 lΣ −1 l µl

= ξ 0 (Σj|l − I)ξ + 2ξ 0Σ 1 2 l Σ −1 j (µl − µj ) + (µl − µj ) 0 (Σ −1 j )(µl − µj ) (3)

where Σj|l = Σ 1 2 l Σ −1 j Σ 1 2 l . Let the spectral decomposition of Σj|l be given by Σj|l = Γj|lΛj|lΓ 0 j|l , where Λj|l is a diagonal matrix containing the eigenvalues λ1, λ2, . . . λp of Σj|l , and Γj|l is an orthogonal matrix containing the eigenvectors γ1 , γ2 , . . . , γp of Σj|l . Since Z ≡ Γj|l 0 ξ ∼ Np(0, I) as well, we get from (3) that

Y j,l (X) d= ξ 0 (Γj|lΛj|lΓ 0 j|l − Γj|lΓ 0 j|l )ξ + 2ξ 0 (Γj|lΛj|lΓ 0 j|lΣ − 1 2 1 )(µl − µj ) + (µl − µj ) 0 (Σ − 1 2 1 Γj|lΛj|lΓ 0 j|lΣ − 1 2 l )(µl − µj )

= (Γ 0 j|l ξ) 0 (Λj|l − I)(Γ 0 j|l ξ) + 2(Γ 0 j|l ξ) 0 (Λj|lΓj|lΣ − 1 2 l )(µl − µj ) + (µl − µj ) 0 (Σ − 1 2 l Γj|lΛj|lΓ 0 j|lΣ − 1 2 l )(µl − µj )

d= X p i=1 (λi − 1)Zi 2 + 2λi δiZi + λi δ 2 i , (4)

where δi , i = 1, 2, . . . , p are as in the statement of the theorem. We can simplify (4) further based on the values of λi : If λi > 1: (λi − 1)Z 2 i + 2λi δiZi + λi δ 2 i = (√ λi − 1Zi + λi δi/ √ λi − 1)2 − λi δ 2 i /(λi − 1), while for λi < 1: (λi − 1)Zi 2 + 2λi δiZi + λi δ 2 i = −( √ 1 − λiZi − λi δi/ √ 1 − λi ) 2 − λi δ 2 i /(λi − 1). In both cases, (λi − 1)Zi 2 + 2λi δiZi + λi δ 2 i is distributed as a (λi − 1)χ 2 l ,λ2 i δ 2 i /(λi −1)2 -random variable shifted by −λi δ 2 i /(λi − 1). When λi = 1, (λi − 1)Z 2 i + 2λi δiZi + λi δ 2 i = 2δiZi + δ 2 i . The theorem follows from some further minor rearrangement of terms.

Comment for any queries..!

Please give a thumbs up..!


Related Solutions

We've now had an introduction to several different models: Linear regression, logistic regression, k-means, hierarchical clustering,...
We've now had an introduction to several different models: Linear regression, logistic regression, k-means, hierarchical clustering, GMM, Naive Bayes, and decision trees. For this assignment, I would like you to choose three models from the above list and describe two problems that each of the models could potentially be used to solve. You can do one big post with all three models and six solvable problems or do three separate posts if you prefer.   Short Explanation of Decision Trees Decision...
Try to use K means clustering to segment an image. You can use Matlab function: kmeans(...
Try to use K means clustering to segment an image. You can use Matlab function: kmeans( )
K-means clustering: a. In the k-means lab, you examined different values for k using the "knee"...
K-means clustering: a. In the k-means lab, you examined different values for k using the "knee" heuristic to pick the best value of k. Explain what is so special about the k values on the “knee”? Hint: There are two properties that together make these values of k special. b. Give an example of a type of data (data type) that k-means should not be used for and explain why.
State similarities and differences between Fuzzy c-means and hierarchical clustering based on Gaussian distributions.
State similarities and differences between Fuzzy c-means and hierarchical clustering based on Gaussian distributions.
One way to cluster objects is called k-means clustering. The goal is to find k different...
One way to cluster objects is called k-means clustering. The goal is to find k different clusters, each represented by a "prototype", defined as the centroid of cluster. The centroid is computed as follows: the jth value in the centroid is the mean (average) of the jth values of all the members of the cluster. Our goal is for every member a cluster to be closer to that cluster's prototype than to any of the other prototypes. Thus a prototype...
Question 1. What is k-means clustering? How does it work? Give a few examples that you...
Question 1. What is k-means clustering? How does it work? Give a few examples that you would use this algorithm. ---------------- Question 2. What is k-nearest neighbor? How does it work? Give a few examples that you would use this algorithm.
In your own words, summarize the steps of K-means clustering. Make sure to give example(s). What...
In your own words, summarize the steps of K-means clustering. Make sure to give example(s). What are the advantages and disadvantages of the K-means clustering? Any limitations?
Analyze the algorithm experimentally. a)Implement the algorithm b)Let p be the string length at which your...
Analyze the algorithm experimentally. a)Implement the algorithm b)Let p be the string length at which your program takes 2 seconds to run, collect running times for your algorithm using the following string lengths: p/4, 2p/4, 3p/4, p, 5p/4, 6p/4, 7p/4, 2p. c)Generate your strings by reading the attached file, only reading as many characters as you need. d)Plot your results (x-axis is string length, y-axis should be time) e)Draw conclusions based on your graph. You may also need to plot...
Use the k-means algorithm and Euclidean distance to cluster the following eight examples into three clusters:...
Use the k-means algorithm and Euclidean distance to cluster the following eight examples into three clusters: A1 = (26, 18), A2 = (20, 26), A3(14, 20), A4(24, 20), A5(14, 30), A6(22, 18), A7(8, 18), A8(12, 14) a. Suppose that the initial seeds (centres of each cluster) are A2, A3, and A8. Run the k-means algorithm for one epoch only. At the end of this epoch, o show the new clusters (i.e., the examples belonging to each cluster); o show the...
(a) Implement the following algorithm, which is given a duplicate-free array array as input, in C++....
(a) Implement the following algorithm, which is given a duplicate-free array array as input, in C++. whatDoIDo (array): 1) Build a heap from array (using buildHeap as explained in class), where the heap starts at position array[0]. 2) Starting from j = size of array - 1, as long as j>0: i. Swap the entries array[0] and array[j]. ii. Percolate down array[0], but only within the subarray array[0..j-1]. iii. Decrement j by 1. Provide three input/output examples for duplicate-free arrays...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT