Ich versuche jetzt, viele nicht redundante (tatsächliche) Informationen zu messen, die meine Datei enthält. Einige nennen dies die Menge an Entropie.
Natürlich gibt es das Standard-p (x) -Protokoll {p (x)}, aber ich denke, dass Shannon es nur unter dem Gesichtspunkt der Übertragung durch einen Kanal in Betracht gezogen hat. Daher erfordert die Formel eine Blockgröße (etwa in Bits, typischerweise 8). Für eine große Datei ist diese Berechnung ziemlich nutzlos und ignoriert Kurz- bis Fernkorrelationen zwischen Symbolen.
Es gibt binäre Baum- und Ziv-Lempel-Methoden, aber diese scheinen sehr akademischer Natur zu sein.
Die Komprimierbarkeit wird auch als Maß für die Entropie angesehen, es scheint jedoch keine Untergrenze für den Grad der Komprimierung zu geben. Für meine Datei hiss.wav,
- original hiss.wav = 5,2 MB
- Entropie über die Shannon-Formel = 4,6 MB
- hiss.zip = 4,6 MB
- hiss.7z = 4,2 MB
- hiss.wav.fp8 = 3,3 MB
Gibt es eine vernünftigerweise praktikable Methode, um zu messen, wie viel Entropie in hiss.wav vorhanden ist?
Antworten:
Entropie ist ein Merkmal einer Zufallsvariablen . Eine gegebene Datei hat keine Entropie, da sie konstant ist. Entropie ist in vielen Situationen sinnvoll, in denen es keinen Kanal gibt, und Sie können sie auf ein zufälliges Ensemble von beispielsweise WAV-Dateien anwenden, die aus einer bestimmten Quelle generiert wurden. In diesem Fall ist Ihr die gesamte WAV-Datei.x
Man kann sich vorstellen, dass die eigentliche WAV-Datei (mit Ausnahme des Headers) von einer Markovian-Quelle generiert wurde. Diese Quelle erzeugt Klangamplituden ("Samples") in einer Sequenz, die jeweils von den vorhergehenden abhängen. Nachdem der Prozess sehr lange ausgeführt wurde, kommt die Entropie jeder Probe (genauer gesagt die bedingte Entropie bei den vorhergehenden Proben) einem Grenzwert sehr nahe, den wir als Entropie der Quelle definieren. Die Entropie von Proben ist das N- fache dieser Zahl (im Grenzfall; genauer gesagt messen wir die bedingte Entropie). Lempel und Ziv zeigten, dass, wenn die Probenentropie H- Bits beträgt , ihr Algorithmus N Proben auf H N + o komprimiertN. N. H. N. Bits mit hoher Wahrscheinlichkeit (die Wahrscheinlichkeit liegt über den Abtastwerten). Die Lempel-Ziv-Komprimierung ist in der Praxis sehr beliebt und wird beispielsweise im gängigenFormat verwendet.H.N.+ o ( N.)
gzip
Aufgrund dieses Ergebnisses von Lempel und Ziv kann die Entropie einer Quelle durch Komprimieren einer langen Folge von Abtastwerten unter Verwendung des Lempel-Ziv-Algorithmus angenähert werden. Dies schätzt nicht die Entropie der spezifischen Proben, was kein genau definiertes Konzept ist (eine konstante Sequenz hat keine Entropie), sondern die Entropie der Quelle, die sie erzeugt.
Ein verwandtes Konzept ist die algorithmische Entropie , auch als Kolmogorov-Komplexität bekannt . Dies ist die Länge des kürzesten Programms, das Ihre Datei generiert. Diese Menge ist für eine einzelne Datei sinnvoll. Im Fall einer Datei, die von einer zufälligen Quelle generiert wurde, zeigt das Lempel-Ziv-Theorem, dass die algorithmische Entropie einer Datei mit hoher Wahrscheinlichkeit durch ihre Shannon-Entropie begrenzt ist. Leider ist die algorithmische Entropie nicht berechenbar, daher handelt es sich eher um ein theoretisches Konzept.
Um das Bild zu vervollständigen, schlage ich vor, Shannons Artikel über Vorhersage und Entropie des gedruckten Englisch zu lesen, um einen anderen Ansatz zur Schätzung der Entropie einer Quelle zu finden.
quelle