- May 12, 2014
- Vasilis Vryniotiso
- . 4 ความคิดเห็น
โพสต์บล็อกนี้เป็นส่วนที่สองของชุดบทความเกี่ยวกับแบบจำลองส่วนผสมของ 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 🙂
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- กล่องข้อมูล
- การเรียนรู้ลึก ๆ
- google ai
- เรียนรู้เครื่อง
- แมชชีนเลิร์นนิงและสถิติ
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- ลมทะเล