Bir dosyanın entropisini pratik olarak nasıl ölçebilirim?


9

Artık dosyamın içerdiği artık gereksiz (gerçek) bilgileri ölçmeye çalışıyorum. Bazıları buna entropi miktarı der.

Tabii ki standart p (x) günlüğü {p (x)} var, ama Shannon'ın bunu sadece bir kanal üzerinden aktarma açısından düşündüğünü düşünüyorum. Bu nedenle formül bir blok boyutu gerektirir (örneğin, tipik olarak bit cinsinden 8). Büyük bir dosya için bu hesaplama, semboller arasındaki kısa ve uzun mesafe korelasyonlarını göz ardı ederek oldukça işe yaramaz.

İkili ağaç ve Ziv-Lempel yöntemleri vardır, ancak bunlar doğada oldukça akademik görünmektedir.

Sıkıştırılabilirlik de entropinin bir ölçüsü olarak kabul edilir, ancak sıkıştırma derecesi için bir alt sınır yoktur. Hiss.wav dosyam için,

  • orijinal hiss.wav = 5,2 MB
  • Shannon formülü ile entropi = 4.6 MB
  • hiss.zip = 4.6 MB
  • hiss.7z = 4.2 MB
  • hiss.wav.fp8 = 3,3 MB

Hiss.wav içinde ne kadar entropi olduğunu ölçmek için makul olarak uygulanabilir bir yöntem var mı?


1
"Yüksek derecede akademik" ile ne demek istediğini anlamıyorum.
David Richerby

Ölü 'ard. Dünya çapında araştırma dolarları ölçeğinin veri iletimini ve depolamayı en üst düzeye çıkarmaya harcandığını düşünürdüm, aslında ne kadar uğraştığınız kararmış şeylerin ne kadarını tahmin etmenin daha gelişmiş bir yolu olacağını düşünürdüm. Ben teorik entropi tahmin çıktı bazı veriler üzerinden iletmek bir dosya programı olacağını ihtimalinin ötesinde düşünmek olmazdı. Telkos ve disk üreticileri neler oynuyor?
Paul Uszak

Yanıtlar:


9

Entropi rastgele bir değişkenin bir özelliğidir . Belirli bir dosya sıfır entropiye sahiptir, çünkü sabittir. Entropi, kanalın olmadığı birçok durumda mantıklıdır ve bunu, belirli bir kaynaktan oluşturulan rastgele bir WAV dosya grubuna uygulayabilirsiniz. Bu durumda,xolan tüm WAV dosyası.

Gerçek WAV dosyasının (başlık hariç) bazı Markovian kaynakları tarafından oluşturulduğu düşünülebilir. Bu kaynak, her biri kendisinden önceki seslere bağlı olarak, bir dizide ses genlikleri ("örnekler") üretir. Süreci çok uzun süre çalıştırdıktan sonra, her örneğin entropisi (daha doğru bir şekilde, önceki örneklere verilen koşullu entropi) kaynağın entropisi olarak tanımladığımız bazı sınırlayıcı değere çok yakın olur. EntropisiN- örnekleri N-bu sayının çarpı (sınırda; daha doğrusu, koşullu entropiyi ölçüyoruz). Lempel ve Ziv, örnek entropinin'H bit, daha sonra algoritmaları sıkıştırır N- örnekleri 'HN-+Ö(N-)yüksek olasılıkla bitler (olasılık numunelerin üzerindedir). Lempel – Ziv sıkıştırması, örneğin popüler gzipformatta kullanılan pratikte oldukça popülerdir .

Lempel ve Ziv'in bu sonucu nedeniyle, bir kaynağın entropisi Lempel-Ziv algoritması kullanılarak uzun bir örnek dizisinin sıkıştırılmasıyla yaklaşık olarak tahmin edilebilir. Bu, iyi tanımlanmış bir kavram olmayan (sabit bir dizinin sıfır entropiye sahip olduğu) spesifik örneklerin entropisini tahmin etmez, aksine onu üreten kaynağın entropisini tahmin eder.

İlgili bir kavram, Kolmogorov karmaşıklığı olarak da bilinen algoritmik entropidir . Dosyanızı üreten en kısa programın uzunluğudur. Bu miktar tek bir dosya için anlamlıdır. Rastgele bir kaynak tarafından oluşturulan bir dosya söz konusu olduğunda, Lempel – Ziv teoremi bir dosyanın algoritmik entropisinin yüksek olasılıkla Shannon entropisi ile bağlı olduğunu gösterir. Ne yazık ki, algoritmik entropi hesaplanamaz, bu yüzden daha çok teorik bir kavramdır.

Resmi tamamlamak için , bir kaynağın entropisini tahmin etmek için farklı bir yaklaşım için Shannon'ın Öngörü ve entropi üzerine yazdığı makaleyi okumanızı öneririm .


Sahibim. Ve Schurmann & Grassberger gazetesi. İngilizce için tahmin edilen entropilerine dayanarak, alabileceğimiz en iyi entropi tahmininin fp8 gibi bir PAQ8 varyantı ile sıkıştırmak olduğu anlaşılıyor. Shakespeare nesirleri için benim sonuçlarım oldukça iyi evleniyor.
Paul Uszak

Sorun, bir kaynağın entropisi için teorik olarak sınırlayıcı bir değer olması gerektiğini düşünürdü. Sıkıştırma ile tespit sadece sıkıştırma algoritmasının verimliliğini yansıtır. Ampirik olarak, gzip'iniz iyidir, ancak 7z daha iyidir. Ve fp8, sorumda gösterildiği gibi çok daha iyi. Uzak gelecekte fp12000 kullandığımda hiss.wav dosyasının sadece 10 byte toplam entropi içerdiğini bulabilir miyim?
Paul Uszak

Entropi bir dosyanın özelliği değildir; her dosya sıfır entropiye sahiptir. Aksine, entropi rastgele bir kaynağın bir özelliğidir. Belirli dosyalar için uygun bir rastgelelik ölçüsü Kolmogorov karmaşıklığıdır (algoritmik entropi olarak da bilinir), ancak maalesef bu önlem hesaplanamaz.
Yuval Filmus

Bir dosyayı kaynağın entropisini tahmin etmek için sıkıştırırken, kaynak tarafından oluşturulan verilerin sıkıştırma oranının kaynağın entropisine yaklaşmasını garanti eden bir teorem kullanırsınız. Ancak, gerçek sıkıştırma yardımcı programları vanilya Lempel – Ziv algoritmasını değil, daha pratik bir versiyonunu uygular. Entropiyi tahmin etmek istiyorsanız, belki de bu hedefi göz önünde bulundurarak algoritmayı yeniden uygulamalısınız.
Yuval Filmus

Yapıcı olmayan bir tartışmayı kaldırdım; yorumlar eldeki yazıyı geliştirmek dışında uzun tartışmalar için değildir. Entropi konularını dürüstçe tartışmak istiyorsanız, lütfen bir sohbet odası oluşturun. Sivil tutmayı unutmayın.
Raphael
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.