Rumah Keuangan Pribadi Bagaimana Menemukan Jumlah Elemen dalam Data Stream - dummies

Bagaimana Menemukan Jumlah Elemen dalam Data Stream - dummies

Video: Black Holes Explained – From Birth to Death 2024

Video: Black Holes Explained – From Birth to Death 2024
Anonim

Meskipun filter Bloom dapat melacak objek yang tiba dari sungai, tidak dapat diketahui berapa banyak benda yang ada di sana. Vektor bit yang diisi oleh yang dapat (tergantung pada jumlah hash dan probabilitas tabrakan) menyembunyikan jumlah sebenarnya objek yang digabung pada alamat yang sama.

Mengetahui jumlah objek yang berbeda berguna dalam berbagai situasi, seperti kapan Anda ingin mengetahui berapa banyak pengguna yang berbeda telah melihat halaman situs web tertentu atau jumlah permintaan mesin pencari yang berbeda. Menyimpan semua elemen dan menemukan duplikat di antara mereka tidak dapat bekerja dengan jutaan elemen, terutama yang berasal dari arus. Bila Anda ingin mengetahui jumlah objek yang berbeda dalam arus, Anda tetap harus bergantung pada fungsi hash, namun pendekatannya melibatkan pengambilan sketsa numerik.

Membuat sketsa berarti mengambil perkiraan, itu adalah nilai yang tidak tepat namun tidak sepenuhnya salah sebagai jawaban. Perkiraan bisa diterima karena nilai sebenarnya tidak terlalu jauh dari itu. Dalam algoritma cerdas ini, HyperLogLog, yang didasarkan pada probabilitas dan aproksimasi, Anda mengamati karakteristik angka yang dihasilkan dari arus. HyperLogLog berasal dari studi ilmuwan komputer Nigel Martin dan Philippe Flajolet. Flajolet memperbaiki algoritma awal mereka, Flajolet-Martin (atau algoritma LogLog), ke versi HyperLogLog yang lebih kuat, yang bekerja seperti ini:

  1. Sebuah hash mengubah setiap elemen yang diterima dari arus menjadi sebuah angka.
  2. Algoritma mengubah bilangan menjadi biner, basis standar numerik 2 yang digunakan komputer.
  3. Algoritma menghitung jumlah angka nol awal pada bilangan biner dan lintasan dari jumlah maksimum yang dilihatnya, yaitu n.
  4. Algoritma memperkirakan jumlah elemen yang berbeda yang dilewatkan dalam arus menggunakan n. Jumlah elemen yang berbeda adalah 2 ^ n.

Misalnya, elemen pertama dalam string adalah anjing kata. Algoritma menggabungkannya menjadi nilai integer dan mengubahnya menjadi biner, dengan hasil 01101010. Hanya satu nol yang muncul di awal nomor, jadi algoritma mencatatnya sebagai jumlah maksimum angka nol yang terlihat. Algoritma kemudian melihat kata-kata burung beo dan serigala, yang setara binernya adalah 11101011 dan 01101110, sehingga n tidak berubah. Namun, ketika kata kucing berlalu, hasilnya adalah 00101110, jadi n menjadi 2. Untuk memperkirakan jumlah elemen yang berbeda, algoritma menghitung 2 ^ n, yaitu 2 ^ 2 = 4. Angka tersebut menunjukkan proses ini.

Menghitung hanya angka nol terdepan.

Trik dari algoritma ini adalah jika hash Anda menghasilkan hasil acak, didistribusikan secara merata (seperti pada filter Bloom), dengan melihat representasi biner, Anda dapat menghitung probabilitas bahwa rangkaian angka nol muncul. Karena probabilitas bilangan biner tunggal menjadi 0 adalah satu dari dua, untuk menghitung probabilitas urutan nol, Anda hanya mengalikan probabilitas 1/2 sebanyak itu sebanyak panjang dari nol:

  • 50 persen (1/2) probabilitas untuk angka yang dimulai dengan 0
  • 25 persen (1/2 * 1/2) probabilitas untuk bilangan yang dimulai dengan 00
  • 12. 5 persen (1/2 * 1/2 * 1/2) probabilitas untuk angka yang dimulai dengan kemungkinan 000
  • (1/2) untuk bilangan yang dimulai dengan k nol (Anda menggunakan kekuatan untuk perhitungan lebih cepat dari banyak perkalian dari nomor yang sama)

Semakin sedikit angka yang dilihat HyperLogLog, semakin besar ketidaktepatannya. Akurasi meningkat ketika Anda menggunakan perhitungan HyperLogLog berkali-kali menggunakan fungsi hash yang berbeda dan rata-rata bersama jawaban dari setiap perhitungan, namun hashing berkali-kali membutuhkan waktu, dan arusnya cepat. Sebagai alternatif, Anda dapat menggunakan hash yang sama namun membagi arus menjadi beberapa kelompok (seperti dengan memisahkan elemen menjadi beberapa kelompok saat mereka tiba berdasarkan pesanan kedatangan mereka) dan untuk setiap grup, Anda melacak jumlah maksimum angka nol yang tertinggal. Pada akhirnya, Anda menghitung taksiran elemen yang berbeda untuk setiap kelompok dan menghitung rata-rata aritmatika semua taksiran. Pendekatan ini adalah stochastic averaging dan memberikan perkiraan yang lebih tepat daripada menerapkan algoritma ke keseluruhan aliran.

Bagaimana Menemukan Jumlah Elemen dalam Data Stream - dummies

Pilihan Editor

Menjelajahi Alternatif untuk Jaringan Multichannel - dummies

Menjelajahi Alternatif untuk Jaringan Multichannel - dummies

Ada kekuatan dalam jumlah - atau begitulah kata pepatah. Hal ini dapat membantu saat mengelola saluran YouTube Anda. Pemikiran seperti inilah yang menyebabkan terbentuknya jaringan multichannel (sering disebut dengan singkatan MCNs) di YouTube. MCN pada dasarnya adalah kesepakatan kemitraan yang dibuat oleh pembuat konten independen dengan jumlah yang lebih besar ...

Apa yang harus dilakukan jika Anda lupa kata kunci atau kata kunci YouTube

Apa yang harus dilakukan jika Anda lupa kata kunci atau kata kunci YouTube

Jika Anda lupa nama pengguna atau kata sandi YouTube Anda, jangan panik YouTube memiliki alamat e-mail Anda, dan Anda dapat mengambil nama pengguna atau kata sandi yang terlupakan dari mereka. (Saat pertama kali mendaftar ke YouTube, catat nama pengguna dan kata sandi Anda, terutama jika berbeda dari yang biasa Anda gunakan di situs Web lainnya.) Buka YouTube. com ...

Apa itu YouTube Red? - dummies

Apa itu YouTube Red? - dummies

YouTube Red adalah layanan berlangganan baru yang meningkatkan pengalaman YouTube. Layanan ini mencakup langganan Google Play Musik. YouTube Red bukan hanya layanan streaming video - namun juga membuka fitur hebat membuat YouTube menjadi tempat yang tepat untuk hiburan berjam-jam. Kredit: Gambar milik YouTube. com. Layanan Red YouTube ...

Pilihan Editor

Dua kolom Kolom Sidebar kiri Desain Gambar - dummies

Dua kolom Kolom Sidebar kiri Desain Gambar - dummies

Gambar cermin dari layout sidebar kanan dua kolom , desain blog dua kolom ini menampilkan konten blog utama Anda di sisi kanan dengan sidebar di sebelah kiri. Memilih sidebar di sebelah kanan pasti pilihan yang lebih umum di blogland, namun menggunakan sidebar kiri tetap bisa memberi dampak. Di sini, Anda ...

Transparansi dalam Komunitas Online - dummies

Transparansi dalam Komunitas Online - dummies

Transparansi adalah kata besar di ruang media sosial saat ini. Ini adalah istilah yang menyenangkan dan menyenangkan untuk kejujuran. Ini berarti mendapatkan kepercayaan komunitas online karena tidak ada yang perlu disembunyikan. Dengan bersikap transparan, Anda memberi pandangan publik pada cara kerja merek Anda. Anda tidak menyapu pers atau ketidakpuasan yang buruk di bawah karpet. ...

Matikan Blog Mom Anda ke Job - dummies

Matikan Blog Mom Anda ke Job - dummies

Dapatkan pekerjaan bukanlah perluasan dari Anda blog, tapi anggap itu lebih sebagai perluasan karir Anda. Beberapa blogger, termasuk ibu, telah membangun begitu banyak kepercayaan dan kredibilitas di media sosial bahwa perusahaan telah mempekerjakan mereka untuk mengisi beberapa pemasaran media sosial yang hebat dan posisi manajemen lainnya. Bila Anda ...

Pilihan Editor

Cara membuat Lembar Kerja Prakiraan di Excel 2016 - dummies

Cara membuat Lembar Kerja Prakiraan di Excel 2016 - dummies

Fitur Lembar Perkiraan baru di Excel 2016 membuatnya sangat mudah untuk mengubah lembar kerja yang berisi data keuangan historis menjadi lembar kerja ramalan visual yang luar biasa. Yang Anda lakukan adalah membuka lembar kerja dengan data historis Anda, posisi kursor sel dalam satu selnya, lalu klik tombol Forecast Sheet pada Data ...

Cara membuat Peta Daya 3-D di Excel 2016 - dummies

Cara membuat Peta Daya 3-D di Excel 2016 - dummies

Power Map adalah nama fitur analisis visual baru yang menarik di Excel 2016 yang memungkinkan Anda menggunakan data geografis, keuangan, dan jenis lainnya bersama dengan bidang tanggal dan waktu dalam model data Excel Anda untuk membuat tur peta 3D animasi. Untuk membuat animasi baru untuk tur pertama di Power ...

Bagaimana cara Copy Formula dengan IsiOtomatis di Excel 2016 - dummies

Bagaimana cara Copy Formula dengan IsiOtomatis di Excel 2016 - dummies

Jika Anda hanya perlu menyalin satu formula di Excel 2016, gunakan fitur IsiOtomatis atau perintah Copy and Paste. Jenis salinan formula ini, meski lumrah, tidak bisa dilakukan dengan drag and drop. Jangan lupa pilihan Totals pada alat Quick Analysis. Anda bisa menggunakannya untuk membuat baris ...