830 likes | 2.84k Views
جامعة تشرين كلية الهندسة الميكانيكية والكهربائية قسم هندسة الحاسبات والتحكم الآلي السنة الخامسة – الفصل الأول التعرف على النماذج – عملي. الجلسة الرابعة التحليل العنقودي Clustering Analysis تشرح لكل الفئات. إعداد مهندسو العملي محمد كفا – وسيم أحمد – بهاء هاشم. outlines. Clustering
E N D
جامعة تشرين كلية الهندسة الميكانيكية والكهربائية قسم هندسة الحاسبات والتحكم الآلي السنة الخامسة – الفصل الأول التعرف على النماذج – عملي الجلسة الرابعةالتحليل العنقوديClustering Analysisتشرح لكل الفئات إعداد مهندسو العملي محمد كفا – وسيم أحمد – بهاء هاشم
outlines • Clustering • Clustering vs. classification • proximity matrix • clustering algorithm • partition clustering • k means • Hierarchical clustering • agglomerative approach
Classification vs. clustering • Clustering • Unsupervised learning • Unknown classes • Classification • Supervised learning • Known classes • Differences only in training stage • The goal for both is to classify a new pattern to a group
Terms • Sample : Value , 2D , 3D , N-Dimensions • Student1 : 77 , student2 : 89 • Student1 : (66,67) , student2 : (87,97) • Sample = pattern – object – observation – item
proximity matrix • One dimension samples
proximity matrix • 2 Dimensions samples
proximity matrix using MATLAB • Y = pdist(x,parameter) • z = squareform(Y) • X = [25 11;33 11;34 13;35 18]; • y = pdist(X,'euclidean') • y = 8.0000 9.2195 12.2066 2.2361 7.2801 5.0990 • z = squareform(y)
k-means clustering • k is the number of clusters
K-means clusteringNumeric Example • We want to cluster these four samples\objects into two groups using k means algorithm. • Notes : • Two clusters … so we have k = 2 • K = 2 … so we can start with two centoid
K-means clusteringNumeric Example • plot samples!
K-means clusteringNumeric Example • First step : arbitrary centriods • c1 = (1,1) c2 = (2,1)
K-means clusteringNumeric Example • Euclidean distance between each sample and centroids c1 = (1,1) , c2 = (2,1)
K-means clusteringNumeric Example • Iter 1 : computing New centroids • c1 = (1,1)
K-means clusteringNumeric Example • iter 1 : Euclidean distance between each sample and centroids c1 = (1,1) , c2 = (11/3,8/3)
K-means clusteringNumeric Example • iter 2 : Computing new centroids
K-means clusteringNumeric Example • iter 1 : Euclidean distance between each sample and centroids c1(1.5,1) , c2(4.5,3.5)
k-means clustering using MATLAB • Matlab Statistical Toolbox • [IDX,C] = kmeans(X,k)
Hierarchical Clustering • dendrogram
Hierarchical Clustering • cutoff point : to produce custom clusters
Hierarchical Clustering • agglomerative approach • divisive approach
Agglomerative Hierarchical ClusteringNumeric Example • run agglomerative Hierarchical Clustering on this Data set.
Agglomerative Hierarchical ClusteringNumeric Example • first step: Compute distance matrix (Euclidean distance)
Agglomerative Hierarchical ClusteringNumeric Example • second step : Compute Linkages between groups • Single Linkage Complete linkage • average group centroid cretria
Agglomerative Hierarchical ClusteringNumeric Example • distance(D,F) = 0.5 (the minimum) • five groups : A , B , C , (D,F) , E
Agglomerative Hierarchical ClusteringNumeric Example • recompute distance matrix for the five groups
Agglomerative Hierarchical ClusteringNumeric Example • distance(A,B) = 0.71 (the minimum) • four groups : (A,B) , C , (D,F) , E
Agglomerative Hierarchical ClusteringNumeric Example • distance((D,F),E) = 1.00 (the minimum) • three groups: (A,B) , C , ((D,F),E)
Agglomerative Hierarchical ClusteringNumeric Example • distance( C, ((D,F),E) ) = 1.41 (the minimum) • two groups: (A,B) , ((C, ((D,F),E))
Agglomerative Hierarchical ClusteringNumeric Example • Dendrogram : minumu distances in each step are : 0.5 , 0.71 , 1 , 1.41 , 2.5
وظائف اختيارية • ملاحظة 1: الطالب الذي يقدم الوظيفة يقوم بمقابلة مدتها 5 دقائق لشرح وظيفته باختصار. • ملاحظة 2:الطالب الذي يقدم وظيفة أو أكثر من الوظائف المعروضة في المحاضرة يتم مقابلته مع أحد مهندسي العملي لمدة 5 دقائق يشرح فيها الحل\الاجابة وله ثلاث علامات تضاف لعلامته في المذاكرة أو الامتحان.
وظيفة 1 • وظيفة 1 : اكتب مجموعة التعليمات البرمجية (بلغة الماتلاب) والتي من خلالها نستطيع تحديد نقطة قطع cutoff مناسبة وعدد المجموعات\العناقيد المطلوبة. • write matlab code to applying cutoff point on resulting dendrogram to get the clusters.
وظيفة 2 • وظيفة 2 : تقديم حلقة بحث عن التحليل العنقودي التجميعي divisive Hierarchical Clustering (مدعمة بمثال عددي). (تقدم باللغة العربية بعد ترجمتها في حال كان المصدر أجنبيا)
وظيفة 3 • وظيفة 3 : تحقيق خوارزمية k means بكود برمجي بلغة matlab أو أي لغة برمجة شهيرة (C++ , C# , VB , Java …).
وظيفة 4 • وظيفة 4 : تحقيق خوارزمية agglomerative Hierarchical clustering بكود برمجي بلغة matlab أو أي لغة برمجة شهيرة (C++ , C# , Java …)
وظيفة 5 • وظيفة 5 : تقديم حلقة بحث عن العنقدة باستخدام خوارزمية k means clusteringباستخدام برنامج Excel من شركة مايكروسوفت.
وظيفة 6 • وظيفة 6 : تقديم حلقة بحث عن العنقدة باستخدام خوارزمية k means clustering باستخدام برنامج R project an opensource (free) statistical computing software.