แบบจำลองก่อกำเนิด

วิธีการจำแนกเชิงสถิตินั้น โดยหลักแล้วแบ่งเป็น 2 แบบได้แก่ วิธีการเชิง**ก่อกำเนิด** (generative) และวิธีการเชิง**จำแนก** (discriminative) วิธีการเหล่านี้ใช้มาตรฐานในการสร้างแบบจำลองเชิงสถิติที่แตกต่างกัน อย่างไรก็ตาม วิธีการแบ่งอาจมีความแตกต่างกันไปตามแต่ละงานวิจัย เช่น  ได้แบ่งออกได้เป็น 3 ประเภทดังนี้

# **แบบจำลองก่อกำเนิด** (generative model) เป็นการสร้างแบบจำลองเชิงสถิติตามการแจกแจงความน่าจะเป็นร่วม P(X, Y) ของตัวแปรอิสระที่สังเกตได้ *X* และตัวแปรเป้าหมาย *Y*
# **[[แบบจำลองจำแนก]]** (discriminative model) เป็นการสร้างแบบจำลองเชิงสถิติตามการแจกแจงความน่าจะเป็นมีเงื่อนไขของตัวแปรเป้าหมาย *Y* ของค่าที่สังเกตได้ *x* P(Y\mid X = x)
# นอกจากนี้ มาตรการจำแนกประเภทที่คำนวณโดยไม่ใช้แบบจำลองความน่าจะเป็นก็ยังเรียกอย่างรวม ๆ ว่าเป็น "เชิงจำแนก" (discriminative)

สองประเภทหลังนี้อาจไม่ได้ถูกแบ่งแยกต่างกันเสมอไป ใน  เรียกแยกว่าเป็น *generative learning*, *conditional learning* และ *discriminative learning* แต่ใน  ไม่ได้แยกความแตกต่างระหว่าง 2 ประเภทหลัง แต่เรียกรวมว่าเป็น *generative classifier* และ *discriminative classifier* ในทำนองเดียวกันบางครั้งก็มีการเรียกแยกโดยเรียกตัวจำแนกโดยยืนพื้นแบบจำลองก่อกำเนิดว่า *generative classifier*  และเรียกตัวจำแนกที่ใช้แบบจำลองจำแนกเรียกว่า *discriminative classifier* แต่อย่างหลังยังหมายถึงตัวแยกประเภทที่ไม่ได้ขึ้นอยู่กับแบบจำลองด้วย

ตัวอย่างมาตรฐานของทั้ง 2 แบบได้แก่

* แบบจำลองก่อกำเนิด:
** ตัวจำแนกเบส์อย่างง่าย
** การวิเคราะห์จำแนกเชิงเส้น
* แบบจำลองจำแนก:
** การถดถอยโลจิสติก

เมื่อนำไปใช้กับการจำแนกประเภท เป้าหมายคือการกำหนดฉลากกำกับ *y* (หรือการแจกแจงความน่าจะเป็นของฉลากกำกับ) จากการสังเกต *x* มี 3 วิธี

โดยวิธีแรกคือ ตัวจำแนกแบบไม่ใช้การแจกแจง (distribution-free classifier) คือทำคำนวณโดยตรงโดยไม่ต้องใช้การแจกแจงความน่าจะเป็น

วิธีที่สองคือแบบจำลองจำแนก (discriminative model) ซึ่งทำการคำนวณความน่าจะเป็นของป้ายกำกับจากค่าที่สังเกตได้ P(Y|X=x)

ส่วนวิธีที่สามคือแบบจำลองก่อกำเนิด (generative model) ซึ่งหาการแจกแจงร่วม P(X, Y) แล้วจึงคำนวณความน่าจะเป็นมีเงื่อนไข P(Y|X=x)

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

## คำนิยาม
อีกวิธีในการจำแนกแบบจำลองคือคำจำกัดความแบบสมมาตรดังต่อไปนี้

* **แบบจำลองก่อกำเนิด** คือแบบจำลองที่แสดงความน่าจะเป็นมีเงื่อนไขของตัวแปร *X* ที่สังเกตได้ เมื่อให้ค่าวัตถุเป้าหมาย *y* เขียนแสดงได้เป็น P(X\mid Y = y)
* **แบบจำลองจำแนก** คือแบบจำลองที่แสดงความน่าจะเป็นมีเงื่อนไขของตัวแปรเป้าหมาย *Y* เมื่อให้ค่าที่สังเกตได้ *x* เขียนแสดงได้เป็น P(Y\mid X = x)

แบบจำลองก่อกำเนิดใช้ค่าที่สังเกตได้และค่าวัตถุประสงค์ (x, y) หรือเป็นไปได้ที่จะสร้างตัวอย่างแบบสุ่มของค่าที่สังเกตได้ *x* โดยให้ค่าเป้าหมาย *y* ในทางกลับกัน แบบจำลองจำแนก หรือตัวจำแนกแบบไม่ใช้การแจกแจง (ไม่ใช้แบบจำลอง) สามารถ ระบุค่าของตัวแปรเป้าหมาย *Y* เมื่อให้ค่าที่สังเกตได้ *x*

ความแตกต่างระหว่างคำว่า classification และ discrimination นั้นละเอียดอ่อน ทั้งคู่สามารถแปลเป็น "การจำแนก" มักใช้สลับแทนกันได้ ดังนั้น การเรียกว่า discriminative classification นั้นจึงเป็นคำซ้ำซ้อน

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

### ความสัมพันธ์ระหว่างแบบจำลอง
ในปัญหาการจำแนกประเภท ตัวแปรที่สังเกตได้ *X* มักจะเป็นค่าต่อเนื่อง ตัวแปรเป้าหมาย *Y* โดยทั่วไปจะเป็นค่าแบบไม่ต่อเนื่อง ที่ประกอบด้วยชุดของฉลากที่มีขอบเขตจำกัด และความน่าจะเป็นมีเงื่อนไข P(Y\mid X) อาจตีความได้ว่าเป็นฟังก์ชันเป้าหมาย f\colon X \to Y สำหรับค่าป้อนเข้า *X* และค่าขาออก *Y* 

คำจำกัดความทั้งสองของแบบจำลองก่อกำเนิดมีความสัมพันธ์กันอย่างใกล้ชิดเมื่อมีชุดป้ายกำกับที่มีขอบเขตจำกัด แบบจำลองการแจกแจงแบบมีเงื่อนไข P(X\mid Y = y) แสดงถึงการแจกแจงของแต่ละฉลาก และแบบจำลองของการแจกแจงร่วมจะแสดงถึงการแจกแจงของค่าฉลาก P(Y) และการแจกแจงค่าสังเกตการณ์สำหรับค่าฉลาก P(X\mid Y) เขียนแสดงได้เป็น P(X, Y) = P(X\mid Y)P(Y) ดังนั้นแล้ว แม้ว่าแบบจำลองของการแจกแจงความน่าจะเป็นร่วมจะมีข้อมูลมากกว่าแบบจำลองของการแจกแจงฉลากกำกับ (ซึ่งไม่รวมความถี่สัมพัทธ์ของฉลากกำกับ) ความแตกต่างนั้นค่อนข้างน้อยและก็ไม่ได้แยกความแตกต่างของทั้งสองเสมอไป

ถ้ามีการแจกแจงความน่าจะเป็นร่วม P(X, Y) สามารถคำนวณได้ในรูปของการแจกแจงตามขอบของตัวแปรแต่ละตัว P(X) = \sum_y P(X, Y = y) และ P(Y) = \int_x P(Y, X = x) (โดยที่ *X* มีความต่อเนื่อง ดังนั้นจึงใช้ปริพันธ์ ในขณะที่ *Y* ไม่ต่อเนื่อง จึงใช้เป็นผลรวมสะสม) การแจกแจงแบบมีเงื่อนไขทั้งสองแบบสามารถพบได้โดยใช้คำจำกัดความของความน่าจะเป็นมีเงื่อนไข: P(X\mid Y)=P(X, Y)/P(Y) และ P(Y\mid X)=P(X, Y)/P(X)

ถ้ามีแบบจำลองที่มีความน่าจะเป็นมีเงื่อนไขอันหนึ่ง และการแจกแจงความน่าจะเป็น P(X) และ P(Y) ของการประมาณตัวแปร *X* และ *Y* แล้ว เราสามารถใช้ทฤษฎีบทของเบส์เพื่อประมาณค่าความน่าจะเป็นแบบมีเงื่อนไขที่ตรงกันข้ามได้: P(X\mid Y)P(Y) = P(Y\mid X)P(X)

ตัวอย่างเช่นถ้าเรามีแบบจำลองก่อกำเนิด P(X\mid Y) สามารถประมาณได้ว่า

: P(Y\mid X) = P(X\mid Y)P(Y)/P(X)

ในขณะที่ถ้ามีแบบจำลองจำแนก P(Y\mid X) จะสามารถประมาณได้เป็น

: P(X\mid Y) = P(Y\mid X)P(X)/P(Y)

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

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

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

## แบบจำลองก่อกำเนิดเชิงลึก
เนื่องจากการที่เทคนิคการเรียนรู้เชิงลึกได้รับความนิยมมากขึ้น จึงได้มีการพัฒนาวิธีการใหม่ที่เรียกว่า **แบบจำลองก่อกำเนิดเชิงลึก** (deep generative model, DGM) ขึ้นมา ซึ่งได้รวมแบบจำลองก่อกำเนิดและโครงข่ายประสาทเทียมเชิงลึก โดยทั่วไปแล้ว ประสิทธิภาพของแบบจำลองเหล่านี้จะได้รับการปรับปรุงโดยการเพิ่มทั้งขนาดของโครงข่ายประสาทเทียมและขนาดของข้อมูลสำหรับฝึก

แบบจำลองก่อกำเนิดเชิงลึกที่เป็นที่รู้จักทั่วไป เช่น ตัวเข้ารหัสอัตโนมัติแบบแปรผัน (VAE) โครงข่ายปฏิปักษ์ก่อกำเนิด (GAN) และแบบจำลองการถดถอยอัตโนมัติ ในยุคหลัง ๆ นี้ ยิ่งมีแนวโน้มไปสู่การสร้างแบบจำลองเชิงลึกขนาดใหญ่มากขึ้น ตัวอย่างเช่น GPT-3 และ GPT-2 รุ่นก่อนหน้านั้นเป็นแบบจำลองภาษาประสาทถดถอยอัตโนมัติที่มีพารามิเตอร์นับพันล้านตัว ในขณะที่ BigGAN และ VQ-VAE ซึ่งใช้สำหรับการสร้างภาพนั้นมีพารามิเตอร์มากถึงหลายร้อยล้านตัว Jukebox เป็นแบบจำลองก่อกำเนิดขนาดใหญ่มากสำหรับสร้างเสียงเพลง มีพารามิเตอร์นับพันล้านตัว

## อ้างอิง

หมวดหมู่:แบบจำลองเชิงสถิติ
หมวดหมู่:การเรียนรู้ของเครื่อง
หมวดหมู่:แบบจำลองความน่าจะเป็น