Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Model-based Clustering คืออะไร? แนวคิด อัลกอริทึม และข้อจำกัด


Model-based Clustering (การจัดกลุ่มแบบมีแบบจำลอง) เป็นแนวทางทางสถิติสู่การจัดกลุ่มข้อมูล (Data Clustering) ข้อมูลที่สังเกตได้ (Multivariate Data) ถูกพิจารณาว่าถูกสร้างขึ้นจากการผสมผสานจำกัดของแบบจำลองส่วนประกอบ (Component Models) แต่ละส่วนประกอบเป็นการแจกแจงความน่าจะเป็น (Probability Distribution) โดยทั่วไปเป็นการแจกแจงพารามิเตอร์หลายมิติ (Parametric Multivariate Distribution)

ตัวอย่างเช่น ในโมเดล Gaussian Mixture แบบหลายมิติ แต่ละส่วนประกอบคือการแจกแจง Gaussian แบบหลายมิติ ส่วนประกอบที่รับผิดชอบในการสร้างการสังเกตการณ์เฉพาะจะกำหนดกลุ่ม (Cluster) ที่การสังเกตการณ์นั้นเป็นของ

Model-based Clustering พยายามปรับปรุงความเข้ากันได้ (Fit) ระหว่างข้อมูลที่กำหนดและแบบจำลองทางคณิตศาสตร์บางแบบ และอาศัยสมมติฐานว่าข้อมูลถูกสร้างโดยการผสมผสานของการแจกแจงความน่าจะเป็นพื้นฐาน

ประเภทของ Model-based Clustering

แนวทางทางสถิติ (Statistical Approach)

Expectation Maximization (EM) เป็นอัลกอริทึมปรับปรุงแบบวนซ้ำที่นิยม เป็นส่วนขยายของ k-means:

  • สามารถกำหนดแต่ละวัตถุให้กับกลุ่มตามน้ำหนัก (Probability Distribution)

  • ค่าเฉลี่ยใหม่ (New Means) ถูกคำนวณจากการวัดน้ำหนัก

แนวคิดพื้นฐาน:

  • เริ่มต้นด้วยการประมาณค่าเริ่มต้นของเวกเตอร์พารามิเตอร์

  • ใช้เพื่อให้คะแนนรูปแบบซ้ำๆ ต่อความหนาแน่นของการผสมผสานที่สร้างโดยเวกเตอร์พารามิเตอร์

  • รูปแบบที่ได้คะแนนใหม่ถูกใช้เพื่ออัปเดตการประมาณค่าพารามิเตอร์

  • รูปแบบจะถูกจัดเป็นกลุ่มเดียวกัน หากถูกวางโดยคะแนนของพวกเขาในส่วนประกอบเฉพาะ

อัลกอริทึม EM

  • เริ่มต้น: กำหนดศูนย์กลาง k กลุ่มแบบสุ่ม

  • ปรับปรุงกลุ่มแบบวนซ้ำตาม 2 ขั้นตอน:

Expectation Step (E-step): กำหนดแต่ละจุดข้อมูล Xi ให้กับกลุ่ม Ck ด้วยความน่าจะเป็นดังนี้:

$$\mathrm{P(X_{i}\in\:C_{k})\:=\:P(C_k\arrowvert\:X_i)\:=\:\frac{P(C_k)P(X_i\arrowvert\:C_k)}{P(X_i)}}$$

Maximization Step (M-step): ใช้เพื่อประมาณค่าพารามิเตอร์ของโมเดล:

$$\mathrm{m_k\:=\:\frac{1}{N}\displaystyle\sum\limits_{i=1}^N \frac{X_{i}P(X_i\:\in\:C_k)}{X_{j}P(X_i)\in\:C_j}}$$

แนวทาง Machine Learning

Machine Learning เป็นแนวทางที่สร้างอัลกอริทึมซับซ้อนสำหรับการประมวลผลข้อมูลขนาดใหญ่ และส่งผลลัพธ์ให้ผู้ใช้ ใช้โปรแกรมซับซ้อนที่สามารถเรียนรู้จากประสบการณ์และทำการพยากรณ์ได้ อัลกอริทึมพัฒนาตัวเองด้วยการป้อนข้อมูลฝึกอบรม (Training Data) บ่อยๆ วัตถุประสงค์หลักคือเรียนรู้ข้อมูลและสร้างแบบจำลองจากข้อมูลที่มนุษย์เข้าใจและใช้ได้

เป็นแนวทางที่มีชื่อเสียงของการเรียนรู้แนวคิดเชิงเพิ่มระดับ (Incremental Conceptual Learning) ซึ่งสร้างการจัดกลุ่มแบบลำดับชั้น (Hierarchical Clustering) ในรูปแบบต้นไม้การจัดประเภท (Classification Tree) แต่ละโหนด (Node) กำหนดแนวคิดและรวมถึงการแทนค่าความน่าจะเป็นของแนวคิดนั้น

ข้อจำกัด (Limitations)

  • สมมติฐานที่ว่าแอตทริบิวต์ (Attributes) เป็นอิสระต่อกัน มักจะเข้มงวดเกินไป เพราะความสัมพันธ์ (Correlation) อาจมีอยู่

  • ไม่เหมาะสำหรับการจัดกลุ่มข้อมูลฐานข้อมูลขนาดใหญ่ ต้นไม้เอียง (Skewed Trees) และการแจกแจงความน่าจะเป็นที่มีต้นทุนสูง

แนวทาง Neural Network

แนวทาง Neural Network แทนแต่ละกลุ่มด้วยตัวอย่าง (Exemplar) ทำหน้าที่เป็นต้นแบบ (Prototype) ของกลุ่ม วัตถุใหม่จะถูกจัดสรรให้กับกลุ่มที่ตัวอย่างของมันคล้ายที่สุดตามเกณฑ์วัดระยะทางบางอย่าง