Bersaing melawan mayoritas tertimbang optimal dalam algoritma pakar

8

Dalam masalah para ahli, para ahli memberi Anda prediksi biner setiap hari, dan Anda harus memperkirakan apakah besok akan turun hujan.n

Yaitu, pada hari , Anda tahu prediksi masa lalu dari para ahli, cuaca aktual untuk hari , dan prediksi untuk hari esok, dan harus memprediksi apakah akan turun hujan pada hari berikutnya.1 , 2 , ... tt1,2,t

Dalam algoritma Weighted Majority klasik , algoritma membuat kesalahan O(logn+m) , di mana m adalah jumlah kesalahan pakar terbaik.

Bagi saya, ini sepertinya janji yang sangat lemah, karena tidak memungkinkan manfaat dari menggabungkan prediksi beberapa ahli.

Asumsikan setiap hasil adalah {±1} , prediksi ahli i pada hari t adalah pi,t , dan hasil hari t adalah ot . Kita dapat mendefinisikan musuh `` mayoritas tertimbang optimal '' sebagai fungsi bobot optimal wΔ([n]) , sehingga keputusan yang dibuat oleh musuh pada hari t didefinisikan sebagai sign(wpt) , yaitu mayoritas tertimbang dari prediksi, sehubungan dengan vektor w . Menggunakan notasi ini, musuh sebelumnya (ahli terbaik) hanya bisa memilih vektor satuan.

Kita kemudian dapat mendefinisikan kesalahan optimal untuk hari sebagai: 1,2,T

E=12minwΔ([n])t=1T|sign(wpt)ot|

Bagaimana Anda meminimalkan penyesalan, dibandingkan dengan E ?


Untuk melihat bahwa ini adalah musuh yang jauh lebih kuat, pertimbangkan kasus 3 ahli dan 3 hari di mana hasilnya selalu 1 . Jika p1=(1,1,1),p2=(1,1,1),p3=(1,1,1) , maka setiap pakar memiliki kesalahan, tetapi vektor mayoritas tertimbang dari (1/3,1/3,1/3) tidak punya.

BPR
sumber
1
Saya pikir Anda sedang mencari metode Gradient Eksponensial: users.soe.ucsc.edu/~manfred/pubs/J36.pdf
Lev Reyzin
Bobot multiplikasi memiliki kesalahan relatif terhadap ahli tunggal terbaik (dari ) selama putaranKita dapat membuat "ahli meta" yang sesuai dengan semua kemungkinan mayoritas tertimbang dan kemudian menjalankan MW untuk mendapatkan kesalahan . Tidak yakin seberapa besar dibutuhkan - mungkin mencukupi. nO(Tlogn)nN O ( TNNN=n O ( n )O(TlogN)NN=nO(n)
Thomas
@ Thomas - memikirkannya beberapa waktu lalu. Anda harus mengatur , yang cukup besar: oeis.org/A000609 . N=nΘ(n2)
RB
O(nTlogn)Kesalahan adalah awal yang baik. Apa tujuanmu?
Thomas
@ Thomas - ini memang awal. Saya berharap untuk algoritma , dan percaya itu harus layak. o(nT)
RB

Jawaban:

1

Jika Anda tidak keberatan pengacakan, maka algoritma pembelajaran online standar dalam "kerangka kerja optimasi cembung online" memberi Anda pada dasarnya apa yang Anda minta, dengan harapan. Alasannya adalah bahwa algoritma ini diperlukan untuk menghasilkan distribusi pada ahli di setiap langkah waktu, menderita kerugian yang diharapkan sama dengan harapan memilih ahli dari distribusi ini. Dan mereka memiliki penyesalan yang diharapkan rendah dibandingkan dengan distribusi terbaik pada para ahli, yaitu .O ( wΔ([n])O(lnn/T)

Sebagai contoh, Anda dapat mengambil algoritma bobot multiplikatif klasik, yang hanya mayoritas berbobot tetapi memilih ahli untuk diikuti dengan probabilitas yang sebanding dengan "bobot" -nya. Ini disebutkan dalam survei Arora (Teorema 6): https://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf

usul
sumber
2
Usul, ketika Anda mengatakan "penyesalan dibandingkan dengan distribusi ahli terbaik", apakah itu yang diminta BPR? Bukan cara standar menggunakan distribusi para ahli untuk hanya membuat prediksi pecahan pada setiap kali ? Atau (kurang lebih setara) untuk memprediksi 1 dengan probabilitas dan -1 sebaliknya. Lalu, selalu ada optimal hanya menggunakan satu ahli, kan? Tapi seperti yang saya mengerti saran RB, itu sedikit berbeda: membuat prediksi integer: tanda pada setiap waktu . Apakah jelas ini tidak dapat memberikan prediksi yang jauh lebih baik? w p t t ( w p t + 1 ) / 2 w ( w p t ) twwptt(wpt+1)/2w(wpt)t
Neal Young
@NealYoung, poin bagus, saya tidak memikirkannya terlalu dalam. Secara implisit saya berasumsi bahwa Anda dapat mengonvasikan fungsi objektif ini dan mendapatkan penyesalan yang baik untuk itu, tetapi itu bisa salah ...
usul