โมเดลไฟไนต์มิกซ์เจอร์อิงตามการกระจายข้อมูลอัจฉริยะของ PlatoBlockchain ของ Dirichlet ค้นหาแนวตั้ง AI.

แบบจำลองส่วนผสมแบบจำกัดตามการกระจายแบบไดริชเลต

โพสต์บล็อกนี้เป็นส่วนที่สองของชุดบทความเกี่ยวกับแบบจำลองส่วนผสมของ Dirichlet Process ในบทความก่อนหน้านี้เรามี ภาพรวมของเทคนิคการวิเคราะห์คลัสเตอร์ต่างๆ และเราได้พูดคุยถึงปัญหา/ข้อจำกัดบางประการที่เกิดขึ้นจากการใช้สิ่งเหล่านี้ นอกจากนี้ เราได้นำเสนอแบบจำลองส่วนผสมของกระบวนการ Dirichlet โดยสังเขป เราได้พูดคุยกันถึงสาเหตุว่าทำไมจึงมีประโยชน์ และเราได้นำเสนอการใช้งานบางส่วน

อัปเดต: ขณะนี้ Datumbox Machine Learning Framework เป็นโอเพ่นซอร์สและฟรีสำหรับ ดาวน์โหลด. ตรวจสอบแพ็คเกจ com.datumbox.framework.machinelearning.clustering เพื่อดูการใช้งาน Dirichlet Process Mixture Models ใน Java

แบบจำลองส่วนผสมของกระบวนการ Dirichlet อาจเป็นเรื่องยากที่จะกลืนในตอนเริ่มต้น เนื่องจากเป็นแบบจำลองส่วนผสมที่ไม่มีที่สิ้นสุดซึ่งมีการนำเสนอที่แตกต่างกันมากมาย โชคดีที่วิธีที่ดีในการเข้าหาตัวแบบคือเริ่มจาก Finite Mixture Models กับ Dirichlet Distribution แล้วย้ายไปที่ตัวแบบอนันต์

ดังนั้น ในบทความนี้ ผมจะนำเสนอการแจกแจงที่สำคัญบางอย่างที่เราจำเป็นต้องใช้โดยย่อ เราจะใช้พวกมันเพื่อสร้าง Dirichlet Prior with Multinomial Likelihood model จากนั้นเราจะย้ายไปที่ Finite Mixture Model ตามการแจกแจง Dirichlet

1. การกระจายเบต้า

พื้นที่ การกระจายเบต้า เป็นแฟมิลีของการแจกแจงแบบต่อเนื่องซึ่งกำหนดไว้ในช่วง [0,1] มันถูกสร้างพารามิเตอร์โดยพารามิเตอร์บวกสองตัว a และ b และรูปแบบของมันขึ้นอยู่กับการเลือกพารามิเตอร์สองตัวนั้นอย่างมาก

ภาพ

รูปที่ 1: การกระจายเบต้าสำหรับพารามิเตอร์ a, b ที่แตกต่างกัน

โดยทั่วไป การแจกแจงแบบเบต้าจะใช้เพื่อสร้างแบบจำลองการแจกแจงเหนือความน่าจะเป็นและมีความหนาแน่นของความน่าจะเป็นดังต่อไปนี้:

ภาพ

สมการที่ 1: เบต้า PDF

โดยที่ Γ(x) คือฟังก์ชันแกมมาและ a, b คือพารามิเตอร์ของการแจกแจง เบต้ามักใช้เป็นค่าการกระจายของค่าความน่าจะเป็น และทำให้เรามีโอกาสที่ความน่าจะเป็นแบบจำลองจะเท่ากับค่าเฉพาะ P = p0 ตามคำจำกัดความ การแจกแจงแบบเบต้าสามารถจำลองความน่าจะเป็นของผลลัพธ์ไบนารีซึ่งรับค่าจริงหรือเท็จ พารามิเตอร์ a และ b ถือได้ว่าเป็นการนับเทียมของความสำเร็จและความล้มเหลวตามลำดับ ดังนั้นการกระจายเบต้าจึงจำลองความน่าจะเป็นของความสำเร็จโดยพิจารณาจากความสำเร็จและความล้มเหลวข

2. การกระจาย Dirichlet

พื้นที่ การกระจาย Dirichlet เป็นลักษณะทั่วไปของการกระจายเบต้าสำหรับผลลัพธ์หลายรายการ (หรืออีกนัยหนึ่งใช้สำหรับเหตุการณ์ที่มีหลายผลลัพธ์) กำหนดพารามิเตอร์ด้วยพารามิเตอร์ k ai ซึ่งต้องเป็นบวก Dirichlet Distribution เท่ากับ Beta Distribution เมื่อจำนวนตัวแปร k = 2

ภาพ

รูปที่ 2: การกระจาย Dirichlet สำหรับ a . ต่างๆi พารามิเตอร์

โดยทั่วไป การแจกแจงแบบ Dirichlet จะใช้เพื่อสร้างแบบจำลองการแจกแจงเหนือความน่าจะเป็นและมีความหนาแน่นของความน่าจะเป็นดังต่อไปนี้:

ภาพ

สมการที่ 2: Dirichlet PDF

โดยที่ Γ(x) คือฟังก์ชันแกมมา pi รับค่าใน [0,1] และ Σpi=1. การกระจายแบบ Dirichlet จำลองการกระจายร่วมของ pi และให้โอกาสพี1=p1,P2=p2,….,พี่K-1=pK-1 กับพีk=1 – ΣPi. เช่นเดียวกับกรณีของเบต้า ai พารามิเตอร์ถือได้ว่าเป็นการนับเทียมการปรากฏตัวของเหตุการณ์ i แต่ละครั้ง การแจกแจงแบบ Dirichlet ใช้เพื่อจำลองความน่าจะเป็นของเหตุการณ์ที่เกิดขึ้นจากการแข่งขัน k รายการ และมักแสดงเป็น Dirichlet(a)

3. Dirichlet ก่อนหน้าที่มีความเป็นไปได้พหุนาม

ดังที่กล่าวไว้ก่อนหน้านี้ การแจกแจง Dirichlet สามารถเห็นเป็นการแจกแจงเหนือการแจกแจงความน่าจะเป็น ในกรณีที่เราต้องการจำลองความน่าจะเป็นของเหตุการณ์ k ที่เกิดขึ้น วิธีแบบเบย์จะใช้ ความน่าจะเป็นพหุนามและ Dirichlet Priors .

ด้านล่างเราจะเห็นรูปแบบกราฟิกของแบบจำลองดังกล่าว

ภาพ

รูปที่ 3: แบบจำลองกราฟิกของ Dirichlet Priors ที่มีความน่าจะเป็นพหุนาม

ในแบบจำลองกราฟิกด้านบน α เป็นเวกเตอร์ขนาด ak ที่มีพารามิเตอร์ไฮเปอร์พารามิเตอร์ของ Dirichlet Priors p คือเวกเตอร์มิติ ak ที่มีค่าความน่าจะเป็นและ xi เป็นค่าสเกลาร์ตั้งแต่ 1 ถึง k ซึ่งบอกเราว่าเหตุการณ์ใดเกิดขึ้น ในที่สุด เราควรสังเกตว่า P ตามหลังการแจกแจงของ Dirichlet ที่กำหนดพารามิเตอร์ด้วยเวกเตอร์ α และด้วยเหตุนี้ P ~ Dirichlet(α) ในขณะที่ xi ตัวแปรตามการแจกแจงแบบแยกส่วน (Multinomial) ที่กำหนดพารามิเตอร์ด้วยเวกเตอร์ p ของความน่าจะเป็น โมเดลลำดับชั้นที่คล้ายกันสามารถใช้ในการจัดประเภทเอกสารเพื่อแสดงการกระจายความถี่ของคีย์เวิร์ดในหัวข้อต่างๆ

4. แบบจำลองส่วนผสมไฟไนต์พร้อมการกระจายไดริชเล็ต

โดยใช้ Dirichlet Distribution เราสามารถสร้าง a รุ่นผสมไฟไนต์ ซึ่งสามารถนำไปใช้ทำคลัสเตอร์ได้ สมมติว่าเรามีรูปแบบต่อไปนี้:

ภาพ

ภาพ

ภาพ

ภาพ

สมการที่ 3: แบบจำลองส่วนผสมไฟไนต์พร้อมการกระจายไดริชเล็ต

โมเดลข้างต้นถือว่ามีดังต่อไปนี้: เรามีชุดข้อมูล X ที่มีการสังเกต n ครั้ง และเราต้องการวิเคราะห์คลัสเตอร์กับมัน k คือจำนวนจำกัดคงที่ซึ่งแสดงจำนวนกลุ่ม/ส่วนประกอบที่เราจะใช้ คi ตัวแปรเก็บการกำหนดคลัสเตอร์ของการสังเกต Xiพวกเขาใช้ค่าตั้งแต่ 1 ถึง k และทำตามการแจกแจงแบบแยกส่วนด้วยพารามิเตอร์ p ซึ่งเป็นความน่าจะเป็นแบบผสมของส่วนประกอบ F คือการแจกแจงกำเนิดของ X ของเราและมันถูกสร้างพารามิเตอร์ด้วยพารามิเตอร์ ภาพ ซึ่งขึ้นอยู่กับการกำหนดคลัสเตอร์ของการสังเกตแต่ละครั้ง โดยรวมแล้วเรามี k ที่ไม่เหมือนใคร ภาพ พารามิเตอร์เท่ากับจำนวนคลัสเตอร์ของเรา ดิ ภาพ ตัวแปรเก็บพารามิเตอร์ที่กำหนดพารามิเตอร์การแจกแจงกำเนิด F และเราถือว่าเป็นไปตามฐาน G0 การกระจาย. ตัวแปร p เก็บเปอร์เซ็นต์ของส่วนผสมสำหรับทุกกลุ่ม k และติดตาม Dirichlet ด้วยพารามิเตอร์ α/k ในที่สุด α เป็นเวกเตอร์ขนาด ak ที่มีไฮเปอร์พารามิเตอร์ (จำนวนเทียม) ของการแจกแจงแบบดิริชเล็ต [2]

ภาพ

รูปที่ 4: แบบจำลองกราฟิกของแบบจำลองส่วนผสมแบบจำกัดที่มีการกระจายแบบไดริชเล็ต

วิธีอธิบายแบบจำลองที่ง่ายและใช้คณิตศาสตร์น้อยกว่ามีดังนี้ เราคิดว่าข้อมูลของเราสามารถจัดกลุ่มเป็น k คลัสเตอร์ แต่ละคลัสเตอร์มีพารามิเตอร์ของตัวเอง ภาพ และพารามิเตอร์เหล่านั้นใช้ในการสร้างข้อมูลของเรา พารามิเตอร์ ภาพ จะถือว่าเป็นไปตามการแจกแจงบ้าง G0. การสังเกตแต่ละครั้งจะแสดงด้วยเวกเตอร์ xi และ aci ค่าซึ่งระบุคลัสเตอร์ที่เป็นของ ดังนั้น ci สามารถมองเห็นได้เป็นตัวแปรที่ตามหลังการแจกแจงแบบแยกส่วนโดยมีพารามิเตอร์ p ซึ่งไม่มีอะไรเลยนอกจากความน่าจะเป็นแบบผสม กล่าวคือ ความน่าจะเป็นที่จะเกิดขึ้นของแต่ละคลัสเตอร์ เนื่องจากเราจัดการกับปัญหาในแบบเบย์ เราไม่ถือว่าพารามิเตอร์ p เป็นเวกเตอร์ที่ไม่รู้จักคงที่ แต่เราคิดว่า P ตามหลัง Dirichlet ซึ่งกำหนดพารามิเตอร์โดยไฮเปอร์พารามิเตอร์ α/k

5. การทำงานกับกลุ่ม k ที่ไม่มีที่สิ้นสุด

แบบจำลองส่วนผสมก่อนหน้านี้ช่วยให้เราสามารถดำเนินการเรียนรู้แบบไม่มีผู้ดูแล ตามแนวทางแบบเบย์ และสามารถขยายให้มีโครงสร้างแบบลำดับชั้นได้ อย่างไรก็ตาม แบบจำลองนี้มีขอบเขตจำกัดเนื่องจากใช้จำนวนคลัสเตอร์ที่กำหนดไว้ล่วงหน้าจำนวน k ค่าคงที่ ด้วยเหตุนี้ เราจึงต้องกำหนดจำนวนส่วนประกอบก่อนทำการวิเคราะห์คลัสเตอร์ และดังที่เราได้กล่าวไว้ก่อนหน้านี้ในแอปพลิเคชันส่วนใหญ่ สิ่งนี้ไม่เป็นที่รู้จักและไม่สามารถประมาณค่าได้ง่าย

วิธีหนึ่งในการแก้ปัญหานี้คือจินตนาการว่า k มีค่ามากซึ่งมีแนวโน้มเป็นอนันต์ เราสามารถจินตนาการถึงขีดจำกัดของโมเดลนี้เมื่อ k มีแนวโน้มเป็นอนันต์ หากเป็นกรณีนี้ เราจะเห็นได้ว่าถึงแม้จำนวนคลัสเตอร์ k จะไม่มีที่สิ้นสุด แต่จำนวนจริงของคลัสเตอร์ที่ทำงานอยู่ (ซึ่งมีการสังเกตอย่างน้อยหนึ่งครั้ง) ก็ไม่สามารถมากกว่า n ได้ (ซึ่งก็คือ จำนวนการสังเกตทั้งหมดในชุดข้อมูลของเรา) อันที่จริงแล้วเราจะเห็นในภายหลังว่าจำนวนคลัสเตอร์ที่ใช้งานจะน้อยกว่า n อย่างมีนัยสำคัญและจะเป็นสัดส่วนกับ ภาพ.

แน่นอนว่าการใช้ลิมิตของ k เป็นอนันต์ไม่ใช่เรื่องเล็กน้อย มีคำถามมากมายเกิดขึ้น เช่น เป็นไปได้ไหมที่จะจำกัดขอบเขตดังกล่าว โมเดลนี้จะมีลักษณะอย่างไรและ เราจะสร้างได้อย่างไร และใช้แบบจำลองดังกล่าว

ในบทความถัดไป เราจะเน้นที่คำถามเหล่านี้: เราจะกำหนดกระบวนการ Dirichlet เราจะนำเสนอตัวแทนต่างๆ ของ DP และสุดท้ายเราจะเน้นที่กระบวนการร้านอาหารจีน ซึ่งเป็นวิธีสร้างกระบวนการ Dirichlet ที่ใช้งานง่ายและมีประสิทธิภาพ

ฉันหวังว่าคุณจะพบว่าโพสต์นี้มีประโยชน์ หากคุณทำเช่นนั้น โปรดสละเวลาสักครู่เพื่อแบ่งปันบทความบน Facebook และ Twitter 🙂

ประทับเวลา:

เพิ่มเติมจาก กล่องข้อมูล