Vai trò của logarit trong entropy của Shannon là gì?


72

Entropy của Shannon là âm của tổng xác suất của mỗi kết quả nhân với logarit của xác suất cho mỗi kết quả. Mục đích nào của logarit phục vụ trong phương trình này?

Một câu trả lời trực quan hoặc trực quan (trái ngược với câu trả lời toán học sâu sắc) sẽ được cho điểm thưởng!


11
Bạn (hoặc những người đọc khác) có thể thích: A. Renyi (1961), Về các biện pháp Entropy và thông tin , Proc. của Hội nghị chuyên đề Berkeley lần thứ tư về Thống kê và Xác suất toán học , tập. 1, 547-561.
Đức hồng y

Dựa trên phản ứng của bạn , tôi cho rằng điều bạn muốn nói là tại sao Shannon sử dụng logarit trong công thức của mình, phải không?
Ooker

@Ooker: Đó là một cách để diễn đạt nó. "Tại sao" anh ấy đặt nó vào? "Có gì" là nó hàm hay vai trò gì 'nó đạt được? 'Làm thế nào' là nó hữu ích Đối với tôi, đây là tất cả trong cùng khu vực ... "?'?
histelheim

Hãy xem câu trả lời của tôi ở đây: stats.stackexchange.com/questions/66186/ Kẻ
kjetil b halvorsen

Xem câu trả lời của tôi, tôi nghĩ rằng ý nghĩa của một bản ghi chỉ có thể thực sự được hiểu bằng cách kiểm tra nguồn gốc của entropy Shannon trong cơ học thống kê
Aksakal

Câu trả lời:


51

Shannon entropy là một đại lượng thỏa mãn một tập hợp các mối quan hệ.

Nói tóm lại, logarit là làm cho nó phát triển tuyến tính với kích thước hệ thống và "hành xử như thông tin".

Điều đầu tiên có nghĩa là entropy của việc tung đồng xu n lần là n lần entropy của việc tung đồng xu:

i=12n12nlog(12n)=i=12n12nnlog(12)=n(i=1212log(12))=n.

Hoặc chỉ để xem làm thế nào nó hoạt động khi tung hai đồng tiền khác nhau (có lẽ không công bằng - với người đứng đầu với xác suất p1 và đuôi p2 cho đồng tiền đầu tiên, và q1q2 cho phần thứ hai)

i=12j=12piqjlog(piqj)=i=12j=12piqj(log(pi)+log(qj))
=i=12j=12piqjlog(pi)i=12j=12piqjlog(qj)=i=12pilog(pi)j=12qjlog(qj)
vì vậy các thuộc tính củalogarit(logarit của sản phẩm là tổng của logarit) là rất quan trọng.

Nhưng entropy Rényi cũng có tính chất này (nó được entropy tham số hóa bởi một số thực α , trở thành entropy Shannon cho α1 ).

Tuy nhiên, ở đây có tài sản thứ hai - entropy Shannon là đặc biệt, vì nó liên quan đến thông tin. Để có được cảm giác trực quan, bạn có thể nhìn vào

H=ipilog(1pi)
là trung bình củalog(1/p).

Chúng tôi có thể gọi thông tin log(1/p) . Tại sao? Bởi vì nếu tất cả các sự kiện xảy ra với xác suất p , điều đó có nghĩa là có 1/p sự kiện. Để biết sự kiện nào đã xảy ra, chúng ta cần sử dụng các bit log(1/p) (mỗi bit nhân đôi số lượng sự kiện chúng ta có thể phân biệt).

Bạn có thể cảm thấy lo lắng "OK, nếu tất cả các sự kiện có cùng xác suất thì việc sử dụng log(1/p) làm thước đo thông tin là điều hợp lý. Nhưng nếu chúng không như vậy, tại sao thông tin trung bình lại có ý nghĩa?" - và đó là một mối quan tâm tự nhiên.

Nhưng nó chỉ ra rằng nó có ý nghĩa - nguồn Shannon của mã hóa định lý nói rằng một chuỗi với chữ uncorrelted với xác suất {pi}i có độ dài n không có thể được nén (trung bình) để chuỗi nhị phân ngắn hơn nH . Và trên thực tế, chúng ta có thể sử dụng Huffman mã hóa để nén các chuỗi và nhận được rất gần với nH .

Xem thêm:


11
Câu trả lời này có rất nhiều chi tiết hay - nhưng từ quan điểm của một giáo dân, nó vẫn khắc phục được vấn đề - vai trò của logarit là gì? Tại sao chúng ta không thể tính toán entropy mà không có logarit?
histelheim

6
@histelheim Ý bạn là gì khi "không có logarit"? chỉ có một. Nếu bạn muốn một thước đo khác về sự đa dạng mà không cần nhật ký , hãy xem các chỉ số đa dạng - ví dụ: cái gọi là chỉ số Inverse Simpson 1 / i p 2 i cho biết số lượng lựa chọn hiệu quả (một xác suất trung bình), có chỉ số Gini bằng Simpson 1 - Σ i p 2 iipilog 1/ipi2 1ipi2luôn nằm trong khoảng từ 0 đến một. Và nếu bạn không quan tâm đến các thuộc tính liên quan đến thông tin tinh tế của entropy Shannon, bạn có thể sử dụng bất kỳ trong số chúng (mặc dù, chúng có trọng lượng thấp và xác suất cao khác nhau).
Piotr Migdal

10
Tôi bị bối rối bởi bình luận cuối cùng của bạn, Histelheim: những gì có thể "entropy mà không có logarit" có thể đề cập đến? Điều đó cho thấy bạn chưa nói rõ câu hỏi của mình, bởi vì có vẻ như bạn có một khái niệm "entropy" không có căn cứ trong tâm trí. Xin đừng để chúng tôi đoán - chỉnh sửa câu hỏi của bạn để độc giả của bạn có thể cung cấp các loại câu trả lời bạn đang tìm kiếm.
whuber

1
@ Piotr Migdal - bạn viết "logarit là làm cho nó phát triển tuyến tính với kích thước hệ thống và" hành xử như thông tin "." - điều này có vẻ rất quan trọng đối với tôi để hiểu vai trò của logarit, tuy nhiên tôi không rõ lắm về ý nghĩa của nó.
histelheim

1
@ Piotr Migdal - hơn nữa, lời giải thích của bạn sau "Chúng tôi có thể gọi thông tin nhật ký (1 / p). Tại sao?" dường như có ý nghĩa với tôi Có phải là logarit về cơ bản chuyển chúng ta từ một chỉ số đa dạng sang một chỉ mục thông tin - đo lường số lượng bit chúng ta cần để phân biệt các sự kiện.
histelheim

25

Điều này cũng giống như các câu trả lời khác, nhưng tôi nghĩ cách tốt nhất để giải thích là xem Shannon nói gì trong bài báo gốc của mình.

Các biện pháp logarit thuận tiện hơn vì nhiều lý do:

  1. Nó thực tế hữu ích hơn. Các thông số về tầm quan trọng kỹ thuật như thời gian, băng thông, số lượng rơle, v.v., có xu hướng thay đổi tuyến tính với logarit của số khả năng. Ví dụ, thêm một rơle vào một nhóm sẽ nhân đôi số trạng thái có thể có của rơle. Nó thêm 1 vào logarit cơ sở 2 của số này. Nhân đôi thời gian bình phương số lượng tin nhắn có thể, hoặc nhân đôi logarit, v.v.
  2. Nó gần với cảm giác trực quan của chúng ta về các biện pháp thích hợp. Điều này liên quan chặt chẽ với (1) vì chúng tôi đo lường trực quan các thực thể bằng cách so sánh tuyến tính với các tiêu chuẩn chung. Chẳng hạn, người ta cảm thấy rằng hai thẻ đục lỗ nên có dung lượng gấp đôi một để lưu trữ thông tin và hai kênh giống nhau gấp đôi dung lượng của một để truyền thông tin.
  3. Nó phù hợp hơn về mặt toán học. Nhiều thao tác giới hạn rất đơn giản về mặt logarit nhưng sẽ đòi hỏi sự phục hồi vụng về về số lượng khả năng

Nguồn: Shannon, Một lý thuyết toán học về truyền thông (1948) [ pdf ].


ΩlogΩΩΩlogΩ


Câu trả lời này dường như là tập trung nhất nhưng thông tin.
ngôi sao sáng

1
Đây không phải là lý do tại sao nhật ký xuất hiện trong tính toán entropy. Đây là lý do tại sao các thông tin báo cáo được báo cáo như vậy. Có một số lượng thay thế: "sự bối rối" báo cáo thông tin mà không có nhật ký. Trong phần này của bài báo của mình, Shannon đang tranh luận ủng hộ bit / nats / hartley, và chống lại sự bối rối.
Neil G

15

x1xNxO(log2N)xN=8x.

x1xNp(x)=1/N1xNx

h(x)=log21p(x)

x=4h(4)=3x4x=4

xxh(x)x

h(x)=1xNp(x)h(x)

h(x)H(X)H(X)


1
+ Đây là một trong những ứng dụng yêu thích của tôi về lý thuyết thông tin - phân tích thuật toán. Nếu bạn có các điểm quyết định với> 2 kết quả, chẳng hạn như khi bạn lập chỉ mục một mảng, đó là nguyên tắc đằng sau mã hóa băm và sắp xếp O (n).
Mike Dunlavey

Đối số này là tốt cho entropy rời rạc, nhưng không dễ dàng khái quát thành entropy liên tục.
Neil G

12

Đây là một lời giải thích ngoài lề. Bạn có thể nói 2 cuốn sách có cùng kích thước có gấp đôi thông tin so với 1 cuốn sách, phải không? (Coi một cuốn sách là một chuỗi bit.) Chà, nếu một kết quả nhất định có xác suất P, thì bạn có thể nói nội dung thông tin của nó là về số bit bạn cần viết ra 1 / P. (ví dụ: nếu P = 1/256, đó là 8 bit.) Entropy chỉ là trung bình của độ dài bit thông tin đó, trên tất cả các kết quả.


5

log(pi)log(pi)H(p1,,pN)

Shannon cung cấp một bằng chứng toán học về kết quả này đã được chọn lọc kỹ lưỡng và được chấp nhận rộng rãi. Do đó, mục đích và ý nghĩa của logarit trong phương trình entropy là khép kín trong các giả định và bằng chứng.

Điều này không làm cho nó dễ hiểu, nhưng cuối cùng nó là lý do tại sao logarit xuất hiện.

Tôi đã tìm thấy các tài liệu tham khảo sau hữu ích ngoài những tài liệu được liệt kê ở nơi khác:

  1. Lý thuyết xác suất: Logic của khoa học của ET Jaynes . Jaynes là một trong số ít tác giả có được nhiều kết quả từ đầu; xem Chương 11.
  2. Lý thuyết thông tin, suy luận và thuật toán học tập của David MacKay. Chứa một phân tích chuyên sâu về định lý mã hóa nguồn của Shannon; xem Chương 4.

4

Tóm lược:

nn

Thí dụ:

661n=21

3.56/2=3

1

Làm thôi nào:

  • 6>3.5
  • 6/2=35
  • 6/2/2=1.5=6

63ceil(log2(6))=ceil(2.58)=3

ceil

2.58

log2(...)nn2logn(...)

Mô phỏng:

import random

total_questions = 0
TOTAL_ROUNDS = 10000

for i in range(0,TOTAL_ROUNDS):
    outcome = random.randrange(1,7)
    total_questions += 1
    if outcome > 3.5:
        total_questions += 1
        if outcome >= 5:
            total_questions += 1
            if outcome == 5:
                pass
            else:
                # must be 6! no need to ask
                pass
        else:
            # must be 4! no need to ask
            pass
    else:
        total_questions += 1
        if outcome >= 2:
            total_questions += 1
            if outcome == 2:
                pass
            else:
                # must be 3! no need to ask
                pass
        else:
            # must be 1! no need to ask
            pass


print 'total questions: ' + str(total_questions)
print 'average questions per outcome: ' + str(total_questions/float(TOTAL_ROUNDS))

Các kết quả:

total questions: 26634
average questions per outcome: 2.6634

2.6634log2(6)2.58

Chuyện gì vậy? Nó gần như gần, nhưng không thực sự gần như tôi hy vọng. Có phải PRNG của Python đang cố nói một trò đùa chậm? Hay là Shannon đã sai? Hay là -God cấm- sự hiểu biết của tôi là sai? Dù bằng cách nào GIÚP. SOS đã là anh chàng.


2
65=7776log2(65)=1313/5=2.6190537492531492531/1905372.584962500722

@whuber không phải là những gì tôi đang làm trong mã của tôi? Tôi ném 10000 chết, và tổng số câu hỏi tôi yêu cầu cho tất cả các chết. Sau đó tôi làm tổng / 10000 tôi nhận được 2,66.
thượng cổ

1
Không, bạn hoàn toàn không làm điều đó trong mã của mình! Bạn cần hỏi một bộ câu hỏi được thiết kế để đồng thời có được trạng thái của tất cả các con xúc xắc cùng một lúc. Đó không phải là điều tương tự như số câu hỏi trung bình cần thiết để tìm trạng thái của một người chết tại một thời điểm.
whuber

3

Ω={ω1,,ωn}p1,,pnH(p1,,pn)

  • H
  • Hnp1==pn=1n
  • H
    H(12,16,13)=H(12,12)+12H(13,23).

H

H(p1,,pn)=i=1npilogkpi
k>1k=2

3

Câu hỏi này đã được đưa ra hai năm trước và đã có nhiều câu trả lời tuyệt vời, nhưng tôi muốn thêm câu hỏi của mình đã giúp tôi rất nhiều.

Câu hỏi là

Mục đích nào của logarit phục vụ trong phương trình này?

Logarit (thường dựa trên 2) là do bất đẳng thức của Kraft .

i=1m2li<=1

liLxP(x)

P(x)=2L(x)

L(x)=logP(x)P(x)L(x)

L(x)P(x)P(x)logP(x)

Một minh họa trực quan và một câu trả lời trực quan (như bạn yêu cầu, nhưng cụ thể hơn là cho Bất đẳng thức của Kraft) được nêu rõ trong Cây mã giấy này và Bất bình đẳng của Kraft .


1

Dựa trên sự không chấp nhận của bạn đối với bất kỳ câu trả lời nào, tôi nghĩ rằng những gì bạn đang tìm kiếm là lý do tại sao Shannon sử dụng logarit trong công thức của mình ở nơi đầu tiên. Nói cách khác, triết lý của nó.

Tuyên bố miễn trừ trách nhiệm : Tôi mới tham gia lĩnh vực này trong một tuần, đến đây vì có câu hỏi giống như bạn . Nếu bạn có thêm kiến ​​thức về điều này, xin vui lòng cho tôi biết.

Tôi có câu hỏi này sau khi đọc một trong những bài báo quan trọng nhất của Ulanowicz, Tăng Entropy: Cái chết nhiệt hay hòa âm vĩnh viễn? . Đây là đoạn giải thích tại sao công thức có -log (p) thay vì (1-p):

Trước khi tiếp tục giải nén định nghĩa chính thức của entropy, người ta sẽ có lý khi hỏi tại sao không chỉ đơn giản chọn (1 - p) thay vì [mộclog (p)] làm thước đo thích hợp nhất cho sự không tồn tại? Câu trả lời là sản phẩm kết quả có p (nghĩa là [p p p ^ 2]) hoàn toàn đối xứng xung quanh giá trị p = 0,5. Các tính toán theo sự kết hợp đối xứng như vậy sẽ chỉ có thể mô tả một vũ trụ có thể đảo ngược. Boltzmann và Gibbs, tuy nhiên, đang tìm cách định lượng một vũ trụ không thể đảo ngược. Bằng cách chọn hàm logarit lồi đơn biến, Boltzmann do đó đã tạo ra sự thiên vị cho việc không tồn tại. Ví dụ, một thông báo rằng max [HPxlog {x}] = {1 / e} 0,37, do đó, số đo không xác định bị lệch về các giá trị thấp hơn của pi.

Có vẻ như Shannon đã chọn logarit mà không có lý do. Anh ta chỉ "bôi nhọ" rằng anh ta nên sử dụng logarit. Tại sao Newton chọn phép toán nhân trong công thức F = m * a của mình?

Lưu ý rằng tại thời điểm đó, anh ta không biết gì về entropy :

Mối quan tâm lớn nhất của tôi là những gì để gọi nó. Tôi đã nghĩ đến việc gọi nó là "thông tin", nhưng từ này được sử dụng quá mức, vì vậy tôi quyết định gọi nó là "sự không chắc chắn". Khi tôi thảo luận với John von Neumann, anh ấy có một ý tưởng tốt hơn. Von Neumann nói với tôi, 'Bạn nên gọi nó là entropy, vì hai lý do. Ở nơi đầu tiên, hàm không chắc chắn của bạn đã được sử dụng trong cơ học thống kê dưới tên đó, vì vậy nó đã có tên. Ở vị trí thứ hai, và quan trọng hơn, không ai biết entropy thực sự là gì, vì vậy trong một cuộc tranh luận, bạn sẽ luôn có lợi thế.

Vì vậy, câu trả lời của tôi là: không có lý do cho việc này. Ông đã chọn điều này bởi vì nó chỉ hoạt động kỳ diệu.


0

Entropy được định nghĩa là logarit của giá trị trung bình hình học của hệ số đa thức biểu thị số lượng trạng thái mà một hệ thống có thể ở:

log(Nn1,,nk)N

Các logarit xuất hiện trong công thức sau khi sử dụng xấp xỉ giai thừa của Stirling (xem phần giải thích này )


3
Tôi tin rằng OP biết logarit là một phần của định nghĩa. Họ hỏi tại sao nó ở đó?
whuber

0

Nhật ký xuất phát từ đạo hàm của hàm H thỏa mãn các yêu cầu tự nhiên nhất định. Xem pg. 3 giây 2 nguồn này:

http://www.lptl.jussieu.fr/user/lesne/MSCS-entropy.pdf

Với các tiên đề, nếu bạn thực hiện tối ưu hóa, bạn sẽ có được một hàm duy nhất (tối đa các hằng số) với một bản ghi trong đó.

Tất cả các câu trả lời trên đều đúng, ngoại trừ việc họ diễn giải nhật ký, nhưng không giải thích nguồn gốc của nó.


0

Tôi đoán câu hỏi của bạn liên quan nhiều hơn đến "ý nghĩa" của logarit đó và tại sao mỗi thành phần đóng góp vào ý nghĩa tổng thể của công thức, chứ không phải là chủ nghĩa hình thức đơn thuần thể hiện sự gắn kết của định nghĩa với các yêu cầu nhất định.

p(x)log(p(x))

  • p(x)
  • log(p(x))

p(x)log(p(x))


Từ bây giờ, tôi sẽ thảo luận về cách CHUNG ảnh hưởng đến công thức entropy cuối cùng.

log2(x)=number_of_bits_to_encode_the_messages

Bây giờ, hãy ngồi, thư giãn và xem Entropy của Shannon đẹp như thế nào: nó dựa trên giả định (hợp lý) rằng các tin nhắn mang tính CHUNG hơn, do đó, TẦN SỐ hơn.

Ví dụ, tôi sẽ nói rằng đó là mưa hoặc nếu đó là một cơn mưa trung bình, nặng hạt hoặc rất nặng. Do đó, ông đã đề xuất mã hóa tính CHUNG của các tin nhắn dựa trên mức độ TỰ DO của chúng ... và bạn sẽ đến đó:

log2N=log21/N=log2P

Nx

Phương trình có thể được hiểu là: các thông điệp hiếm sẽ có mã hóa dài hơn vì chúng ít tổng quát hơn, vì vậy chúng cần nhiều bit hơn để được mã hóa và ít thông tin hơn. Do đó, việc có các tin nhắn cụ thể và hiếm hơn sẽ đóng góp nhiều hơn cho entropy hơn là có nhiều tin nhắn chung và thường xuyên.


p(x)log(p(x))

Entropy cao nhất là khi chúng ta có một hệ thống với nhiều thông điệp hiếm và cụ thể. Entropy thấp nhất với các thông điệp thường xuyên và chung chung. Ở giữa, chúng ta có một phổ các hệ thống tương đương entropy có thể có cả tin nhắn hiếm và chung hoặc tin nhắn thường xuyên nhưng cụ thể.


0

Tôi không nghĩ rằng có thể cung cấp cho bạn một câu trả lời "trực quan" phổ quát. Tôi sẽ cung cấp cho bạn câu trả lời trực quan cho một số người, chẳng hạn như các nhà vật lý. Logarit là có để có được năng lượng trung bình của hệ thống. Đây là chi tiết.

Shannon đã sử dụng một từ " entropy " bởi vì ông đã điều chỉnh khái niệm này từ cơ học thống kê . Trong cơ học thống kê có một phân phối tinh dịch được đặt tên theo Boltzmann. Thật thú vị, bây giờ nó là một phân phối quan trọng trong học máy!

P=eaEb
a,bEdVVdV=dpdxx,pa,bVPdV=1b tương ứng với nhiệt độ của hệ thống.

lnPE

SVPlnPdV=<E>

η=iPilnPi
ePi

Điều này có đủ trực quan cho bạn? Nó là cho tôi, nhưng tôi là một nhà vật lý lý thuyết ở kiếp trước. Ngoài ra, bạn có thể đi đến một mức độ trực giác sâu hơn bằng cách liên kết với các khái niệm nhiệt động lực học cũ hơn như nhiệt độ và công trình của Boltzmann và Clausius.

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.