ต้นขั้ว โมเดลแมชชีนเลิร์นนิงแบบกำเนิดและแบบเลือกปฏิบัติ - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

โมเดลแมชชีนเลิร์นนิงแบบกำเนิดและแบบเลือกปฏิบัติ

mm
วันที่อัพเดท on

โมเดลการเรียนรู้ของเครื่องบางรุ่นอยู่ในหมวดหมู่โมเดล "เชิงกำเนิด" หรือ "เลือกปฏิบัติ" แต่สิ่งที่เป็น ความแตกต่างระหว่าง โมเดลทั้งสองประเภทนี้? การที่ตัวแบบเลือกปฏิบัติหรือสร้างสรรค์หมายความว่าอย่างไร

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

แบบจำลองกำเนิดเทียบกับแบบจำลองการเลือกปฏิบัติ

มีหลายวิธีในการจัดหมวดหมู่โมเดลแมชชีนเลิร์นนิง แบบจำลองสามารถจัดอยู่ในหมวดหมู่ต่างๆ เช่น: แบบจำลองกำเนิด, แบบจำลองจำแนก, แบบจำลองพาราเมตริก, แบบจำลองที่ไม่ใช่พาราเมตริก, แบบจำลองแบบต้นไม้, แบบจำลองที่ไม่ใช่แบบต้นไม้

บทความนี้จะมุ่งเน้นไปที่ความแตกต่างระหว่างตัวแบบกำเนิดและตัวแบบเลือกปฏิบัติ เราจะเริ่มต้นด้วยการกำหนดทั้งแบบจำลองเชิงกำเนิดและแบบจำลองเชิงจำแนก จากนั้นเราจะสำรวจตัวอย่างบางส่วนของแบบจำลองแต่ละประเภท

รุ่นทั่วไป

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

โดยทั่วไปจะใช้แบบจำลองเชิงกำเนิดเพื่อประเมินความน่าจะเป็นและความเป็นไปได้ สร้างแบบจำลองจุดข้อมูล และแยกแยะระหว่างชั้นเรียนตามความน่าจะเป็นเหล่านี้ เนื่องจากโมเดลเรียนรู้การแจกแจงความน่าจะเป็นสำหรับชุดข้อมูล จึงอ้างอิงการแจกแจงความน่าจะเป็นนี้เพื่อสร้างอินสแตนซ์ข้อมูลใหม่ได้ โมเดลกำเนิดมักจะพึ่งพา ทฤษฎีบทเบส์ เพื่อหาความน่าจะเป็นร่วม การหา p(x,y) โดยพื้นฐานแล้ว โมเดลเชิงกำเนิดจะจำลองวิธีการสร้างข้อมูล ให้ตอบคำถามต่อไปนี้:

“ความเป็นไปได้ที่คลาสนี้หรือคลาสอื่นสร้างจุดข้อมูล/อินสแตนซ์นี้เป็นอย่างไร”

ตัวอย่างของโมเดลแมชชีนเลิร์นนิงเชิงกำเนิด ได้แก่ การวิเคราะห์การเลือกปฏิบัติเชิงเส้น (LDA), โมเดลมาร์คอฟที่ซ่อนอยู่ และเครือข่ายเบส์ เช่น Naive Bayes

แบบจำลองการเลือกปฏิบัติ

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

แบบจำลองการเลือกปฏิบัติกำหนดขึ้นเพื่อตอบคำถามต่อไปนี้:

“กรณีนี้อยู่ในขอบเขตการตัดสินใจด้านใด”

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

ความแตกต่างระหว่างกำเนิดและการเลือกปฏิบัติ

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

โมเดลกำเนิด:

  • แบบจำลองเชิงกำเนิดมีจุดมุ่งหมายเพื่อบันทึกการแจกแจงจริงของคลาสในชุดข้อมูล
  • แบบจำลองกำเนิดทำนายการแจกแจงความน่าจะเป็นร่วม – p(x,y) – โดยใช้ทฤษฎีบทเบย์
  • แบบจำลองเชิงกำเนิดมีราคาแพงในการคำนวณเมื่อเทียบกับแบบจำลองเชิงเลือกปฏิบัติ
  • โมเดลเชิงกำเนิดมีประโยชน์สำหรับงานแมชชีนเลิร์นนิงที่ไม่ได้รับการดูแล
  • แบบจำลองเชิงกำเนิดได้รับผลกระทบจากการมีอยู่ของค่าผิดปกติมากกว่าแบบจำลองเชิงเลือกปฏิบัติ

แบบจำลองการเลือกปฏิบัติ:

  • แบบจำลองการเลือกปฏิบัติจำลองขอบเขตการตัดสินใจสำหรับคลาสชุดข้อมูล
  • โมเดลจำแนกเรียนรู้ความน่าจะเป็นแบบมีเงื่อนไข – p(y|x)
  • แบบจำลองการเลือกปฏิบัติมีราคาถูกเมื่อเปรียบเทียบกับแบบจำลองเชิงกำเนิด
  • โมเดลการเลือกปฏิบัติมีประโยชน์สำหรับงานแมชชีนเลิร์นนิงภายใต้การดูแล
  • แบบจำลองการเลือกปฏิบัติมีข้อได้เปรียบในการแข็งแกร่งกว่าสำหรับค่าผิดปกติ ซึ่งแตกต่างจากแบบจำลองเชิงกำเนิด
  • แบบจำลองการเลือกปฏิบัตินั้นแข็งแกร่งกว่าสำหรับค่าผิดปกติเมื่อเทียบกับแบบจำลองเชิงกำเนิด

ตอนนี้เราจะสำรวจตัวอย่างต่างๆ ของโมเดลแมชชีนเลิร์นนิงแบบสร้างสรรค์และแบบเลือกปฏิบัติโดยสังเขป

ตัวอย่างของ Generative Models

การวิเคราะห์การเลือกปฏิบัติเชิงเส้น (LDA)

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

โมเดล Markov ที่ซ่อนอยู่

มาร์คอฟ เชนส์ สามารถคิดได้ว่าเป็นกราฟที่มีความน่าจะเป็นซึ่งบ่งชี้ว่ามีแนวโน้มที่เราจะย้ายจากจุดหนึ่งในห่วงโซ่ "สถานะ" ไปยังอีกสถานะหนึ่ง เชนมาร์คอฟใช้เพื่อกำหนดความน่าจะเป็นของการย้ายจากสถานะ j ไปยังสถานะ i ซึ่งสามารถเขียนแทนด้วย p(i,j) นี่เป็นเพียงความน่าจะเป็นร่วมที่กล่าวถึงข้างต้น โมเดลมาร์คอฟที่ซ่อนไว้คือการใช้ห่วงโซ่มาร์คอฟที่มองไม่เห็นและไม่สามารถสังเกตได้ อินพุตข้อมูลจะมอบให้กับโมเดลและความน่าจะเป็นสำหรับสถานะปัจจุบันและสถานะก่อนหน้าทันทีที่ใช้ในการคำนวณผลลัพธ์ที่เป็นไปได้มากที่สุด

เครือข่ายเบย์เซียน

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

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

Bayesian Networks ประเภทหนึ่งที่ใช้บ่อยที่สุดคือ Naive Bayes model แบบจำลอง Naive Bayes จัดการกับความท้าทายในการคำนวณความน่าจะเป็นสำหรับชุดข้อมูลที่มีพารามิเตอร์/ตัวแปรจำนวนมากโดยถือว่าคุณลักษณะทั้งหมดเป็นอิสระจากกัน

ตัวอย่างของแบบจำลองการเลือกปฏิบัติ

สนับสนุนเครื่องเวกเตอร์

สนับสนุนเครื่องเวกเตอร์ ดำเนินการโดยการวาดขอบเขตการตัดสินใจระหว่างจุดข้อมูล ค้นหาขอบเขตการตัดสินใจที่ดีที่สุดเพื่อแยกคลาสต่างๆ ในชุดข้อมูล อัลกอริทึม SVM วาดเส้นหรือไฮเปอร์เพลนที่แยกจุดสำหรับช่องว่าง 2 มิติและพื้นที่ 3 มิติตามลำดับ SVM พยายามค้นหาเส้น/ไฮเปอร์เพลนที่แยกคลาสได้ดีที่สุดโดยพยายามเพิ่มระยะขอบให้สูงสุด หรือระยะห่างระหว่างเส้น/ไฮเปอร์เพลนไปยังจุดที่ใกล้ที่สุด แบบจำลอง SVM สามารถใช้กับชุดข้อมูลที่ไม่สามารถแยกเป็นเส้นตรงได้โดยใช้ "เคล็ดลับเคอร์เนล" เพื่อระบุขอบเขตการตัดสินใจที่ไม่ใช่เชิงเส้น

การถดถอยโลจิสติก

การถดถอยโลจิสติก เป็นอัลกอริทึมที่ใช้ฟังก์ชัน logit (log-odds) เพื่อกำหนดความน่าจะเป็นของอินพุตที่อยู่ในสถานะใดสถานะหนึ่งจากสองสถานะ ฟังก์ชันซิกมอยด์ใช้เพื่อ "บีบ" ความน่าจะเป็นให้เป็น 0 หรือ 1 จริงหรือเท็จ ความน่าจะเป็นที่มากกว่า 0.50 จะถือว่าเป็นคลาส 1 ในขณะที่ความน่าจะเป็นที่ 0.49 หรือต่ำกว่าจะถือว่าเป็น 0 ด้วยเหตุนี้ โดยทั่วไปแล้ว การถดถอยโลจิสติกจะใช้ในปัญหาการจำแนกประเภทไบนารี อย่างไรก็ตาม การถดถอยโลจิสติกสามารถนำไปใช้กับปัญหาหลายคลาสได้โดยใช้วิธีการหนึ่งเทียบกับทั้งหมด สร้างแบบจำลองการจำแนกประเภทไบนารีสำหรับแต่ละคลาส และกำหนดความน่าจะเป็นที่ตัวอย่างจะเป็นคลาสเป้าหมายหรือคลาสอื่นในชุดข้อมูล

ต้นไม้ตัดสินใจ

A ต้นไม้ตัดสินใจ ฟังก์ชันโมเดลโดยการแบ่งชุดข้อมูลออกเป็นส่วนย่อยๆ และเมื่อแยกชุดย่อยไม่ได้อีกต่อไป ผลลัพธ์ที่ได้คือต้นไม้ที่มีโหนดและลีฟ โหนดในแผนผังการตัดสินใจเป็นที่ที่ตัดสินใจเกี่ยวกับจุดข้อมูลโดยใช้เกณฑ์การกรองที่แตกต่างกัน ใบไม้ในแผนผังการตัดสินใจคือจุดข้อมูลที่ได้รับการจัดประเภท อัลกอริทึมแผนผังการตัดสินใจสามารถจัดการได้ทั้งข้อมูลที่เป็นตัวเลขและข้อมูลเชิงหมวดหมู่ และการแยกในแผนผังจะขึ้นอยู่กับตัวแปร/คุณลักษณะเฉพาะ

ป่าสุ่ม

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

บทความแนะนำนี้จะสำรวจวิธีสร้าง Box Plot ใน Matplotlib แผนภาพกล่องใช้เพื่อแสดงภาพสถิติสรุปของชุดข้อมูล โดยแสดงแอตทริบิวต์ของการแจกแจง เช่น ช่วงของข้อมูลและการแจกแจง

บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม