Phân bổ Dirichlet tiềm ẩn so với quy trình Dirichlet phân cấp


49

Phân bổ Dirichlet tiềm ẩn (LDA)Quy trình Dirichlet phân cấp (HDP) đều là các quy trình mô hình hóa chủ đề. Sự khác biệt chính là LDA yêu cầu thông số kỹ thuật về số lượng chủ đề và HDP thì không. Tại sao lại như vậy? Và sự khác biệt, ưu và nhược điểm của cả hai phương pháp mô hình chủ đề là gì?


HDP có được coi là dựa trên dữ liệu liên quan đến số lượng chủ đề mà nó sẽ chọn không? Về mặt thực tế, tôi đã cố gắng chạy triển khai HDP của Blei's và nó chỉ ăn hết bộ nhớ cho đến khi tôi giết quá trình. Tôi có 16GB RAM và chỉ hơn 100K tài liệu ngắn để phân tích.
Vladislavs Dovgalecs

Câu trả lời:


35

HDP là một phần mở rộng của LDA, được thiết kế để giải quyết trường hợp số lượng thành phần hỗn hợp (số lượng "chủ đề" trong thuật ngữ mô hình hóa tài liệu) không được biết đến trước. Vì vậy, đó là lý do tại sao có một sự khác biệt.

Sử dụng LDA để lập mô hình tài liệu, người ta coi mỗi "chủ đề" là một sự phân phối các từ trong một số từ vựng đã biết. Đối với mỗi tài liệu, một hỗn hợp các chủ đề được rút ra từ một bản phân phối Dirichlet, và sau đó mỗi từ trong tài liệu là một bản vẽ độc lập từ hỗn hợp đó (nghĩa là chọn một chủ đề và sau đó sử dụng nó để tạo một từ).

Đối với HDP (áp dụng cho mô hình hóa tài liệu), người ta cũng sử dụng quy trình Dirichlet để nắm bắt sự không chắc chắn về số lượng chủ đề. Vì vậy, một phân phối cơ sở chung được chọn đại diện cho tập hợp vô hạn các chủ đề có thể có cho kho văn bản, và sau đó phân phối hữu hạn các chủ đề cho mỗi tài liệu được lấy mẫu từ phân phối cơ sở này.

Theo như ưu và nhược điểm, HDP có lợi thế là số lượng chủ đề tối đa có thể không bị ràng buộc và học được từ dữ liệu thay vì được chỉ định trước. Tôi cho rằng mặc dù nó phức tạp hơn để thực hiện và không cần thiết trong trường hợp số lượng chủ đề bị ràng buộc được chấp nhận.


22

Thông thường, tôi chưa bao giờ ấn tượng với đầu ra từ LDA phân cấp. Nó dường như không tìm thấy một mức độ chi tiết tối ưu để chọn số lượng chủ đề. Tôi đã thu được kết quả tốt hơn nhiều bằng cách chạy một vài lần lặp LDA thông thường, kiểm tra thủ công các chủ đề mà nó tạo ra, quyết định xem có tăng hay giảm số lượng chủ đề hay không và tiếp tục lặp đi lặp lại cho đến khi tôi nhận được mức độ chi tiết mà tôi đang tìm kiếm.

Hãy nhớ rằng: LDA phân cấp không thể đọc được suy nghĩ của bạn ... nó không biết bạn thực sự có ý định sử dụng mô hình chủ đề để làm gì. Cũng giống như với cụm k-nghĩa, bạn nên chọn k có ý nghĩa nhất cho trường hợp sử dụng của bạn.


16

Tôi muốn chỉ ra, vì đây là một trong những hit hàng đầu của Google cho chủ đề này, rằng Phân bổ Dirichlet tiềm ẩn (LDA), Quy trình Dirichlet phân cấp (HDP) Phân bổ Dirichlet phân cấp (hLDA) đều là các mô hình riêng biệt.

Mô hình LDA tài liệu dưới dạng hỗn hợp dirichlet của một số chủ đề cố định - được người dùng chọn làm tham số của mô hình - lần lượt là hỗn hợp các từ dirichlet. Điều này tạo ra một cụm xác suất phẳng, mềm mại của các thuật ngữ thành chủ đề và tài liệu thành chủ đề.

HDP mô hình các chủ đề dưới dạng hỗn hợp các từ, giống như LDA, nhưng thay vì các tài liệu là hỗn hợp của một số chủ đề cố định, số lượng chủ đề được tạo bởi một quy trình dirichlet, dẫn đến số lượng chủ đề cũng là một biến ngẫu nhiên. Phần "phân cấp" của tên đề cập đến một cấp độ khác được thêm vào mô hình thế hệ (quy trình dirichlet tạo ra số lượng chủ đề), chứ không phải chính các chủ đề - các chủ đề vẫn là các cụm phẳng.

hLDA, mặt khác, là một bản phóng tác của LDA, mô hình hóa các chủ đề như là hỗn hợp của một cấp độ mới, khác biệt của các chủ đề, được rút ra từ các bản phân phối dirichletvà không xử lý. Nó vẫn coi số lượng chủ đề là một siêu tham số, nghĩa là độc lập với dữ liệu. Sự khác biệt là việc phân cụm hiện được phân cấp - nó học một cụm các nhóm chủ đề đầu tiên, đưa ra một mối quan hệ trừu tượng, tổng quát hơn giữa các chủ đề (và do đó, từ và tài liệu). Hãy nghĩ về nó giống như phân cụm các ngăn xếp trao đổi thành toán học, khoa học, lập trình, lịch sử, v.v. trái ngược với phân cụm khoa học dữ liệu và xác thực chéo thành một chủ đề thống kê và lập trình trừu tượng chia sẻ một số khái niệm, như kỹ thuật phần mềm, nhưng kỹ thuật phần mềm trao đổi được phân cụm ở cấp độ cụ thể hơn với trao đổi khoa học máy tính và sự tương đồng giữa tất cả các trao đổi được đề cập không xuất hiện nhiều cho đến khi lớp trên của cụm.


0

Tôi có một tình huống mà HDP hoạt động tốt so với LDA. Tôi có khoảng 16000 tài liệu thuộc về các lớp khác nhau. Vì tôi không biết có bao nhiêu chủ đề khác nhau mà tôi có thể thu thập cho mỗi lớp, HDP thực sự hữu ích trong trường hợp này.

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.