Thuật toán Viterbi

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn (Trang 61)

Thuật toán Viterbi là phƣơng pháp để ƣớc lƣợng xác suất chuỗi trạng thái cực đại xác suất của mô hình đƣa ra dãy các quan sát. Biến cho điểm xác suất của chuỗi quan sát O0, O1, …, Oi đã đƣợc đƣa ra bởi dãy các trạng thái của mô hình có nhiều khả năng nhất, kết thúc ở trạng thái i vào thời điểm t. Biến lƣu một bản tin (record) mà trạng thái cực đại hóa xác suất tại mỗi thời điểm sao cho khi một đƣờng đi xác suất cực đại đƣợc xác định tại thời điểm T-1, mảng có thể đƣợc sử dụng để tìm ra dãy trạng thái.

Xác suất thu đƣợc bằng cách cực đại , khác với xác suất tìm thấy bằng Cách tính tổng với mọi i. Giá trị đầu tiên là xác suất mà dãy trạng thái cực đại xác suất của mô hình có thể đƣa ra những quan sát. Giá trị thứ 2 là xác suất mà tất cả các dãy trạng thái của mô hình có thể đƣa ra những quan sát. Thƣờng thì giá trị đầu là một xấp xỉ gần với giá trị sau.

Thuật toán Viterbi tìm dãy trạng thái tốt nhất có thể đƣợc trình bày nhƣ sau:

1) Khởi tạo: = , (33) = 0 2) Đệ qui: = bj(Ot), , (32) (34) 3) Kết thúc: P* = (35) =

4) Lần ngược lại đường đi (dãy trạng thái):

= , i = T-2, T-3, … , 0 (37)

Cũng nhƣ khi tính toán biến tiến và lùi, trong trƣờng hợp các mô hình liên tục và bán liên tục giá trị xác suất phát xạ rời rạc bj(Oi) đƣợc thay bằng giá trị mật độ xác suất liên tục thích hợp.

Hình 3.8. Sơ đồ lưới cho 3 trạng thái kết nối đầy đủ

Hình 3.9 Thao tác cơ bản của tính toán Viterbi

Hình 3.8 biểu đồ lƣới mắt cáo minh họa tính toán Viterbi. Mặc dù rất giống với giải thuật tiến lùi nhƣ minh họa trong hình 3.9 nhƣng thao tác cơ sở thì lại khác: phép dò tìm cực đại thay thế phép tính tổng trong giải thuật tiến – lùi.

Hình 3.9 minh họa tính toán của thuật toán Viterbi. Phần tính toán giả sử rằng mật độ quan sát là không cần bộ nhớ. Trong trƣờng hợp này, với mọi con đƣờng đi vào một trạng thái (đƣợc biểu diễn bởi một nút trong mắt cáo), tất cả đều có thể bị loại bỏ trừ một con đƣờng có xác suất cao nhất. Điều này chỉ cho phép một con đƣờng đi ra khỏi mỗi nút, so với N con đƣờng đi vào, giữ cho độphức tạp không tăng theo cấp số nhân với thời gian.

Giải thuật Viterbi đối sánh một mô hình với một chuỗi quan sát theo cách tìm xác suất lớn nhất của chuỗi trạng thái ứng với mô hình sinh ra chuỗi quan sát này.

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn (Trang 61)