Giải thuật tiến – lùi (forward-backward algorithm)

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 56)

Giải thuật tiến lùi đã đƣợc xem là cơ sở cho những lời giải đối với ba bài toán của mô hình Markov ẩn. Thuật toán này bao gồm việc tính toán hai biến, biến tiến i(i) và biến lùi i(i) là các hàm biểu thị thời gian và trạng thái. Bài toán 1 có thể đƣợc giải quyết sử dụng biến tiến, tìm xác suất để mô hình mô hình đƣa ra một dãy quan sát. Bài toán 2, tìm trạng thái có khả năng nhất của hệ thống tại mỗi khoảng thời gian, mà có thể nhận đƣợc từ thuật toán. Một thủ tục có thể đƣợc sử dụng làm lời giải cho bài toán 3.

Biến tiến i(i) biểu diễn xác suất của một dãy quan sát riêng phần O0,O1, …, Oi đƣợc quan sát trong khi mô hình đang ở trong trạng thái Si tại thời điểm t. Có N trạng thái đƣợc định nghĩa cho mô hình trong đó qi là trạng thái mà nó đang đứng và có thể sinh ra bất kỳ một trong K ký hiệu quan sát Oi ở mỗi khoảng thời gian t, t=0,1,2,… T-1

i(i) = P[O0O1…Oi, qi = Si ] (8) Phƣơng trình này có thể đƣợc giải bằng quy nạp.

- Giá trị khởi đầu:

0(j) = (Oi) 0 N (9)

- Bước quy nạp tiếp theo:

i+1(j) = [ ]bj(Oi+1) 0 T-2 0 N (**) - Giá trị kết thúc:

P[O| ] = (10)

Biến lùi i(i) biểu diễn xác suất của dãy quan sát từng phần đƣợc quan sát từ thời điểm t đến khi kết thúc. Nó đƣợc cho khi mô hình đang ở trong trạng thái Si vào thời điểm t:

i(i) = P[Oi+1Oi+2… | qi = Si ] (11) Một lần nữa, phƣơng trình này có thể đƣợc giải bằng quy nạp. Giá trị ban đầu có thể chọn tùy ý:

(i) = 1 0 N (12) Bƣớc quy nạp tiếp theo:

(i) = = (13)

Hình 3.3.2.2a minh họa tính toán tiến lùi với biểu đồ lƣới mắt cáo. Mắt cáo là một đồ thị có hƣớng trong đó cá nút biểu diễn các trạng thái của mô hình và các cung biểu diễn tất cả các trạng thái có thể của mô hình trong một khoảng thời gian. Các cột đƣợc sắp xếp theo thời gian tăng lên từ trái sang phải.

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

Hình 3.7. Thao tác cơ bản của tính toán tiến

Hình 3.6 biểu đồ lƣới minh họa tính toán tiến lùi. Có 3 trạng thái liên thông đầy đủ đƣợc biểu diễn bởi lƣới dạng mắt cáo, nhƣ một đƣờng đi đƣợc minh họa từ mỗi trạng thái đến tất cả các trạng thái khác nhau trong mỗi bƣớc thời gian.

Hoạt động cơ bản đƣợc trình bày nhƣ sau: giá trị của mỗi đƣợc tính cho trạng thái bằng cách lấy tổng cho tất cả các trạng thái i, nhân với xác suất biến đổi , sau đó nhân với xác suất phát ra (Oi+1)

Quá trình tìm kiếm dãy các trạng thái mà mô hình có khả năng đi qua nhất để đƣa ra dãy quan sát có thể đƣợc thực hiện theo một số cách. Để tìm trạng thái có xác suất cực đại qi tại thời điểm t đòi hỏi định nghĩa một biến i(i) khác:

i(i) = (14)

qi = arg 0 t < T (15)

Biến này tìm trạng thái xác suất cao nhất vì i(i) tính xác suất của dãy quan sát từng phần O0, O1, …, Oi và trạng thái Si tại thời điểm t trong khi i(i) tính những quan

sát còn lại đƣợc cho trong trạng thái ở thời điểm t. Hệ số chuẩn hóa trên mẫu số làm cho biến này là một độ đo xác suất.

Dù tìm kiếm trạng thái có khả năng nhất tại mỗi thời điểm là một cách tiếp cận có thể chấp nhận đƣợc với các mô hình liên thông đầy đủ, nó có thể đạt các kết quả mâu thuẫn nhau với các mô hình trong đó không phải tất cả các biến đổi đều đƣợc phép. Bởi vì ƣớc lƣợng một trạng thái riêng lẻ qi không xem xét nó có hợp lệ hay không trong ngữ cảnh của trạng thái đƣợc ƣớc lƣợng tại những vị trí thời gian kề nhau. Thuật toán Viterbi, đƣợc trình bày chi tiết trong phần sau cho phép ƣớc lƣợng dãy các trạng thái đạt xác suất cực đại, sẽ là một tiếp cận khác cho bài toán ƣớc lƣợng trạng thái 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 56)