Tôi còn khá mới mẻ với điều này và không thể nói rằng tôi hoàn toàn hiểu về các khái niệm lý thuyết đằng sau điều này. Tôi đang cố gắng tính phân kỳ KL giữa một số danh sách các điểm trong Python. Tôi đang sử dụng http://scikit-learn.org/urdy/modules/generated/sklearn.metrics.mutual_info_score.html để thử và làm điều này. Vấn đề mà tôi gặp phải là giá trị được trả về là giống nhau cho bất kỳ 2 danh sách số nào (1.3862943611198906). Tôi có cảm giác rằng tôi đang mắc một số sai lầm lý thuyết ở đây nhưng không thể phát hiện ra.
values1 = [1.346112,1.337432,1.246655]
values2 = [1.033836,1.082015,1.117323]
metrics.mutual_info_score(values1,values2)
Đó là một ví dụ về những gì tôi đang chạy - chỉ là tôi đang nhận được cùng một đầu ra cho bất kỳ 2 đầu vào nào. Bất kỳ lời khuyên / giúp đỡ sẽ được đánh giá cao!
sklearn.metrics.mutual_info_score([1.346112,1.337432,1.246655], [1.033836,1.082015,1.117323])
, tôi nhận được giá trị 1.0986122886681096
.