จำนวนพารามิเตอร์ในโมเดลมาร์คอฟ


12

ฉันต้องการใช้ BIC สำหรับการเลือกรุ่น HMM:

BIC = -2*logLike + num_of_params * log(num_of_data)

ดังนั้นฉันจะนับจำนวนพารามิเตอร์ในโมเดล HMM ได้อย่างไร พิจารณา HMM แบบ 2 สถานะง่ายๆโดยที่เรามีข้อมูลต่อไปนี้:

data = [1 2 1 1 2 2 2 1 2 3 3 2 3 2 1 2 2 3 4 5 5 3 3 2 6 6 5 6 4 3 4 4 4 4 4 4 3 3 2 2];
model = hmmFit(data, 2, 'discrete');
model.pi = 0.6661    0.3339;
model.A = 
    0.8849    0.1151
    0.1201    0.8799
model.emission.T = 
    0.2355    0.5232    0.2259    0.0052    0.0049    0.0053
    0.0053    0.0449    0.2204    0.4135    0.1582    0.1578
logLike = hmmLogprob(model,data);
logLike =  -55.8382

ดังนั้นฉันคิดว่า:

Nparams = size(model.A,2)*(size(model.A,2)-1) + 
          size(model.pi,2)-1) + 
          size(model.emission.T,1)*(size(model.emission.T,2)-1)
Nparams = 13

ดังนั้นในตอนท้ายเราจึงมี:

BIC = -2*logLike + num_of_params*log(length(x))
BIC = 159.6319

ฉันได้พบวิธีแก้ปัญหาที่สูตรสำหรับnum_of_params(สำหรับรุ่นมาร์คอฟแบบง่าย) ดูเหมือนว่า:

Nparams = Num_of_states*(Num_of_States-1) - Nbzeros_in_transition_matrix

ดังนั้นทางออกที่ถูกต้องคืออะไร? ฉันต้องคำนึงถึงความน่าจะเป็นที่จะเป็นศูนย์ในการฝึกอบรมช่วงการเปลี่ยนภาพหรือการปล่อยมลพิษหรือไม่?

==== อัปเดตตั้งแต่ 07.15.2011 ====

ฉันคิดว่าฉันสามารถให้ความกระจ่างเกี่ยวกับผลกระทบของมิติข้อมูล (โดยใช้ตัวอย่าง "การกระจายแบบเกาส์")

X คือเมทริกซ์ n-by-d โดยที่ (n-rows สอดคล้องกับการสังเกต; d-column สอดคล้องกับตัวแปร (Ndimensions)

X=[3,17 3,43
   1,69 2,94
   3,92 5,04
   1,65 1,79
   1,59 3,92
   2,53 3,73
   2,26 3,60
   3,87 5,01
   3,71 4,83
   1,89 3,30 ];
[n d] = size(X); 
n = 10; d =2;

โมเดลจะมีพารามิเตอร์จำนวนมากสำหรับ GMM:

nParam = (k_mixtures – 1) + (k_mixtures * NDimensions ) + k_mixtures * Ndimensions  %for daigonal covariance matrices
nParam = (k_mixtures – 1) + (k_mixtures * NDimensions ) + k_mixtures * NDimensions * (NDimensions+1)/2; %for full covariance matrices

ถ้าเรารักษา X เป็นข้อมูลที่ 1 มิติ , กว่าที่เรามีnum_of_data = (n*d)เพื่อให้สำหรับ2 มิติnum_of_data = nข้อมูลที่เรามี

ข้อมูล 2 มิติ : nParam = 11; logLike = -11.8197; BIC = 1.689

ข้อมูล 1 มิติ : nParam = 5; logLike = -24.8753; BIC = -34.7720

ฉันมีการฝึกฝนน้อยมากกับ HMM เป็นเรื่องปกติหรือไม่ที่จะมี HMM ด้วย (5,000, 6000 และพารามิเตอร์อื่น ๆ )?


คุณมีเหตุผลในการใช้ BIC หรือไม่? มันสามารถให้ผลลัพธ์ที่ผิดอย่างน่ากลัวหากไม่ได้อยู่กับสมมติฐานที่เหมาะสม
suncoolsu

@suncoolsu, คุณหมายถึงอะไรเกี่ยวกับการให้เหตุผล? ฉันพบตัวอย่างบางส่วนเกี่ยวกับการเลือก K-clusters (รุ่น GMM) ตามเกณฑ์การให้คะแนน BIC อาจเป็นตัวอย่างที่ไม่ถูกต้องกับการเปรียบเทียบสองรุ่นกับข้อมูลอินพุตที่แตกต่างกัน (ขนาด)
Sergey

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

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

คำตอบ:


7

คำถามคือพารามิเตอร์บางส่วนของคุณในเมทริกซ์การเปลี่ยนแปลงและ / หรือเมทริกซ์การปล่อยถูกกำหนดให้เริ่มต้นด้วย การคำนวณของคุณ (จากจำนวนพารามิเตอร์) ดูถูกต้อง หากคุณต้องการแบบจำลองสถานะ 3 แบบแทนแบบจำลองรัฐ 2 แบบและตัดสินใจล่วงหน้าว่าไม่อนุญาตให้เปลี่ยนจากสถานะ 1 เป็น 3 และ 3 เป็น 1 (มีความน่าจะเป็น 0) คุณจะต้องพิจารณาสิ่งนี้ในการคำนวณ จำนวนพารามิเตอร์


ฉันต้องคำนึงถึงมิติข้อมูลหรือไม่ size(data)จะเป็นอย่างไรถ้าจะเป็น 2x100
Sergey

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

ขอบคุณสำหรับคำตอบฉันคิดว่าฉันเข้าใจผลกระทบของมิติข้อมูลบน BIC โปรดดูการอัปเดตของฉัน
Sergey

ฉันต้องลดจำนวนพารามิเตอร์ในโมเดลซ้าย - ขวา (บาคิส) HMM (ด้วยเมทริกซ์การเปลี่ยนรูปสามเหลี่ยม) หรือไม่เป็นเรื่องปกติที่จะมี HMM ที่มี (5,000, 6000 และพารามิเตอร์อื่น ๆ ) หรือไม่
Sergey

4

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

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