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


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.