Chapter 7 Clustering อาจารย์อนุพงศ์ สุขประเสริฐ คณะการบัญชีและการจัดการ มหาวิทยาลัยมหาสารคาม
Content การจัดกลุ่มข้อมูล (Clustering) ความหมายของการจัดกลุ่มด้วยเทคนิค Cluster Analysis วัตถุประสงค์ของ Cluster Analysis คุณสมบัติของเทคนิควิธี Cluster Analysis เทคนิคการจัดกลุ่ม (Clustering Techniques) K-Means Agglomerative Clustering DBSCN- Density Based Spatial Clustering of Applications with Noise
การจัดกลุ่มข้อมูล (Clustering) การจัดกลุ่มข้อมูล (Clustering) ตามหลักการของการ ขุดค้นข้อมูล (Data Mining) จะต่างกับการแบ่งกลุ่มใน เชิงสถิติ เนื่องจากการแบ่งกลุ่มทางสถิติ จะหมายถึง การทำการสุ่มข้อมูล(Sampling) เช่น มีข้อมูล อยู่ 30 กลุ่มซึ่งมีลักษณะไม่แตกต่างกันมาก ก็จะ แบ่งกลุ่มโดยวิธีการสุ่มใช้ข้อมูลเพียงบางกลุ่มเท่านั้น ส่วนการทำการแบ่งกลุ่มทางด้านการขุดค้นข้อมูลนั้น จะหมายถึง การแบ่งกลุ่มที่ต้องใช้ข้อมูลของทุกกลุ่ม ในการหาจุดเด่นของแต่ละกลุ่มออกมาให้เห็นอย่าง ชัดเจน เพื่อได้มาซึ่งลักษณะเฉพาะของกลุ่มนั้นๆน เทคนิคการแบ่งกลุ่มข้อมูล
ความหมายของการจัดกลุ่มด้วยเทคนิค Cluster Analysis Cluster Analysis เป็นเทคนิคที่ใช้จำแนกหรือแบ่ง Case (หมายถึง คน สัตว์ สิ่งของ หรือ องค์กร ฯลฯ)หรือ แบ่งตัวแปรออกเป็นกลุ่มย่อย ๆ ตั้งแต่ 2 กลุ่มขึ้น ไป Case ที่อยู่ในกลุ่มเดียวกันจะมีลักษณะที่เหมือนกันหรือ คล้ายกัน ส่วน Case ที่อยู่ต่างกลุ่มกัน จะมีลักษณะที่ แตกต่างกัน ดังนั้น การพิจารณาเลือกลักษณะหรือตัว แปรที่จะนำมาใช้ในการแบ่งกลุ่ม Case จึงมีความสำคัญ นอกจากนั้น Case ใด Case หนึ่งจะต้องอยู่ในกลุ่มหนึ่ง เพียงกลุ่มเดียวถ้านำเทคนิค Cluster Analysis มาใช้ใน การแบ่งกลุ่มตัวแปร จะให้ตัวแปรอยู่ในกลุ่มเดียวกันมี ความสัมพันธ์กันมากกว่าตัวแปรที่อยู่ต่างกลุ่มกัน ตัวแปร ที่อยู่ต่างกลุ่มกันมีความสัมพันธ์กันน้อยหรือไม่มี ความสัมพันธ์กันเลย ส่วนใหญ่การแบ่งกลุ่มตัวแปรจะใช้ เทคนิค Factor ส่วนการแบ่งกลุ่ม Case (คน สัตว์ สิ่งของ) จะใช้เทคนิค Cluster Analysis
การจัดกลุ่มข้อมูล (Clustering) การทำ Clustering คือการแบ่งกลุ่มข้อมูล ข้อมูลที่มี ลักษณะคล้ายๆ กันอยู่กลุ่มเดียวกัน ข้อมูลที่อยู่คนละ กลุ่มจะมีลักษณะที่แต่ต่างกันมากๆ แต่ละกลุ่มจะ เรียกว่าคลัสเตอร์ (cluster)
วัตถุประสงค์ของ Cluster Analysis เพื่อการลดขนาดข้อมูล (data reduction) ด้วยเทคนิค ที่แม่นยำและมีประสิทธิภาพเป็นอีกแนวทางหนึ่งเพื่อจัด การกับปัญหาดังกล่าว หลักการที่สำคัญของการลด ขนาดข้อมูลคือ การทำให้ข้อมูลตั้งต้นมีขนาดลดลง โดยสูญเสียลักษณะสำคัญของข้อมูลน้อยที่สุด เนื่องจากข้อมูลแต่ละตัวจะมีความสำคัญต่อการจัดกลุ่ม ข้อมูลไม่เท่ากัน ด้วยเทคนิคการเลือกข้อมูลที่ดีจะ ทำให้สามารถเลือกข้อมูลที่มีความสำคัญและสามารถ ใช้เป็นตัวแทนของข้อมูลส่วนใหญ่ได้ ข้อมูลที่มีการ รวมกลุ่มกันอย่างหนาแน่นจะเป็นข้อมูลที่มีความสำคัญ ต่อการจัดกลุ่มข้อมูลในอนาคต
คุณสมบัติของเทคนิควิธี Cluster Analysis 1**ความต้องการทางด้านข้อมูล สำหรับการวิเคราะห์ จัดกลุ่มหน่วยวิเคราะห์ ผู้วิจัยอาจใช้ข้อมูลที่ระบุ หน่วยวิเคราะห์และตัวแปรตามที่จัดเก็บมาได้เลย เช่น การวิเคราะห์ที่ได้ กล่าวมาแล้วข้องต้น ส่วนการ วิเคราะห์จัดกลุ่มตัวแปร ผู้วิจัยไม่อาจจะใช้แฟ้มข้อมูล ดังกล่าวได้โดยใช้เมตริกแสดงความสัมพันธ์ระหว่างตัว แปรแทนได้ 2**แนวคิดพื้นฐาน สิ่งสำคัญที่สุดของการวิเคราะห์การ จัดกลุ่มคือ ตัวแปรที่ใช้หากผู้วิจัยไม่ได้เก็บข้อมูล เกี่ยวกับตัวแปรที่สำคัญ ๆ ผลที่ได้ก็จะไม่ดีหรือทำ ให้ไขว้เขวได้ ทั้งนี้เพราะตัวแปรที่เลือกไว้ตั้งแต่แรก จะเป็นสิ่งที่กำหนดคุณสมบัติของสิ่งที่ระบุความเป็น กลุ่มย่อย เช่นในการจัดกลุ่มโรงเรียนในเมือง หาก ผู้วิจัยไม่เก็บข้อมูลเกี่ยวกับจำนวนนักเรียนและครู ขนาดของโรงเรียนก็ไม่อาจเป็นเกณฑ์ในการแบ่งกลุ่ม ได้
คุณสมบัติของเทคนิควิธี Cluster Analysis 3**ความคล้ายกันของหน่วย ความคิดเกี่ยวกับความ คล้ายของหน่วยศึกษาเป็นเทคนิคของการวิเคราะห์ ทางสถิติหลายวิธี โดยทั่วไปการวัดความคล้ายจะ พิจารณาจากความห่างระหว่างวัตถุ หรือพิจารณา จากความคล้ายกัน ซึ่งจะกล่าวโดยละเอียดในหัวข้อ ต่อไป 4**การวัดความห่าง วิธีการวัดความห่างสามารถวัดได้ หลายวิธี วิธีการหนึ่งที่นิยมวัดกันมากก็คือ วิธีที่ เรียกว่า ระยะห่างเชิงยูคลิดยกกำลังสอง (Squared Euclidean distance) คือ ผลรวมของผลต่างยก กำลังสองของทุกตัวแปร เช่น ต้องการดูความห่าง กันของเบียร์ 2 ยี่ห้อ ซึ่งทราบราคา
Problem ไม่รู้ว่าจะเลือก k ยังไง (อาจจะเป็นว่าเรารู้ล่วงหน้า ว่ามีกี่กลุ่ม ซึ่งไม่เสมอไป เราอาจจะต้องค่อยๆ เปลี่ยนค่า k ไปเรื่อยๆ แล้วค่อยดูว่าแบบไหนดี) ตอนเริ่มจะเลือกแรนดอมมายังไงจะใช้อะไรตัดสิน (เราอาจจะบอก software ได้ว่าจะเลือกแบบไหน แล้วแต่ domain knowledge) k-means เลยมีข้อเสียในกรณีเริ่มต้นแบบนี้ การแบ่ง cluster เราอาจจะดูจากระยะห่างระหว่าง cluster-cluster ว่ามันห่างกันดีรึเปล่า อาจจะมีปัญหาเรื่องกลุ่มกราฟหน้าตาแปลกๆ มันจะ ตัดกลุ่มออกมาได้ไม่ดี (วิธีแก้ บางคนบอกว่าให้แยก เยอะๆ แล้วพอแยกเสร็จ ก็ค่อยเอามารวมกันให้เป็ นกลุ่ม
เทคนิคการจัดกลุ่ม การจัดข้อมูลให้อยู่ในกลุ่มต่างๆ จะต้องมีการวัดค่า ความคล้ายคลึง (similarity) หรือค่าระยะห่าง (distance) ระหว่างข้อมูลแต่ละตัว ค่าระยะห่างที่นิยมใช้ เช่น ระยะห่างยูคลิเดียน (Euclidean distance)
การจัดกลุ่มแบบ K-means Clustering K-means คือ หนึ่งในอัลกอริทึมเทคนิคการเรียนรู้ โดยไม่มีผู้สอนที่ง่ายที่สุด เพราะเป็นการแก้ปัญหา การจัดกลุ่มที่รู้จักกันทั่วไป โดยอัลกอริทึม K- Means จะตัดแบ่ง (Partition) วัตถุออกเป็น K กลุ่ม โดยแทนแต่ละกลุ่มด้วยค่าเฉลี่ยของกลุ่ม ซึ่งใช้เป็น จุดศูนย์กลาง (centroid) ของกลุ่มในการวัดระยะห่าง ของข้อมูลในกลุ่มเดียวกัน ในขั้นแรกของการจัดกลุ่ม โดยการหาค่าเฉลี่ยแบบเคย์ต้องกำหนดจำนวนกลุ่ม (K) ที่ต้องการ และกำหนดจุดศูนย์กลางเริ่มต้น จำนวน K จุด สิ่งสำคัญในการกำหนดจุดศูนย์กลาง เริ่มต้นของแต่ละกลุ่มนี้ ควรจะถูกกำหนดด้วยวิธีที่ เหมาะสม เพราะตำแหน่งจุดศูนย์กลางเริ่มต้นที่ แตกต่างกันทำให้ได้ผลลัพธ์สุดท้ายแตกต่างกัน
การจัดกลุ่มแบบ K-means Clustering
ชนิดของตัวแปรที่ใช้ในเทคนิค K-means Clustering ตัวแปรที่ใช้ในเทคนิค K-Means Clustering จะต้อง เป็นตัวแปรเชิงปริมาณ คือ เป็นสเกลอันตรภาค (Interval Scale) หรือสเกลอัตราส่วน (Ratio Scale) โดยไม่สามารถใช้กับข้อมูลที่อยู่ในรูปความถี่ หรือ Binary เหมือนเทคนิค Hierarchical
อัลกอริทึมการจัดกลุ่มโดย K-means 1. กำหนดจำนวนกลุ่ม K กลุ่ม และกำหนดจุดศูนย์กลาง เริ่มต้นจำนวน K จุด 2. นำวัตถุทั้งหมดจัดเข้ากลุ่มที่มีจุดศูนย์กลางที่อยู่ใกล้ วัตถุนั้นมากที่สุด โดยคำนวณจากการวัดระยะห่าง ระหว่างจุดที่น้อยที่สุด 3. คำนวณจุดศูนย์กลาง K จุดใหม่ โดยหาจากค่าเฉลี่ย ทุกวัตถุที่อยู่ในกลุ่ม 4. ทำซ้ำในข้อ 2. จนกระทั่งจุดศูนย์กลางไม่เปลี่ยนแปลง
อัลกอริทึมการจัดกลุ่มโดย K-means
อัลกอริทึมการจัดกลุ่มโดย K-means รูป (a) เป็นการจัดกลุ่มในขั้นตอนแรกโดยที่กำหนด จำนวนกลุ่ม 3 กลุ่ม และกำหนดจุดศูนย์กลางเริ่มต้น ซึ่งใช้สัญลักษณ์ + แทนจุดศูนย์กลางของแต่ละกลุ่ม ทั้ง 3 กลุ่ม จากนั้นวัตถุจะถูกกำหนดให้เข้ากลุ่มที่มีจุด ศูนย์กลางอยู่ใกล้วัตถุนั้นมากที่สุดแสดงได้ดัง รูป (b) จุดศูนย์กลางมีการเปลี่ยนแปลงและเกิด ความสัมพันธ์ระหว่างวัตถุกับจุดศูนย์กลางใหม่ และ จัดวัตถุให้เข้ากลุ่มที่มีจุดศูนย์กลางอยู่ใกล้กับวัตถุนั้น มากที่สุดดังรูป (c)ทำซ้ำเช่นนี้ไปเรื่อย ๆ จนกระทั่ง จุดศูนย์กลางไม่เปลี่ยนแปลงจึงจะได้ผลลัพธ์สุดท้ายดัง รูป (d)
Problem with centroid problem เราอาจจะไปหาเทคนิคอื่นๆ เพื่อหาค่า k มาก่อน แล้วค่อยเอามาหา k-means
Hierarchical Method Agglomerative Methods (bottom-up)แยกเดี่ยว ก่อน Divisive( top-down) รวมใหญ่ก่อน ดีกว่า k-mean ตรงที่ไม่ต้องก าหนดค่า k แต่ว่าถ้าตอนแรกๆ แยก แล้วเรารวมกันขึ ้นไป ก็จะ backtrack กลับมาไม่ได้ รวมแล้วรวมเลย
How to Find K -อาจจะทำ hierarchical แล้วดูว่าจะแบ่งยังไงดี แล้ว ค่อยเลือก k
DBSCAN (density base –solved K-means) ทำ clustering โดยใช้ความหนาแน่น Core point: เป็นจุดที่มี neighbor เยอะๆ ถ้า core มันรวมกันได้ ก็จะ merge เป็นกลุ่มเดียวกัน Border point: Noise point: ใช้ความหนาแน่น ทำให้สามารถใช้ได้กับ shape ที่ แปลกๆ ขนาดต่างๆ
Clustering Validation Cluster interpretation: วัดกันด้วยความหมายของ cluster ว่าสามารถตีความได้ดีหรือไม่ จะใช้ visualization tools ช่วย Cluster Stability: Cluster Separation ดู distance ของ cluster
Interpretation ใช้ stat มาช่วยอธิบาย เวลาทำ clustering แล้ว อาจจะเอาตัวแปรที่ไม่ได้ ใช้ทำ clustering มาเป็นตัว visualize
Evaluating K-means Cluster ใช้ SSE ดู เป็ นการดูความห่างของobject แต่ละ cluster โดยเราอยากได้อันที่มี SSE ต ่าๆ k มาก SSE จะต่ำลง แต่ว่า good clustering > k น้อย SSE ต ่าด้วย
Cluster Evaluating - ทำแบบตอนแรก คือเรารู้ label แล้วเอามาแยก โดยใช้ clustering วัดดูว่าตรงมากตรงน้อยแค่ไหน
Cluster Validation วัดด้วย F-measure เลยก็ได้ แต่วิธีที่ดีที่สุด คือดูด้วยตาคน
The end Q & A