Menurut Wikipedia :
Entropi Shannon mengukur informasi yang terkandung dalam pesan sebagai lawan bagian pesan yang ditentukan (atau dapat diprediksi). Contoh yang terakhir termasuk redundansi dalam struktur bahasa atau sifat statistik yang berkaitan dengan frekuensi kemunculan pasangan huruf atau kata, kembar tiga dll.
Jadi entropi adalah ukuran dari jumlah informasi yang terkandung dalam sebuah pesan. Coders entropi digunakan untuk mengkompresi pesan seperti losslessy ke jumlah bit minimum yang diperlukan untuk mewakilinya (entropi). Bagi saya ini sepertinya encoder entropi yang sempurna adalah semua yang diperlukan untuk mengompresi pesan sebanyak mungkin.
Namun banyak algoritma kompresi menggunakan langkah-langkah sebelum pengkodean entropi untuk mengurangi entropi pesan.
Menurut Wikipedia bahasa Jerman
Entropiekodierer adalah milik Anda dan juga Kodierern kombiniert. Dabei dienen vorgeschaltete Verfahren dazu, mati Entropie der Daten zu verringern.
Dalam Bahasa Inggris:
Coders entropi sering dikombinasikan dengan encoders lain. Langkah-langkah sebelumnya berfungsi untuk mengurangi entropi data.
yaitu bzip2 menggunakan Burrows-Wheeler-Transform diikuti oleh Move-To-Front-Transform sebelum menerapkan pengkodean entropi (pengkodean Huffman dalam kasus ini).
Apakah langkah-langkah ini benar-benar mengurangi entropi pesan, yang akan berarti mengurangi jumlah informasi yang terkandung dalam pesan? Ini tampaknya bertentangan dengan saya, karena itu berarti bahwa informasi hilang selama kompresi, mencegah dekompresi lossless. Atau apakah mereka hanya mengubah pesan untuk meningkatkan efisiensi algoritma pengkodean entropi? Atau apakah entropi tidak berhubungan langsung dengan jumlah informasi dalam pesan?
Jawaban:
Banyak deskripsi entropi yang membingungkan membingungkan dengan cara ini karena entropi tidak cukup rapi dan rapi seperti yang kadang-kadang disajikan. Secara khusus, definisi standar entropi Shannon menetapkan bahwa itu hanya berlaku ketika, seperti Wikipedia katakan, "informasi karena peristiwa independen adalah aditif."
Dengan kata lain, peristiwa independen harus independen secara statistik . Jika tidak, maka Anda harus menemukan representasi data yang menentukan peristiwa dengan cara yang membuat mereka benar-benar independen. Jika tidak, Anda akan melebih-lebihkan entropi.
Dengan kata lain, entropi Shannon hanya berlaku untuk distribusi probabilitas benar, dan tidak untuk proses acak secara umum. Untuk contoh konkret proses yang tidak sesuai dengan asumsi entropi Shannon, pertimbangkan ...
Proses Markov
Proses Markov menghasilkan serangkaian acara di mana peristiwa terbaru disampel dari distribusi yang bergantung pada satu atau lebih peristiwa sebelumnya. Jelas sekali sejumlah besar fenomena dunia nyata dimodelkan dengan lebih baik sebagai proses Markov daripada sebagai distribusi probabilitas independen yang terpisah. Misalnya: teks yang sedang Anda baca sekarang!
Laju entropi Shannon yang dihitung secara naif dari proses Markov akan selalu lebih besar atau sama dengan laju entropi sebenarnya dari proses tersebut. Untuk mendapatkan entropi proses yang sebenarnya, Anda harus memperhitungkan ketergantungan statistik di antara berbagai peristiwa. Dalam kasus sederhana, rumus untuk itu terlihat seperti ini :
Ini juga dapat direpresentasikan seperti ini :
Sekali lagi mengutip Wikipedia, di sini "μsaya adalah distribusi asimtotik dari rantai" - yaitu, probabilitas keseluruhan bahwa peristiwa tertentu akan terjadi selama horizon panjang.
Ini semua adalah cara yang rumit untuk mengatakan bahwa bahkan ketika Anda dapat menghitung probabilitas keseluruhan dari suatu peristiwa tertentu, urutan peristiwa tertentu lebih mungkin daripada yang lain dihasilkan oleh proses Markov. Jadi misalnya, tiga untaian kata bahasa Inggris berikut ini semakin kecil kemungkinannya:
Tetapi entropi Shannon akan menilai ketiga string sebagai sama-sama mungkin. Entropi proses Markov memperhitungkan perbedaannya, dan sebagai hasilnya, ia memberikan tingkat entropi yang lebih rendah untuk proses tersebut.
Tingkat entropi tergantung pada model
Jika Anda memperbesar jalan keluar, inilah gambaran besarnya: laju entropi dari urutan peristiwa tertentu dari sumber yang tidak diketahui bergantung pada model. Anda akan menetapkan tingkat entropi yang berbeda untuk serangkaian acara tertentu tergantung pada bagaimana Anda memodelkan proses yang menghasilkannya.
Dan sangat sering, model proses Anda tidak akan benar. Ini bukan masalah yang sederhana atau mudah untuk dipecahkan. Pada kenyataannya, secara umum, tidak mungkin untuk menetapkan tingkat entropi yang benar ke urutan peristiwa yang cukup panjang dan kompleks jika Anda tidak tahu apa proses yang mendasarinya sebenarnya. Ini adalah hasil sentral dalam teori informasi algoritmik .
Apa yang dimaksud dalam praktik adalah bahwa dengan sumber yang tidak diketahui dari urutan kejadian, model yang berbeda akan menghasilkan entropi yang berbeda, dan tidak mungkin untuk mengetahui mana yang benar dalam jangka panjang - meskipun yang menetapkan entropi terendah mungkin yang terbaik.
sumber
Tidak, jika algoritma ini lossless, tidak ada langkah-langkah dalam urutan kompresi yang dapat mengurangi entropi - jika tidak, ia tidak akan dapat didekompresi / didekodekan. Namun, entropi tambahan dapat disimpan dalam informasi 'out-of-band' - seperti daftar yang perlu dipertahankan untuk men-decode transformasi pindah-ke-depan.
sumber
Mereka mengurangi entropi nyata yang melekat dalam struktur pesan aslinya. Atau dengan kata lain mereka menyesuaikan pesan untuk memanfaatkan kekuatan tahap kompresi berikutnya.
Salah satu contoh sederhana akan mengganti nama di tag akhir xml dengan simbol khusus. Anda dapat dengan sempurna membuat kembali xml asli dari itu tetapi kompresor tidak harus memasukkan nama lengkap lagi di tempat itu.
Contoh yang lebih nyata adalah kompresi png. Kompresor entropinya adalah DEFLATE, yang merupakan kombinasi dari Lempel-Ziff dan Huffman. Ini berarti bahwa ia bekerja paling baik dengan nilai-nilai dan pola yang sering diulang. Kebanyakan piksel yang berdekatan cenderung memiliki warna yang serupa. Jadi setiap baris diberi filter yang mengubah nilai piksel asli menjadi pengkodean diferensial. Dengan cara ini, nilai-nilai yang akhirnya disandikan oleh DEFLATE sebagian besar mendekati 0. Dalam kasus ekstrem ini akan mengubah gradien yang halus dari semua nilai yang berbeda menjadi nilai tunggal di sepanjang baris di mana bagian LZ atau DEFLATE membuat pekerjaan yang sangat cepat.
sumber
Coders entropi tidak memampatkan pesan ke jumlah bit minimum yang diperlukan untuk mewakilinya. Saya tahu tergoda untuk berpikir begitu, tetapi bukan itu yang mereka lakukan. Mereka bukan sihir dan mereka tidak bisa mencapainya.
Sebagai gantinya, mereka melakukan sesuatu yang sedikit kurang magis - tetapi masih bermanfaat. Misalkan untuk saat itu kita tahu bahwa setiap karakter pesan dipilih secara independen dari beberapa distribusi. Maka akan mungkin untuk membangun algoritma kompresi lossless yang secara optimal memampatkan pesan. Algoritma ini disebut entropy encoders.
Sekarang pesan nyata biasanya tidak memiliki properti independensi itu. Misalnya, jika Anda melihat Q, kemungkinan huruf berikutnya adalah U. Dan seterusnya. Masih dimungkinkan untuk menerapkan algoritma enkoder entropi ke pesan nyata, di mana setiap karakter tidak dipilih secara terpisah dari yang lain. Algoritma masih akan lossless, masih dapat digunakan untuk kompresi, dan dalam praktiknya, masih akan sering memperpendek panjang pesan. Namun, itu tidak mempersingkat panjang minimum. Itu tidak memampatkan pesan ke sesuatu yang panjangnya sama dengan entropi pesan; itu kompres kurang dari itu.
Begitu Anda menyadari sifat enkode entropi ini, maka paradoksnya menguap.
Secara umum, setiap langkah lossless tidak pernah mengurangi entropi pesan. Namun, mungkin menempatkan pesan ke dalam bentuk di mana beberapa algoritma kompresi lainnya lebih efektif, sehingga mungkin masih berguna (rata-rata) dalam praktiknya.
sumber
Kata "Entropi" jika sering digunakan agak longgar, merujuk pada dua hal yang berbeda:
"Jumlah total informasi" dalam pesan atau sistem
Informasi "kepadatan", atau seberapa erat informasi dikemas.
Kutipan OP tentang entri Wikipedia untuk https://en.wikipedia.org/wiki/Entropy_(information_theory) merujuk pada yang pertama:
Tetapi (setidaknya ketika saya menulis ini) artikel yang sama dimulai dengan:
Jadi satu adalah jumlah dan satu adalah laju (mirip dengan jarak vs kecepatan). Ini kadang-kadang disebut properti "luas" dan "intensif" (lihat https://en.wikipedia.org/wiki/Intensive_and_extensive_properties#Extensive_properties ).
Contoh klasik dari pembedaan ini adalah sinyal lentera terkenal Paul Revere: "satu jika melalui darat, dan dua jika melalui laut". 1 bit informasi total (jika kita mengabaikan "tidak ada jika saya belum sampai ke Gereja Utara"). Jika Paul menambahkan satu set lampion di setiap jendela gedung, itu akan menjadi "berlebihan": tidak ada informasi lebih lanjut, sehingga entropi "total" atau "luas" yang sama; tetapi jauh lebih panjang pesan, jauh lebih rendah entropi "intensif".
Jika dia memulai dengan cara itu tetapi perubahan hanya menggunakan satu set lentera, itu "kompresi lossless" seperti dalam pertanyaan OP. Entropi "luas" adalah sama, tetapi "entropi" intensif "berbeda: Karena jumlah lentera di jendela ke-2 sangat berkorelasi dengan berapa banyak yang Anda lihat di pertama, pesan yang berlebihan lebih mudah diprediksi, atau kurang acak, sehingga memiliki entropi intensif jauh lebih rendah.
Ada dua hal penting yang perlu diingat:
Pertama, kita biasanya tidak mengetahui entropi "sejati" dari sistem dalam arti apa pun. Seorang pengamat yang naif tidak tahu apakah "3 lentera" akan menjadi pesan yang berbeda, atau apakah sinyal di jendela yang berbeda berlebihan atau tidak. Jika Paul menjadikannya kebiasaan, kita dapat menghitung dan melihat apakah jendelanya selalu cocok satu sama lain. Tapi mungkin kita belum cukup lama menonton untuk melihat pengecualian yang jarang (dan mungkin penting!).
Kedua, penting bagaimana Anda mengukur. Pertimbangkan untuk mencoba memperkirakan berapa banyak yang dikomunikasikan oleh masing-masing surat teks (itu angka, entropi "intensif", juga terkadang disebut "entropi relatif"):
Tetapi tentu saja, pesan dapat (dan memang) memiliki banyak pola yang tidak dimodelkan dengan metode n-gram seperti itu, sehingga entropi "benar" masih lebih rendah.
Jika Anda memodelkan sumber tak terbatas teoretis dengan distribusi token Zipfian acak sempurna, Anda dapat menghitung entropi luas dan intensif yang seharusnya, yang ternyata hanya bergantung pada jumlah kemungkinan token berbeda. Grafik dari setiap jenis entropi terlihat ketika jumlah itu meningkat, terdapat di [ http://www.derose.net/steve/writings/dissertation/Diss.0.html] . Keduanya berperilaku sangat berbeda:
Harapan yang membantu atau paling tidak menarik ...
sumber
Saya menduga kata-kata dalam Wikipedia bahasa Jerman salah. Kompresor meningkatkan entropi. Artinya, bukan keseluruhan entropi, tetapi entropi per bit : kepadatan informasi. Misalnya beberapa skema pengodean dan kamus run-length diterapkan untuk menyingkat data. Sekarang informasi yang sama dikemas menjadi bit yang lebih sedikit, sehingga setiap bit membawa lebih banyak informasi. Pengodean Huffman berikutnya melakukan sedikit lebih banyak hal yang sama; itu hanya lapisan kompresi.
sumber