Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Xác suất - Thống kê] Cập nhật Bayes tuần tự với hai giả thuyết

    Có hai giả thuyết cạnh tranh H1,H2H_1, H_2H1​,H2​ với xác suất tiên nghiệm ban đầu P(H1),P(H2)P(H_1), P(H_2)P(H1​),P(H2​) (P(H1)+P(H2)=1P(H_1)+P(H_2)=1P(H1​)+P(H2​)=1). Ta quan sát tuần tự mmm bằng chứng O1,…,OmO_1,\dots,O_mO1​,…,Om​, được giả định độc lập có điều kiện khi biết mỗi giả thuyết. Với bằng chứng OkO_kOk​, biết trước P(Ok∣H1)P(O_k\mid H_1)P(Ok​∣H1​) và P(Ok∣H2)P(O_k\mid H_2)P(Ok​∣H2​).

    Sau khi quan sát O1O_1O1​, cập nhật xác suất hậu nghiệm bằng công thức Bayes, rồi dùng hậu nghiệm đó làm tiên nghiệm để cập nhật tiếp với O2O_2O2​, cứ thế đến OmO_mOm​ (cập nhật Bayes tuần tự). Cụ thể, nếu (q1,q2)(q_1,q_2)(q1​,q2​) là cặp xác suất tiên nghiệm trước khi xét OkO_kOk​, thì sau khi xét OkO_kOk​: q1′=q1 P(Ok∣H1)q1 P(Ok∣H1)+q2 P(Ok∣H2),q2′=1−q1′q_1' = \frac{q_1\,P(O_k\mid H_1)}{q_1\,P(O_k\mid H_1) + q_2\,P(O_k\mid H_2)},\quad q_2' = 1-q_1'q1′​=q1​P(Ok​∣H1​)+q2​P(Ok​∣H2​)q1​P(Ok​∣H1​)​,q2′​=1−q1′​

    Với mỗi k=1,…,mk=1,\dots,mk=1,…,m, in ra P(H1∣O1,…,Ok)P(H_1\mid O_1,\dots,O_k)P(H1​∣O1​,…,Ok​) ngay sau khi cập nhật xong bằng chứng thứ kkk.

    Ví dụ: P(H1)=P(H2)=0.5P(H_1)=P(H_2)=0.5P(H1​)=P(H2​)=0.5, m=1m=1m=1, P(O1∣H1)=0.8P(O_1\mid H_1)=0.8P(O1​∣H1​)=0.8, P(O1∣H2)=0.2P(O_1\mid H_2)=0.2P(O1​∣H2​)=0.2. Kết quả: P(H1∣O1)=0.5×0.8/(0.5×0.8+0.5×0.2)=0.8P(H_1\mid O_1) = 0.5\times0.8 / (0.5\times0.8+0.5\times0.2) = 0.8P(H1​∣O1​)=0.5×0.8/(0.5×0.8+0.5×0.2)=0.8.

    • Định dạng đầu vào:

      Dòng 1: hai số thực P(H1),P(H2)P(H_1), P(H_2)P(H1​),P(H2​). Dòng 2: số nguyên mmm (m≥0m\ge 0m≥0). mmm dòng tiếp theo, mỗi dòng gồm hai số thực P(Ok∣H1),P(Ok∣H2)P(O_k\mid H_1), P(O_k\mid H_2)P(Ok​∣H1​),P(Ok​∣H2​) (theo thứ tự k=1,…,mk=1,\dots,mk=1,…,m).

    • Định dạng đầu ra:

      In ra mmm dòng (nếu m=0m=0m=0 thì không in dòng nào). Dòng thứ kkk là P(H1∣O1,…,Ok)P(H_1\mid O_1,\dots,O_k)P(H1​∣O1​,…,Ok​), làm tròn 6 chữ số thập phân. Nếu tại bước kkk mẫu số Bayes bằng 0 (không giả thuyết nào phù hợp với bằng chứng), in "undefined" ở dòng đó và xem như cặp hậu nghiệm tại bước đó là (0,0)(0,0)(0,0) cho các bước sau (nếu mẫu số tiếp tục bằng 0, các dòng sau cũng in "undefined").

    Ví dụ:

    Đầu vào:

    0.5 0.5
    0
    

    Đầu ra:

    
    

    Đầu vào:

    0.5 0.5
    1
    0.8 0.2
    

    Đầu ra:

    0.800000
    

    Đang tải editor...