Tính toán xác suất đoán nhận của một dãy quan sát

Một phần của tài liệu phương pháp nhận dạng chữ viết tay trực tuyến liền nét (Trang 28 - 30)

Chương 5 Nhận dạng chữ viết tay bằng mô hình Markov ẩn 5.1 Giới thiệu

5.1.2.1.Tính toán xác suất đoán nhận của một dãy quan sát

Trong bài toán này, chúng ta sẽ phải tính P(O|) với O và đã biết. Cách đơn giản nhất có thể sử dụng là chúng ta sẽ xét tất cả các dãy Q = sau đó tính xác suất P(O, Q) như trong phần trình bày trên, kết của cuối cùng là tổng tất cả các xác suất tìm được. Tuy nhiên, nếu giải quyết theo phương pháp này số dãy Q phải xét có thể lên đến . Sẽ không khả thi với các bài toán nhận dạng khi mà N và T có thể khá lớn.

Để tính xác suất của một dãy quan sát O=(…) khi biết = (A, B, π) chúng ta sử dụng một thuật toán quy hoạch động, thuật toán Forward. Bằng các đưa vào xác suất tiến (j) với í nghĩa là xác suất khi đang dừng ở trạng thái j sau khi quan sát được t phần tử đầu tiên của dãy O, một cách hình thức:

(j) = P( ...., , = j | λ) Ban đầu, chúng ta sẽ khởi tạo

(j) = (), 1 ≤ j ≤ N

Sau đó, giá trị (j) sẽ được tính qua các giá trị (i) đã biết theo công thức (j) = , 1 ≤ j ≤ N, 1 < t ≤ T.

Hình 5-9: Minh họa cách tính (j).

Giá trị P(O|λ) sẽ là tổng:

P(O|) =

Ở mỗi vòng lặp, để cập nhật giá trị cho mỗi 1 trong N trạng thái chúng ta cần N phép toán, có tất cả T vòng lặp nên độ phức tạp của thuật toán Forward là: O(T)

5.1.2.2. Giải mã

Với bài toán giải mã, chúng ta cần tìm dãy trạng thái ẩn Q = sao cho xác suất của P(O, Q) là lớn nhất. Thuật toán Virtebi được sử dụng để giải bài toán này.

Thuật toán Virtebi là một thuật toán quy hoạch động gần giống như thuật toán Forward, nhưng thay vì cộng lại các giá trị các đường đi có thể để đến trạng thái j ở thời điểm t, thuật toán Virtebi tìm giá trị lớn nhất trong các đường đi đấy.

Cụ thể, chúng ta gọi là xác suất để lớn nhất tính được từ tất cả các dãy và kết thúc ở = j, sau khi quan sát được t phần tử quan sát đầu tiên.

(j) = max P( ...., , = j | λ)

Ban đầu, (j) = (), 1 ≤ j ≤ N. Ở mỗi bước, với 1 < t ≤ T, giá trị sẽ được cập nhật lại theo công thức

Kết quả cuối cùng sẽ là giá trị lớn nhất trong số các (j) của tất cả các trạng thái. Để tìm ra được dãy trạng thái ẩn ứng với kết quả trên, chúng ta có thể sử dụng một con trỏ để lưu lại đường đi tốt nhất đến trạng thái j tại thời t.

Một phần của tài liệu phương pháp nhận dạng chữ viết tay trực tuyến liền nét (Trang 28 - 30)