อัลกอริทึมการเรียนรู้ของเครื่องชนิดใดเป็นโมเดลซ่อนมาร์คอฟ?


12

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

คำตอบ:


14

ฉันจะถูกล่อลวงให้ตอบว่า "ไม่มี" หรือ "ทั้งการจำแนกและการจัดกลุ่ม"

ทำไม "ไม่มี"? เนื่องจาก HMM ไม่ได้อยู่ในถุงเดียวกันกับเครื่องสนับสนุนเวกเตอร์หรือ k-mean

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

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

HMM สามารถใช้สำหรับการจำแนกประเภท นี่เป็นแอปพลิเคชันตรงไปตรงมาของกรอบการจำแนกประเภทเบย์โดยใช้ HMM เป็นแบบจำลองความน่าจะเป็นที่อธิบายข้อมูลของคุณ ตัวอย่างเช่นคุณมีฐานข้อมูลขนาดใหญ่ของคำพูดของตัวเลข ("หนึ่ง", "สอง" ฯลฯ ) และต้องการสร้างระบบที่มีความสามารถในการจำแนกคำพูดที่ไม่รู้จัก สำหรับแต่ละคลาสในข้อมูลการฝึกอบรมของคุณ ("หนึ่ง", "สอง" คุณประมาณค่าพารามิเตอร์ของโมเดล HMM ที่อธิบายลำดับการฝึกในคลาสนี้ - และคุณจบด้วย 10 โมเดลจากนั้นเพื่อทำการจดจำคุณคำนวณ 10 คะแนนความน่าจะเป็น (ซึ่งบ่งชี้ว่าลำดับที่คุณต้องการจดจำนั้นสร้างโดยแบบจำลองใด) และโมเดลที่มีคะแนนสูงสุดจะให้ตัวเลขในการสอน Rabiner บน HMMขั้นตอนการฝึกอบรมคือ "ปัญหา 3" ขั้นตอนการจัดหมวดหมู่คือ "ปัญหา 2"

HMM สามารถใช้ในรูปแบบที่ไม่ได้รับการดูแลเช่นกันเพื่อให้ได้สิ่งที่คล้ายกับการรวมกลุ่ม คุณสามารถฝึก -state HMM บนลำดับและในตอนท้ายของกระบวนการฝึกอบรมให้ใช้อัลกอริทึม Viterbi ตามลำดับของคุณเพื่อให้ได้สถานะที่น่าจะเกี่ยวข้องมากที่สุดกับแต่ละเวกเตอร์อินพุต (หรือดึงจากระหว่างกระบวนการฝึกอบรม) สิ่งนี้จะให้คุณจัดกลุ่มลำดับการป้อนข้อมูลของคุณเป็นkγkคลาส แต่แตกต่างจากสิ่งที่คุณจะได้รับจากการเรียกใช้ข้อมูลของคุณผ่าน k-mean การจัดกลุ่มของคุณเป็นเอกเทศบนแกนเวลา ตัวอย่างเช่นคุณสามารถแยกฮิสโตแกรมสีของแต่ละเฟรมของลำดับวิดีโอเรียกใช้กระบวนการนี้ในลำดับนี้และคุณจะพบกับการแบ่งวิดีโอลงในเซ็กเมนต์ชั่วคราวที่เป็นเนื้อเดียวกันที่สอดคล้องกับฉาก (บิตที่ไม่น่าสนใจคือ คุณต้องตั้งค่าจำนวนฉากล่วงหน้า) เทคนิคนี้เป็นที่นิยมใช้ในอัตโนมัติหากินวิเคราะห์โครงสร้างของวิดีโอหรือเพลงk


1

อันดับแรกให้ดูที่สามตัวเลือก:

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

คำอธิบายของ HMM บน Wikipediaมีตารางต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นจำนวนสถานะ (คลาส) จึงได้รับการแก้ไข

นั่นหมายความว่าอัลกอริทึมไม่ได้พยายามหาจำนวนคลาส (สถานะ) - ดังนั้นจึงไม่ใช่การจัดกลุ่มแบบปลายเปิด (โดยที่ไม่ทราบจำนวนสถานะ)

อย่างไรก็ตามตามที่ @nikie ชี้ให้เห็น HMM จะทำการรวมกลุ่ม

ไม่มีตัวแปรอิสระ (ตามที่มีอยู่ในบริบทการถดถอย) --- ดังนั้นจึงไม่ใช่การถดถอย

ดังนั้นคำตอบของฉันคือ HMM คือการจำแนกและอัลกอริทึมการจัดกลุ่มฉันไม่เชื่อว่ามันเป็นการถดถอย


2
คุณจะได้รับจาก "จำนวนคลาสถ้ามีการแก้ไข" เป็น "ดังนั้นอัลกอริทึมจึงไม่พยายามที่จะเข้าใจว่าคลาสนั้นเป็นอย่างไร"? จำนวนคลาสสำหรับ k-หมายถึงการจัดกลุ่มได้รับการแก้ไขเช่นกัน แต่ก็ชัดเจนว่าเป็นอัลกอริทึมการจัดกลุ่ม
Niki Estner

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