Đào tạo một mô hình Markov ẩn, nhiều trường hợp đào tạo


18

Tôi đã triển khai HMM riêng biệt theo hướng dẫn này http://cs229.stanford.edu/section/cs229-hmm.pdf

Hướng dẫn này và những người khác luôn nói về việc đào tạo HMM theo trình tự quan sát.

Điều gì xảy ra khi tôi có nhiều chuỗi đào tạo? Tôi có nên chạy chúng tuần tự, đào tạo mô hình sau?

Một lựa chọn khác là nối các chuỗi thành một và huấn luyện nó, nhưng sau đó tôi sẽ có các chuyển trạng thái từ cuối chuỗi này sang đầu chuỗi tiếp theo không có thực.


Xem bài viết này pdfs.semanticscholar.org/4000/ Từ Mặc dù họ mở rộng các ý tưởng sang kịch bản quan sát không độc lập, nhưng tôi hiểu được trường hợp đơn giản khi giả định độc lập
Marc Torrellas

việc hmmlearnthực hiện HMM đã hỗ trợ đào tạo HMM với nhiều trình tự. Chỉ cần xem HMM đào tạo với nhiều trình tự
Wenmin Wu

Câu trả lời:


16

Không kết hợp cũng không chạy mỗi lần lặp đào tạo với một trình tự khác nhau là điều nên làm. Cách tiếp cận đúng yêu cầu một số giải thích:

Người ta thường huấn luyện HMM bằng thuật toán EM. Điều này bao gồm một số lần lặp lại. Mỗi lần lặp có một bước "ước tính" và một bước "tối đa hóa". Trong bước "tối đa hóa", bạn căn chỉnh từng vectơ quan sát x với trạng thái s trong mô hình của bạn để một số biện pháp khả năng được tối đa hóa. Trong bước "ước tính", với mỗi trạng thái, bạn ước tính (a) các tham số của mô hình thống kê cho các vectơ x được căn chỉnh theo s và (b) xác suất chuyển trạng thái. Trong lần lặp sau, bước tối đa hóa chạy lại với các mô hình thống kê được cập nhật, v.v. Quá trình được lặp lại một số lần đã đặt hoặc khi số đo khả năng dừng tăng đáng kể (nghĩa là mô hình hội tụ thành một giải pháp ổn định). Cuối cùng, (ít nhất là trong nhận dạng giọng nói), một HMM thường sẽ có "bắt đầu" được chỉ định

Vì vậy, nếu bạn có nhiều chuỗi đào tạo, trên bước ước tính, bạn nên chạy từng chuỗi để vectơ quan sát ban đầu của nó phù hợp với trạng thái ban đầu. Bằng cách đó, số liệu thống kê về trạng thái ban đầu đó được thu thập từ các quan sát đầu tiên trên tất cả các chuỗi quan sát của bạn và trong các vectơ quan sát chung được căn chỉnh theo các trạng thái có khả năng nhất trong mỗi chuỗi. Bạn sẽ chỉ thực hiện bước tối đa hóa (và các lần lặp lại trong tương lai) sau khi tất cả các trình tự đã được cung cấp cho đào tạo. Ở lần lặp lại tiếp theo, bạn sẽ làm chính xác điều tương tự.

Bằng cách căn chỉnh bắt đầu của mỗi chuỗi quan sát với trạng thái ban đầu, bạn sẽ tránh được vấn đề nối các chuỗi trong đó bạn sẽ mô hình hóa các chuyển tiếp không chính xác giữa kết thúc một chuỗi và bắt đầu tiếp theo. Và bằng cách sử dụng tất cả các chuỗi trên mỗi lần lặp, bạn tránh cung cấp các chuỗi khác nhau cho mỗi lần lặp, như phản hồi đã lưu ý, sẽ không đảm bảo sự hội tụ.


Phương pháp này có yêu cầu mỗi chuỗi đào tạo có cùng độ dài không?
Nate

2
Không, nó không. Người ta thường thiết kế một HMM để cho phép các vòng lặp tự (cùng một trạng thái được sử dụng nhiều lần liên tiếp) và cho phép nhiều trạng thái chuyển tiếp. Các tính năng này cho phép HMM ghi các chuỗi có độ dài khác nhau.
JeffM

4

Lawrence Rabiner mô tả một cách tiếp cận có cơ sở toán học trong hướng dẫn này từ IEEE 77 . Hướng dẫn cũng là chương thứ 6 của cuốn sách Cơ bản về nhận dạng giọng nói của Rabiner và Juang.

RIA Davis và cộng sự al. cung cấp một số gợi ý bổ sung trong bài viết này .

Tôi chưa tìm hiểu kỹ về toán học, nhưng với tôi cách tiếp cận của Rabin có vẻ hứa hẹn nhất, trong khi cách tiếp cận của Davis dường như thiếu nền tảng toán học.


2

Nếu bạn theo toán học, việc thêm các ví dụ đào tạo bổ sung ngụ ý để tính toán lại cách bạn tính toán khả năng. Thay vì tổng hợp các kích thước, bạn cũng tổng hợp các ví dụ đào tạo.

Nếu bạn huấn luyện hết mô hình này đến mô hình kia, không có gì đảm bảo rằng EM sẽ bảo hiểm cho mọi ví dụ đào tạo và bạn sẽ kết thúc với các ước tính xấu.

Đây là một bài báo dành cho Bộ lọc Kalman (là HMM có Xác suất Gaussian), nó có thể cho bạn biết cách sửa đổi mã của mình để bạn có thể hỗ trợ thêm các ví dụ.

http://ntp-0.cs.ucl.ac.uk/staff/S.Prince/4C75/WellingKalmanFilter.pdf

Ông cũng có một bài giảng về HMM, nhưng logic khá đơn giản.


1
Tôi đã không thực sự nhìn thấy những gì bạn đang đề cập đến. Bạn có thể chỉ cho tôi đi đúng hướng? Cảm ơn.
Ran

0

Đây là nhiều bình luận trên bài báo của RIA Davis được tham chiếu bởi Bittenus (ở trên) . Tôi sẽ phải đồng ý với Bittenus, không có nhiều sự ủng hộ toán học đằng sau các kỹ thuật được đề xuất trong bài báo - nó giống như một so sánh thực nghiệm.

Bài viết chỉ xem xét trường hợp trong đó HMM là một cấu trúc liên kết bị hạn chế (chuyển tiếp thức ăn). .

Một loại hình đào tạo trung bình mô hình khác đã được RIA Davis mô tả chi tiết trong một bài báo và sử dụng Vitterbi Đào tạo thay vì Baum-Welch So sánh và đánh giá các thuật toán đào tạo của HMM sử dụng các tiêu chí đào tạo và kiểm tra và số điều kiện . Tuy nhiên, bài viết này chỉ khám phá các HMM với cấu trúc liên kết chuyển tiếp thức ăn bị hạn chế tương tự. (Tôi dự định khám phá phương pháp này và sẽ cập nhật bài đăng này với những phát hiện của tôi.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.