Featured image of post Về mô hình Ẩn Markov (HMM), bạn cần biết gì? - sunvip.club

Về mô hình Ẩn Markov (HMM), bạn cần biết gì? - sunvip.club

Cộng đồng giải trí trực tuyến hàng đầu tại SunVIP.Club Description Khám phá sự hấp dẫn và đa dạng tại SunVIP.Club, nơi thăng hoa cùng niềm vui và may mắn.

Trên mạng đã có rất nhiều tài liệu giới thiệu về mô hình Ẩn Markov, và tôi nghĩ mình khó có thể viết một bài tốt hơn các blogger khác. Do đó, trong bài viết này, tôi sẽ trình bày nội dung dưới dạng câu hỏi và trả lời, giúp người đọc hiểu nhanh về HMM như một bảng tra cứu nhanh.

Trước khi đọc bài này, tôi khuyên bạn nên đọc Chương 10 của cuốn “Phương pháp Học Thống kê” của giáo sư Lý Hàng.

2. HMM là gì?

HMM là một mô hình đánh dấu chuỗi (sequence labeling model), miêu tả quá trình mà một chuỗi quan sát được tạo ra từ một chuỗi trạng thái ẩn theo quy luật của chuỗi Markov. Nói dễ hiểu hơn, giả sử dữ liệu huấn luyện có thể được mô tả bởi một chuỗi Markov, từ đó sinh ra một chuỗi trạng thái ẩn (hidden state sequence), ký hiệu là H, và sau đó từ chuỗi trạng thái ẩn này sẽ sinh ra chuỗi quan sát (observation sequence), ký hiệu là O. Mỗi trạng thái ẩn đều có khả năng sinh ra một giá trị quan sát tương ứng.

Để hiểu rõ hơn về cấu trúc của HMM, chúng ta cần xem xét biểu đồ mô hình HMM.

3. HMM dùng để làm gì?

Vì HMM là một mô hình đánh dấu chuỗi, nó có thể được áp dụng vào các nhiệm vụ như phân từ tiếng Trung, đánh dấu loại từ, nhận diện thực thể, v.v. Cụ thể, với một chuỗi đầu vào:

O = (o1, o2, …, ot) với oi thuộc tập hợp tất cả các quan sát V

HMM sẽ đầu ra một chuỗi khác:

I = (i1, i2, …, it) với ii thuộc tập hợp các trạng thái ẩn {h1, h2, …, hN}

Ở đây, mỗi hi có thể là nhãn BIO/BMES hoặc các nhãn khác tùy theo ngữ cảnh.

4. Ba yếu tố cơ bản của HMM là gì?

  • Ma trận xác suất chuyển trạng thái A
  • Ma trận xác suất quan sát B
  • Vector xác suất trạng thái ban đầu π

Ba yếu tố này thường được gom chung lại thành λ = (A, B, π).

  • π quyết định trạng thái ban đầu.
  • π và A quyết định chuỗi trạng thái ẩn, mô tả chuỗi Markov ẩn.
  • B quyết định cách sinh ra chuỗi quan sát từ chuỗi trạng thái ẩn.

5. Các giả định cơ bản của HMM là gì?

  • Giả định Markov đồng nhất: Trạng thái tại thời điểm t chỉ phụ thuộc vào trạng thái tại thời điểm trước đó (t-1), không phụ thuộc vào các trạng thái khác hoặc các quan sát.
  • Giả định độc lập của quan sát: Quan sát tại thời điểm t chỉ phụ thuộc vào trạng thái tại thời điểm đó, không phụ thuộc vào các quan sát hoặc trạng thái khác.

Các giả định này nhằm đơn giản hóa mô hình và giảm thiểu độ phức tạp tính toán.

6. Ba vấn đề chính của HMM là gì?

6.1. Có những phương pháp tính xác suất nào? Xét đến độ phức tạp thời gian

Cho λ và chuỗi quan sát O, tính P(O|λ). Có ba phương pháp phổ biến:

78win+đăng+nhập 6.1.1. Tính trực tiếp

Phương pháp này dựa trên việc liệt kê tất cả các chuỗi trạng thái có thể. Nếu có t bước thời gian và mỗi bước có N trạng thái khả thi, thì tổng số trường hợp là N^T.

Chú ý: Độ phức tạp thời gian của phương pháp này là O(TN^T), vì mỗi chuỗi trạng thái cần T bước để tính toán.

đăng ký jun88 6.1.2. Thuật toán tiến xuôi

Thuật toán tiến xuôi lưu trữ thông tin trạng thái tại từng bước thời gian. Công thức chính là αt(i) = [ΣjN αt-1(j)a_ji] b_i(ot).

Độ phức tạp thời gian là O(TN^2), do thuật toán tận dụng tính chất nhớ để giảm bớt các phép tính lặp lại.

6.1.3. Thuật toán lui ngược

Thuật toán lui ngược hoạt động tương tự như thuật toán tiến xuôi nhưng tính ngược từ cuối chuỗi. Công thức là βt(i) = Σj=1N a_ij b_j(ot+1) βt+1(j).

Giá trị β ban đầu được đặt là 1 vì tại thời điểm cuối cùng, không còn quan sát nào nữa.

Độ phức tạp thời gian cũng là O(TN^2).

6.2. Sử dụng phương pháp nào để học tham số?

Biết chuỗi quan sát O, tìm λ = (A, B, π) sao cho P(O|λ) lớn nhất. Đây là một bài toán học tham số.

6.2.1. Phương pháp ước lượng似nhiệt độ tối đa

Phương pháp này yêu cầu nhiều mẫu đã được đánh dấu và không phù hợp với hầu hết các tình huống.

6.2.2. Thuật toán Baum-Welch

Đây là một biến thể của thuật toán EM, thích hợp cho các mô hình có biến ẩn. Thuật toán này giải quyết bài toán bằng cách tối ưu hóa hàm Q.

6.3. Sử dụng phương pháp nào để giải mã chuỗi?

Đây là bài toán dự đoán, biết λ và O, tìm chuỗi trạng thái ẩn I có khả năng cao nhất. Thay vì tính tất cả các đường đi có thể (vô cùng tốn kém), chúng ta sử dụng thuật toán Viterbi để chọn ra đường đi tối ưu.

7. Sự khác biệt giữa HMM, MEMM và CRF là gì?

HMM là một mô hình sinh, trong khi MEMM và CRF là các mô hình phân biệt.

MEMM giải quyết hạn chế về giả định độc lập của quan sát trong HMM bằng cách sử dụng các hàm đặc trưng tùy chỉnh. Điều này cho phép mô hình hóa mối liên hệ giữa các trạng thái quan sát và giữa trạng thái quan sát hiện tại với các trạng thái ẩn trước và sau.

CRF khắc phục vấn đề thiên lệch đánh dấu của MEMM bằng cách sử dụng chuẩn hóa toàn cục thay vì chuẩn hóa cục bộ.

Công thức của MEMM: P(I|O) = ∏t=1n exp(Σa λa fa(O, Ii)) / Z(O, Ii-1)

Công thức của CRF: P(I|O) = ∏t=1n exp(Σa λa fa(O, Ii-1, Ii, i)) / Z(O)

Lưu ý vị trí của hàm phân bố Z trong hai công thức trên.

Built with Hugo
Theme Stack thiết kế bởi Jimmy