Biểu diển xác suất:

Một phần của tài liệu Nghiên cứu về nhận dạng tiếng nói tiếng việt và ứng dụng thử nghiệm trong điều khiển máy tính luận văn thạc sĩ (Trang 56 - 58)

Khi chúng ta tính toán các xác suất trước và sau trong thuật toán Forward- Backward, chúng sẽ tiếp cận không theo xu hướng cấp số mũ nếu chiều dài dãy quan sát, T, trở nên đủ lớn. Cho T đủ lớn, dãy linh động các xác suất sẽ vượt quá phạm vi độ chính xác của bất kỳ bộ máy nào về cơ bản. Do đó, trên thực tế, nó sẽ dẫn đến thiếu hụt trên máy tính nếu các xác suất được biểu diễn trực tiếp. Chúng ta có thể giải quyết vấn đề thi hành này bằng cách lấy tỉ lệ các xác suất này với một số hệ số tỉ lệ sao cho chúng ở bên trong dãy linh động của máy tính. Tất cả các hệ số tỉ lệ này có thể được xoá bỏ vào cuối quá trình tính toán không gây ảnh hưởng độ chính xác tổng thể.

Ví dụ, cho αt(i) nhân với hệ số tỉ lệ, St:

St = 1/∑ 𝛼𝑖 𝑡(𝑖) (3.8) Trong đó, ∑ 𝑆𝑖 𝑡𝛼𝑡(𝑖) = 1, 1 ≤ t ≤ T , 𝛽t(i) có thể được nhân bởi St , 1 ≤ t ≤ T . Sự đệ quy được bao hàm trong quá trình tính toán các biến số trước và sau có thể được lấy tỉ lệ ở mỗi giai đoạn của thời gian t bởi St . Chú ý là αt(i) và 𝛽t(i) được tính toán một cách đệ quy trong xu hướng cấp số mũ. Vì thế, ở thời điểm t hệ số tỉ lệ toàn bộ đã áp dụng cho biến số trước αt(i) là:

Scaleα(t) = ∏𝑡 𝑆𝑘

𝑘=1 (3.9) Và hệ số tỉ lệ toàn bộ cho biến số sau 𝛽t(i) là:

Scaleβ(t) = ∏𝑇 𝑆𝑘

Đó là bởi vì các hệ số tỉ lệ riêng được nhân cùng với nhau trong đệ quy trước và sau. Cho ∝′(𝑖), β′ (𝑖), và 𝛾𝑡′ (𝑖, 𝑗) biểu thị các biến số tỉ lệ tương ứng, một cách mong đợi. Chú ý là:

∑ ∝𝑖 𝑇′ (𝑖)= 𝑆𝑐𝑎𝑙𝑒∝(𝑇) ∑ 𝛼𝑖 𝑇(𝑖) = 𝑆𝑐𝑎𝑙𝑒∝(𝑇)𝑃(𝐗|𝚽) (3.11) Xác suất tỉ lệ trực tiếp, 𝛾𝑡′ (𝑖, 𝑗), có thể sau đó được viết là:

𝛾𝑡′ (𝑖, 𝑗) = 𝑆𝑐𝑎𝑙𝑒∝(𝑡−1)∝𝑡−1(𝑖)𝑎𝑖𝑗𝑏𝑗(𝑋𝑡)𝛽𝑡(𝑗)𝑆𝑐𝑎𝑙𝑒𝛽(𝑡)

𝑆𝑐𝑎𝑙𝑒𝛼(𝑇) ∑𝑁𝑖=1𝛼𝑇(𝑖) (3.12) Như vậy, các xác suất trực tiếp có thể được sử dụng trong cùng một cách như các xác suất không tỉ lệ, bởi vì hệ số tỉ lệ đã được xóa bỏ trong biểu thức trên. Cho nên, việc ước lượng lại biểu thức có thể được giữ nguyên một cách chính xác ngoại trừ P(𝐗|𝚽) nên được tính như sau:

P(𝐗|𝚽) = ∑ ∝′𝑇

𝑖 (𝑖)/𝑆𝑐𝑎𝑙𝑒∝(𝑇) (3.13) Trong thực tế, toán tử tỉ lệ không cần biểu diễn ở mọi thời điểm quan sát. Nó có thể được sử dụng ở bất kỳ khoảng thời gian tính tỉ lệ nào cho sự thiếu hụt có thể xảy ra. Trong khoảng thời gian không tỉ lệ, 𝑆𝑐𝑎𝑙𝑒∝ có thể được giữ nguyên như hệ số đơn vị.

Một cách thay đổi để tránh sự thiếu hụt là sử dụng biểu diễn lôgarit cho tất cả các xác suất. Điều này không chỉ chắc chắn tính tỉ lệ là không cần thiết, vì thiếu hụt không thể xảy ra, mà còn cung cấp lợi ích là các số nguyên có thể được sử dụng để biểu diễn các giá trị lôgarit.

Trong thuật toán Forward-Backward, chúng ta cần xác suất thêm vào. Chúng ta có thể giữ một bảng lôgarit: logbP2 - logbP1. Nếuchúng ta biểu diễn xác xuất P bởi logbP, tăng độ chính xác có thể bao hàm bởi thiết lập b gần hơn đến hệ số đơn vị. Ta hãy xem là ta muốn thêm P1P2P1P2. Ta có:

logb(P1 + P2) = logbP1 + logb(1+𝑏𝑙𝑜𝑔𝑏𝑃2−𝑙𝑜𝑔𝑏𝑃1) (3.14) Nếu P2 mà quá nhiều ước lượng nhỏ hơn P1 , thêm vào hai số sẽ chỉ có kết quả trong P1. Chúng ta có thể lưu tất cả các giá trị của (logbP2 - logbP1). Sử dụng phương pháp lôgarit mang đến lỗi cho phép toán thêm vào. Trong thực tế, biểu diễn độ chính xác dấu chấm động kiểu double có thể được dùng để tối thiểu ảnh hưởng của vấn đề độ chính xác.

Một phần của tài liệu Nghiên cứu về nhận dạng tiếng nói tiếng việt và ứng dụng thử nghiệm trong điều khiển máy tính luận văn thạc sĩ (Trang 56 - 58)