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.3. Huấn luyện một mô hình Markov ẩn
Vấn đề huấn luyện mô hình Markov ẩn nhằm mục đích tối ưu giá trị P(O|), với dãy quan sát O cố định. Việc cần làm bây giờ là phải thay đổi các giá trị A, B sao cho xác suất P(O|) đạt giá trị lớn nhất có thể.
Thuật toán cơ bản cho bài toán huấn luyện mô hình Markov ẩn là thuật toán Baum Welch(Baum, 1972). Thuật toán là một trường hợp đặc biệt của phương pháp Tối ưu hóa Kì vọng(Expectation-Maximization, Dempster, 1977).
Thuật toán Baum Welch là một thuật toán tối ưu cục bộ, gồm nhiều vòng lặp. Mỗi vòng lặp chia ra làm các bước sau:
Bước 1: Tính tham số xác suất tiến α, xác suất lùi β
Tham số xác suất tiến (i) được tính như trình bày trong phần 3.2.2.1
Tham số (i) được định nghĩa là xác suất để có thể nhìn thấy dãy quan sát bắt đầu từ vị trí t+1 đến cuối nếu chúng ta đang ở trạng thái i
(i) = P(, ,....,| = i, ) Chúng ta sẽ tính (i) bằng thuật toán quy hoạch động Ban đầu, (i) = 1, 1 ≤ i ≤ N
Sau đó (i) sẽ được tính qua các giá trị (j) theo công thức (i) = , 1 ≤ j ≤ N, 1 ≤ t < T
Hình 5-10: Minh họa cách tính (i)
Bước 2: Điều chỉnh lại
Ý tưởng để sửa lại giá trị của A là sẽ điều chỉnh các tương ứng xác suất chuyển trạng thái cần thiết đi từ trạng thái i đến trạng thái j xuất hiện trong thuật toán Forward để tính xác suất P(O|). Một cách cụ thể, giá trị mới:
=
Gọi (i, j) là xác suất để xảy ở thời điểm t, chúng ta đang xét trạng thái i và ở thời điểm t + 1, chúng ta xét đến trạng thái j trong quá trình tính P(O|
Cụ thể (i, j) = P( = i,
Hình 5-11: Minh họa cách tính xác suất chuyển ở thời điểm t sang thời điểm t+1, với trạng thái i và j.
Bằng cách sử dụng của thuật toán Forward và (i) ở trên, chúng ta sẽ tính được P( = i, =
Áp dụng công thức P(X|Y, Z) = với mẫu số là P(O|λ) đã biết, ta được: (i, j) = =
Với (i, j) thì xác suất mong đợi của phép chuyển trạng thái từ i đến j sẽ là tổng các (i, j) với tất cả các t có thể, còn xác suất mong đợi của phép chuyển bắt đầu bắt đầu từ i là tổng các (i, j) với t và j tùy ý.
Công thức cuối cùng của là:
Bước 3: Điều chỉnh
Sử dụng ý tưởng tương tự với điều chỉnh giá trị của A, giá trị mới của B được tính bằng
=
Với là phần tử nào đó của dãy quan sát xuất hiện trong dãy quan sát O, được lấy ra từ tập các phần tử quan sát V.
(j) = P( (3.19)
Hình 5-12: Cách tính giá trị (j)
Tương tự như (i, j), (j) sẽ được tính qua P(, và P(O|. Xác suất P( = (j).(j), còn xác suất P(O| đã biết. Nên giá trị của (j) là:
(j) =
Với (j) đã tính được, thì có thể tính được dễ dàng giá trị của :
Đến đây là kết thúc một vòng lặp của thuật toán Baum Welch. Sau mỗi vòng lặp thì giá trị P(O|λ) sẽ đạt giá trị tối ưu hơn. Số vòng lặp của thuật toán thường không xác định cụ thể, tùy vào từng bài toán huấn luyện. Thông thường, khi chênh lệch giá trị P(O|λ) giữa hai bước liên tiếp đạt đến một ngưỡng nào đấy, thì thuật toán huấn luyện sẽ được ngừng lại.