อะไรคือความแตกต่างระหว่างโมเดลมาร์คอฟที่ซ่อนอยู่กับเครือข่ายประสาทเทียม


40

ฉันแค่ทำให้เท้าของฉันเปียกในสถิติดังนั้นฉันขอโทษถ้าคำถามนี้ไม่สมเหตุสมผล ฉันใช้โมเดลของมาร์คอฟเพื่อทำนายสถานะที่ซ่อนอยู่ (คาสิโนที่ไม่เป็นธรรมลูกเต๋าทอย ฯลฯ ) และเครือข่ายประสาทเทียมเพื่อศึกษาการคลิกของผู้ใช้ในเครื่องมือค้นหา ทั้งสองมีสถานะซ่อนเร้นที่เราพยายามคิดโดยใช้การสังเกต

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

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


2
คุณอาจต้องการดูที่นี่: stats.stackexchange.com/questions/4498/…
Nucular

คุณสนใจที่จะเลือกคำตอบหรือชี้แจงเพิ่มเติมเกี่ยวกับสิ่งที่คุณกำลังมองหา?
ผัน

คำตอบ:


27

สิ่งที่ซ่อนอยู่และสิ่งที่สังเกต

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

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

กำเนิดกับการเลือกปฏิบัติ

แบบจำลองการผสม (และ HMM) เป็นแบบจำลองของกระบวนการสร้างข้อมูลบางครั้งเรียกว่าโอกาสหรือ 'ตัวแบบการส่งต่อ' เมื่อรวมกับข้อสันนิษฐานบางอย่างเกี่ยวกับความน่าจะเป็นก่อนหน้าของแต่ละรัฐคุณสามารถอนุมานการกระจายตัวมากกว่าค่าที่เป็นไปได้ของสถานะที่ซ่อนอยู่โดยใช้ทฤษฎีบท Bayes (แนวทางกำเนิด) โปรดทราบว่าในขณะที่เรียกว่า 'ก่อนหน้า' ทั้งก่อนหน้าและพารามิเตอร์ในความเป็นไปได้นั้นมักจะเรียนรู้จากข้อมูล

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

มิกซ์แอนด์แมทช์

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

คำถาม

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

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


2
+1 สิ่งนี้ดีมาก โดย: Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.คุณหมายถึงการแทนที่ความน่าจะเป็นในการปล่อยก๊าซเรือนกระจก p (สังเกต | ซ่อนไว้) ด้วยการส่งต่อ NN หรือไม่ ฉันเจอสิ่งนี้ในไม่กี่ที่ แต่ก็ไม่มีคำอธิบาย พวกเขาเพียงแค่พูดถึงว่าพวกเขาได้ดำเนินการมัน ฉันคิดว่าพวกเขาเข้ามาแทนที่ขั้นตอน MLE สำหรับการเรียนรู้การปล่อย แต่ไม่เข้าใจ คุณรู้รหัสหรือตัวอย่างอธิบายหรือไม่? คำแนะนำใด ๆ ยินดีต้อนรับขอบคุณ
Zhubarb

ดูเหมือนว่าจะใช้น้อยกว่าแบบนั้น (คน ML อีกหลายคนสามารถแก้ไขฉันได้ที่นี่) ท่ากล่าวว่าการประมาณค่าพารามิเตอร์ NN การแมปสถานะเวกเตอร์กับเอาท์พุทตามเงื่อนไขเกี่ยวกับการรู้เวกเตอร์สถานะ (หรืออย่างน้อยก็รู้ค่าที่คาดหวังเช่นเดียวกับในอัลกอริทึม EM) เป็นงานเดียวกันกับการฝึกอบรม ไม่มีอะไรพิเศษที่จะพูดเกี่ยวกับส่วนนั้น
ผัน

คำตอบนั้นดียกเว้น: เครือข่ายประสาทสามารถเลือกปฏิบัติ (ป้อนข้อมูลล่วงหน้าเป็นต้น) หรือสร้าง (เครื่อง จำกัด bolzmann ฯลฯ ) นอกจากนี้เครือข่ายประสาทแบบกำเริบเช่น LSTM และแบบจำลองคอมพิวเตอร์อ่างเก็บน้ำสามารถจำลองอนุกรมเวลาเช่นเดียวกับ HMM - และบางครั้งอาจดีกว่า HMM โดยเฉพาะอย่างยิ่งในกรณีของอนุกรมเวลาที่มีพลวัตไม่เชิงเส้นและความสัมพันธ์เป็นเวลานาน
GuSuku

10

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

โครงข่ายประสาทเทียมนำข้อมูลจากพื้นที่มิติสูงและแผนที่ไปยังพื้นที่มิติด้านล่าง (วิธีที่แผนที่โครงข่ายประสาทเทียมอินพุตนี้ขึ้นอยู่กับการฝึกอบรมโครงสร้างของมันและปัจจัยอื่น ๆ ) ตัวอย่างเช่นคุณอาจถ่ายภาพ 64 บิตของตัวเลขแล้วจับคู่กับค่าจริง / เท็จที่อธิบายว่าตัวเลขนี้เป็น 1 หรือ 0

ในขณะที่ทั้งสองวิธีสามารถ (หรืออย่างน้อยพยายามลอง) แยกแยะว่ารายการนั้นเป็นสมาชิกของคลาสหรือไม่เครือข่ายประสาทเทียมไม่สามารถสร้างภาษาตามที่อธิบายไว้ข้างต้น

มีทางเลือกให้กับรุ่นซ่อนมาร์คอฟตัวอย่างเช่นคุณอาจใช้เครือข่ายแบบเบย์ทั่วไป, โทโพโลยีที่แตกต่างกันหรือไวยากรณ์ที่ปราศจากบริบท Stochastic (SCFG) หากคุณเชื่อว่าปัญหาอยู่ภายใน HMM ที่ไม่มีอำนาจ สร้างแบบจำลองปัญหาของคุณ - นั่นคือถ้าคุณต้องการอัลกอริทึมที่สามารถแยกแยะระหว่างสมมติฐานที่ซับซ้อนมากขึ้นและ / หรืออธิบายพฤติกรรมของข้อมูลที่ซับซ้อนมากขึ้น


6
+1 สำหรับวรรคสอง ฉันต้องการชี้ให้เห็นว่าใครก็ตามที่เข้าใจองค์ประกอบทั้งหมดของคำตอบนี้อย่างชัดเจนอาจไม่ถามคำถามเดิม มันอาจจะไม่เป็นประโยชน์ที่จะพูดถึงไวยากรณ์อย่างเป็นทางการกับคนที่โพสต์เริ่มต้นด้วย "ฉันแค่ทำให้เท้าเปียกด้วยสถิติ ... " ย่อหน้าที่สองที่นี่รวบรวมสาระสำคัญของสิ่งที่ OP ขอ แทนที่จะเป็นย่อหน้าแรกคุณอาจพูดว่า: แบบจำลอง HMM อ้างอิงตามเงื่อนไขของสถานะที่ซ่อนอยู่ซึ่งแต่ละรัฐมีการแจกแจงความน่าจะเป็นมากกว่าการสังเกต
Phillip Cloud

7
คำตอบนี้เป็นเพียงความผิด โครงข่ายประสาทเทียมที่นี่คาดว่าจะนำไปใช้ นี่เป็นเครือข่ายประสาทชั้นเดียวเท่านั้น โมเดลที่เกิดขึ้นไม่เพียงแมปอินพุตเพียงครั้งเดียวลงไปยังการแสดงมิติที่ต่ำกว่าและพวกเขาสามารถสร้างภาษา ดูตัวอย่างarxiv.org/abs/1308.0850
rd11

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

อืมมม คุณสามารถยกตัวอย่างบางสิ่งที่คุณคิดว่า HMM สามารถสร้างได้และคุณเชื่อว่าไม่สามารถสร้างด้วย RNN ได้หรือไม่
rd11

ตัวอย่างที่นึกได้คือ: ได้รับ HMM คุณสามารถรับลำดับขององค์ประกอบที่เป็นของภาษาที่ HMM แสดง เพื่อให้ RNN ทำเช่นนั้นคุณจะต้องเพิ่มบางสิ่งบางอย่างซ้ำแล้วซ้ำอีก (เช่นลองอินพุตที่แตกต่างกันและทำเครื่องหมายอินพุตเป็นสมาชิกของคลาสหรืออย่างอื่น) - แม้ว่าในกรณีของ RNN คุณอาจมองหลายอินพุต (อีกรายการหนึ่ง) แทนรายการ "รายการเดียว" HMM มีความเหมาะสมกับวัตถุประสงค์ในการสร้างภาษามากขึ้น
Andrew

3

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

พี(x1....xn)=พี(x1)พี(x2|x1)พี(x3|x2)...

RNN พยายามสร้างแบบจำลอง:

พี(x1....xn)=พี(x1)พี(x2|x1)พี(x3|x2,x1)พี(x4|x3,x2,x1)...

เราสามารถใช้ลำดับอักขระเป็นอินพุตแทนอักขระเดี่ยว ด้วยวิธีนี้เราสามารถจับภาพสถานะได้ดีขึ้น (ขึ้นอยู่กับบริบท)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.