실제로 파일의 엔트로피를 측정하는 방법은 무엇입니까?


9

내 파일에 포함 된 많은 비 중복 (실제) 정보를 측정하려고합니다. 어떤 사람들은 이것을 엔트로피의 양이라고 부릅니다.

물론 표준 p (x) log {p (x)}가 있지만, Shannon이 채널을 통해 전송하는 관점에서만이를 고려하고 있다고 생각합니다. 따라서 공식은 블록 크기 (비트 단위, 일반적으로 8)를 필요로합니다. 큰 파일의 경우이 계산은 기호 사이의 단거리 및 장거리 상관 관계를 무시하고 상당히 쓸모가 없습니다.

이진 트리 및 Ziv-Lempel 방법이 있지만 실제로는 매우 학술적인 것처럼 보입니다.

압축도 엔트로피의 척도로 간주되지만 압축 정도에 대한 하한은없는 것 같습니다. 내 파일 hiss.wav의 경우

  • 원본 hiss.wav = 5.2MB
  • Shannon 공식을 통한 엔트로피 = 4.6 MB
  • hiss.zip = 4.6MB
  • hiss.7z = 4.2MB
  • hiss.wav.fp8 = 3.3MB

hiss.wav 내에 엔트로피가 얼마나 많은지 측정하는 합리적으로 실행 가능한 방법이 있습니까?


1
"학업 적"이라는 말의 의미를 이해하지 못합니다.
David Richerby

죽은 'ard. 전 세계적으로 데이터 전송 및 스토리지를 최대화하는 데 지출 된 연구 비용 규모에 따라 실제로 다루고있는 과감한 것들의 양을 추정하는 더 발전된 방법이있을 것이라고 생각했을 것입니다. 이론적 엔트로피 추정값을 출력하는 일부 데이터를 전달하는 파일 유틸리티가있을 가능성이 있다고 생각하지 않았습니다. 통신 회사와 디스크 제조업체는 무엇을하고 있습니까?
Paul Uszak

답변:


9

엔트로피는 랜덤 변수 의 특징입니다 . 주어진 파일은 일정하기 때문에 엔트로피가 없습니다. 엔트로피는 채널이없는 많은 상황에서 의미가 있으며 주어진 소스에서 생성 된 WAV 파일의 임의 앙상블에 적용 할 수 있습니다. 이 경우x는 IS 전체 WAV 파일.

실제 WAV 파일 (헤더 제외)은 일부 Markovian 소스에서 생성 된 것으로 생각할 수 있습니다. 이 소스는 순서대로 사운드 진폭 ( "샘플")을 생성합니다. 프로세스를 매우 오랫동안 실행 한 후에는 각 샘플의 엔트로피 (보다 정확하게는 이전 샘플에서 주어진 조건부 엔트로피)가 일부 제한 값에 매우 가까워 지므로 소스의 엔트로피로 정의됩니다. 엔트로피N 샘플은 N그 수를 곱한 것입니다 (한도에서 더 정확하게 말하면 조건부 엔트로피를 측정합니다). Lempel과 Ziv는 샘플 엔트로피가H 비트, 그들의 알고리즘 압축 N 에 샘플 HN+o(N)높은 확률로 비트 (확률은 샘플을 초과합니다). Lempel–Ziv 압축은 실제로 널리 사용되며 예를 들어 널리 사용되는 gzip형식으로 사용됩니다.

이 Lempel 및 Ziv 결과로 인해 Lempel-Ziv 알고리즘을 사용하여 긴 샘플 시퀀스를 압축하여 소스의 엔트로피를 추정 할 수 있습니다. 이것은 잘 정의 된 개념이 아닌 특정 샘플의 엔트로피를 추정하지 않으며 (상수 시퀀스는 0 엔트로피를 가짐) 오히려이를 생성하는 소스의 엔트로피입니다.

관련 개념은 알고리즘 엔트로피 이며 Kolmogorov의 복잡성 이라고도 합니다. 파일을 생성하는 가장 짧은 프로그램의 길이입니다. 이 수량은 개별 파일에 적합합니다. 랜덤 소스에 의해 생성 된 파일의 경우, Lempel–Ziv 정리는 파일의 알고리즘 엔트로피가 Shannon 엔트로피에 의해 높은 확률로 제한됨을 보여줍니다. 불행히도 알고리즘 엔트로피는 계산할 수 없으므로 이론적 인 개념에 가깝습니다.

그림을 완성하기 위해 소스의 엔트로피를 추정하는 다른 방법으로 인쇄 된 영어의 예측 및 엔트로피에 관한 Shannon의 논문을 읽는 것이 좋습니다 .


나는 가지고있다. 그리고 Schurmann & Grassberger 논문. 예상되는 영어 엔트로피를 기준으로, 우리가 얻을 수있는 가장 좋은 엔트로피 추정치는 fp8과 같은 PAQ8 변형을 사용한 압축을 통한 것입니다. 저의 결과는 셰익스피어 산문과 꽤 잘 어울립니다.
Paul Uszak

문제는 소스 엔트로피에 대한 이론적 가치가 제한적이어야한다고 생각했을 것입니다. 압축에 의한 결정은 압축 알고리즘의 효율성만을 반영합니다. 경험적으로 gzip은 좋지만 7z가 좋습니다. 그리고 내 질문에 표시된 것처럼 fp8이 훨씬 좋습니다. 장래에 fp12000을 사용할 때 hiss.wav에 10 바이트의 전체 엔트로피 만 포함되어 있음을 알 수 있습니까?
Paul Uszak

엔트로피는 파일의 속성이 아닙니다. 모든 개별 파일에는 엔트로피가 없습니다. 오히려 엔트로피는 랜덤 소스의 속성입니다. 특정 파일에 적합한 임의성 척도는 Kolmogorov 복잡도 (알고리즘 엔트로피라고도 함)이지만 불행히도이 척도는 계산할 수 없습니다.
Yuval Filmus

소스의 엔트로피를 추정하기 위해 파일을 압축 할 때는 소스에서 생성 된 데이터의 압축률이 소스의 엔트로피에 접근하도록 보장하는 정리를 사용합니다. 그러나 실제 압축 유틸리티는 바닐라 Lempel–Ziv 알고리즘을 적용하는 것이 아니라보다 실용적인 버전을 적용합니다. 엔트로피를 추정하려면이 목표를 염두에두고 알고리즘을 다시 구현해야합니다.
Yuval Filmus

나는 건설적인 토론을 제거했습니다. 의견은 현재 게시물을 개선하는 것 외에는 긴 토론을위한 것이 아닙니다. 엔트로피 문제를 정직하게 논의하려면 대화방을 만드십시오. 민사를 유지하십시오.
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.