Sự khác biệt giữa các mô hình Markov ẩn và mạng lưới thần kinh là gì?


40

Tôi chỉ bị ướt chân trong số liệu thống kê nên tôi xin lỗi nếu câu hỏi này không có ý nghĩa. Tôi đã sử dụng các mô hình Markov để dự đoán các trạng thái ẩn (sòng bạc không công bằng, cuộn súc sắc, v.v.) và mạng lưới thần kinh để nghiên cứu người dùng nhấp chuột vào công cụ tìm kiếm. Cả hai đều có những trạng thái ẩn mà chúng tôi đang cố gắng tìm ra bằng cách sử dụng các quan sát.

Theo hiểu biết của tôi, cả hai đều dự đoán các trạng thái ẩn, vì vậy tôi tự hỏi khi nào thì người ta sẽ sử dụng các mô hình Markov trên các mạng thần kinh? Có phải họ chỉ là cách tiếp cận khác nhau cho các vấn đề tương tự?

(Tôi thích học hỏi nhưng tôi cũng có một động lực khác. Tôi có một vấn đề là tôi đang cố gắng giải quyết bằng cách sử dụng các mô hình Markov ẩn nhưng điều đó thúc đẩy tôi trở thành người hâm mộ nên tôi quan tâm xem liệu tôi có thể chuyển sang sử dụng thứ khác không.)


2
Bạn có thể muốn xem tại đây: stats.stackexchange.com/questions/4498/ trên
Nucular

Bạn có quan tâm để chọn một câu trả lời, hoặc làm rõ hơn những gì bạn đang tìm kiếm?
liên hợp chiến

Câu trả lời:


27

Những gì được ẩn và những gì được quan sát

Thứ được ẩn trong mô hình Markov ẩn cũng giống như thứ được ẩn trong mô hình hỗn hợp rời rạc, vì vậy, để rõ ràng, hãy quên động lực của trạng thái ẩn và sử dụng mô hình hỗn hợp hữu hạn làm ví dụ. 'Trạng thái' trong mô hình này là danh tính của thành phần gây ra mỗi lần quan sát. Trong lớp mô hình này, các nguyên nhân như vậy không bao giờ được quan sát, do đó, 'nguyên nhân ẩn' được dịch theo thống kê thành tuyên bố rằng dữ liệu được quan sát có các phụ thuộc biên được loại bỏ khi biết thành phần nguồn. Và các thành phần nguồn được ước tính là bất cứ điều gì làm cho mối quan hệ thống kê này đúng.

Điều được ẩn giấu trong một mạng nơ ron đa lớp tiến bộ với các đơn vị trung gian sigmoid là trạng thái của các đơn vị đó, không phải là đầu ra là mục tiêu của suy luận. Khi đầu ra của mạng là một phân loại, nghĩa là phân phối xác suất trên các danh mục đầu ra có thể, các giá trị đơn vị ẩn này xác định một khoảng trống trong đó các danh mục có thể tách rời. Thủ thuật trong việc học một mô hình như vậy là tạo một không gian ẩn (bằng cách điều chỉnh ánh xạ ra khỏi các đơn vị đầu vào) trong đó vấn đề là tuyến tính. Do đó, toàn bộ ranh giới quyết định phi tuyến tính có thể từ toàn bộ hệ thống.

Sáng tạo so với phân biệt đối xử

Mô hình hỗn hợp (và HMM) là một mô hình của quá trình tạo dữ liệu, đôi khi được gọi là khả năng hoặc 'mô hình chuyển tiếp'. Khi được kết hợp với một số giả định về xác suất trước đó của mỗi trạng thái, bạn có thể suy ra phân phối trên các giá trị có thể có của trạng thái ẩn bằng định lý Bayes (một cách tiếp cận tổng quát). Lưu ý rằng, mặc dù được gọi là 'trước', cả tham số trước và tham số trong khả năng thường được học từ dữ liệu.

Ngược lại với mô hình hỗn hợp (và HMM), mạng lưới thần kinh học phân phối hậu nghiệm trực tiếp trên các loại đầu ra (một cách tiếp cận phân biệt đối xử). Điều này là có thể bởi vì các giá trị đầu ra đã được quan sát trong quá trình ước tính. Và vì chúng đã được quan sát, không cần thiết phải xây dựng phân phối sau từ một mô hình trước và một mô hình cụ thể cho khả năng như hỗn hợp. Các hậu sinh được học trực tiếp từ dữ liệu, đó là hiệu quả hơn và ít phụ thuộc vào mô hình.

Pha trộn và kết hợp

Để làm cho mọi thứ trở nên khó hiểu hơn, các cách tiếp cận này có thể được trộn lẫn với nhau, ví dụ như khi trạng thái mô hình hỗn hợp (hoặc HMM) đôi khi thực sự được quan sát. Khi đó là sự thật, và trong một số trường hợp khác không liên quan ở đây, có thể đào tạo phân biệt đối xử trong một mô hình thế hệ khác. Tương tự như vậy, có thể thay thế ánh xạ mô hình hỗn hợp của HMM bằng mô hình chuyển tiếp linh hoạt hơn, ví dụ, mạng lưới thần kinh.

Những câu hỏi

Vì vậy, không hoàn toàn đúng khi cả hai mô hình dự đoán trạng thái ẩn. HMM có thể được sử dụng để dự đoán trạng thái ẩn, mặc dù chỉ là loại mà mô hình chuyển tiếp đang mong đợi. Mạng lưới thần kinh có thể được sử dụng để dự đoán trạng thái chưa được quan sát , ví dụ như trạng thái trong tương lai có dự đoán. Loại trạng thái này không bị ẩn trong nguyên tắc, nó chỉ chưa được quan sát.

Khi nào bạn sẽ sử dụng cái này chứ không phải cái kia? Vâng, mạng lưới thần kinh làm cho các mô hình chuỗi thời gian khá khó xử theo kinh nghiệm của tôi. Họ cũng cho rằng bạn đã quan sát đầu ra. HMM không nhưng bạn thực sự không có bất kỳ sự kiểm soát nào về trạng thái ẩn thực sự là gì. Tuy nhiên, họ là mô hình chuỗi thời gian thích hợp.


2
+1 Điều này rất tốt. Bởi : Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network., bạn có nghĩa là thay thế xác suất phát xạ p (Quan sát | Ẩn) bằng NN chuyển tiếp? Tôi đã bắt gặp điều này ở một vài nơi nhưng không ai đưa ra lời giải thích; họ chỉ đề cập đến họ đã thực hiện nó. Tôi cho rằng họ thay thế bước MLE để học phát thải nhưng không thể hiểu làm thế nào. Bạn có biết bất kỳ mã hoặc ví dụ giải thích? Bất kỳ con trỏ chào mừng, cảm ơn.
Zhubarb

Nó dường như ít được sử dụng theo cách đó (một số người ML khác có thể sửa tôi ở đây). Tha cho biết, ước tính vectơ tham số NN ánh xạ tới đầu ra có điều kiện khi biết vectơ trạng thái (hoặc ít nhất là biết giá trị mong đợi của nó, như trong thuật toán EM) là nhiệm vụ tương tự như đào tạo với dữ liệu đầu vào và đầu ra được quan sát, vì vậy tôi đoán ở đó không có gì đặc biệt để nói về phần đó
liên hợp chiến

Câu trả lời là tốt, ngoại trừ: Mạng lưới thần kinh có thể là phân biệt đối xử (chuyển tiếp, v.v.) hoặc thế hệ (máy bolzmann bị hạn chế, v.v.). Ngoài ra, các mạng thần kinh tái phát như mô hình LSTM và Reservoir Computing có thể mô hình chuỗi thời gian cũng như HMM - và đôi khi còn tốt hơn HMM, đặc biệt trong trường hợp chuỗi thời gian với động lực phi tuyến mạnh mẽ và tương quan thời gian dài.
GuSuku

10

Các mô hình Markov ẩn có thể được sử dụng để tạo một ngôn ngữ, nghĩa là liệt kê các thành phần từ một chuỗi các chuỗi. Ví dụ: nếu bạn có HMM mô hình một tập hợp các chuỗi, bạn sẽ có thể tạo thành viên của gia đình này, bằng cách liệt kê các chuỗi sẽ rơi vào nhóm các chuỗi chúng tôi đang lập mô hình.

Mạng nơ-ron, lấy đầu vào từ không gian chiều cao và chỉ cần ánh xạ nó sang không gian chiều thấp hơn (cách mà Mạng nơ-ron ánh xạ đầu vào này dựa trên đào tạo, cấu trúc liên kết và các yếu tố khác). Ví dụ: bạn có thể lấy hình ảnh 64 bit của một số và ánh xạ nó tới giá trị đúng / sai mô tả xem số này là 1 hay 0.

Trong khi cả hai phương pháp đều có thể (hoặc ít nhất có thể cố gắng) phân biệt xem một mục có phải là thành viên của một lớp hay không, Mạng nơ-ron không thể tạo ra một ngôn ngữ như được mô tả ở trên.

Có sẵn các lựa chọn thay thế cho Mô hình Markov ẩn, ví dụ: bạn có thể sử dụng Mạng Bayesian tổng quát hơn, cấu trúc liên kết khác hoặc Ngữ pháp không ngữ cảnh ngẫu nhiên (SCFG) nếu bạn tin rằng vấn đề nằm trong HMM thiếu sức mạnh mô hình hóa vấn đề của bạn - nghĩa là, nếu bạn cần một thuật toán có khả năng phân biệt giữa các giả thuyết phức tạp hơn và / hoặc mô tả hành vi của dữ liệu phức tạp hơn nhiều.


6
+1 Đối với đoạn thứ hai. Tôi muốn chỉ ra rằng bất cứ ai hiểu rõ tất cả các yếu tố của câu trả lời này có lẽ sẽ không hỏi câu hỏi ban đầu. Có lẽ không hữu ích khi đề cập đến các ngữ pháp chính thức cho ai đó có bài đăng bắt đầu bằng "Tôi chỉ bị ướt chân trong các số liệu thống kê ..." Đoạn thứ hai ở đây ghi lại bản chất của những gì OP đang hỏi. Thay vì đoạn đầu tiên, bạn có thể nói: một mô hình HMM phụ thuộc có điều kiện của các trạng thái ẩn, trong đó mỗi trạng thái có phân phối xác suất trên các quan sát.
Phillip Cloud

7
Câu trả lời này đơn giản là sai. Mạng thần kinh ở đây được coi là nguồn cấp dữ liệu. Đây chỉ là một lớp của mạng lưới thần kinh. Các mô hình lặp lại không chỉ đơn giản ánh xạ các đầu vào đơn xuống dưới dạng biểu diễn chiều thấp hơn và chúng có thể tạo ra ngôn ngữ. Xem ví dụ arxiv.org/abs/1308.0850
rd11

Tạo một chuỗi (như trong bài báo được liên kết) không giống như tạo một ngôn ngữ. Tôi cho rằng bạn có thể áp dụng chúng để phân biệt giữa các phần tử của tập hợp và nếu không, nếu bạn muốn, một mô hình định kỳ có thể được dự tính là lấy một đầu vào lớn trải dài trên các đầu vào riêng lẻ với sự lặp lại và trả về một đầu ra lớn. Không chắc chắn nếu Mạng thần kinh định kỳ có thể cung cấp cho bạn đầu ra mà không có bất kỳ đầu vào nào.
Andrew

Hừm. Bạn có thể đưa ra một ví dụ về thứ mà bạn nghĩ rằng HMM có thể tạo ra và bạn tin rằng không thể được tạo bằng RNN?
Thứ

Ví dụ xuất hiện trong tâm trí như sau: đưa ra một HMM, bạn có thể có được một chuỗi các yếu tố thuộc về ngôn ngữ mà HMM đại diện. Để một RNN làm như vậy, bạn cần thêm một thứ gì đó lên trên nó (ví dụ: thử các đầu vào khác nhau và đánh dấu một đầu vào là một thành viên của một lớp hoặc nếu không) - mặc dù trong trường hợp RNN có thể bạn đang xem xét nhiều đầu vào (cái này đến cái khác) như thể hiện một "vật phẩm" duy nhất. HMM tự nhiên phù hợp hơn cho mục đích tạo ra một ngôn ngữ.
Andrew

3

Câu trả lời tốt nhất cho câu hỏi này từ những gì tôi đã tìm thấy là đây: Học sâu một chuỗi Markov được ngụy trang . Đây chính xác là những gì tôi hiểu, nhưng vì đã có một cuộc thảo luận ở nơi khác trên Internet, tôi đang đặt liên kết ở đây.

p(x1....xn)= =p(x1)p(x2|x1)p(x3|x2)...

p(x1....xn)= =p(x1)p(x2|x1)p(x3|x2,x1)p(x4|x3,x2,x1)...

Chúng ta có thể sử dụng một chuỗi ký tự làm đầu vào thay vì một ký tự đơn. Bằng cách này, chúng ta có thể nắm bắt trạng thái tốt hơn (tùy thuộc vào ngữ cảnh).

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.