Apakah teknik pembelajaran mesin “algoritme aproksimasi”?

23

Baru-baru ini ada pertanyaan seperti ML di cstheory stackexchange, dan saya memposting jawaban yang merekomendasikan metode Powell, gradient descent, algoritma genetika, atau "algoritma aproksimasi" lainnya. Dalam komentar seseorang mengatakan kepada saya metode ini adalah "heuristik" dan bukan "algoritma perkiraan" dan sering tidak mendekati optimal teoritis (karena mereka "sering terjebak dalam minimum lokal").

Apakah orang lain setuju dengan itu? Juga, menurut saya ada perasaan bahwa algoritma heuristik dapat dijamin mendekati teori optimal jika mereka diatur untuk mengeksplorasi sebagian besar ruang pencarian (misalnya pengaturan parameter / ukuran langkah kecil), meskipun saya belum bisa melihatnya di koran. Adakah yang tahu apakah ini telah diperlihatkan atau dibuktikan di atas kertas? (jika bukan untuk kelas besar algoritma mungkin untuk kelas kecil katakan NNs dll.)

ay
sumber
pada pemikiran lebih lanjut tentang pertanyaan ini tampaknya bidang yang terkait / relevan penelitian disebut metode / varian optimasi global di atas algoritma tipe lokal misalnya gradient descent ...
vzn

Jawaban:

29

Saya pikir Anda mencampur beberapa konsep penting. Biarkan saya mencoba mengklarifikasi beberapa hal:

  • Ada metode metaheuristik, yaitu metode yang secara iteratif mencoba meningkatkan solusi kandidat. Contohnya adalah pencarian tabu, anil simulasi, algoritma genetika, dll. Perhatikan bahwa walaupun ada banyak kasus di mana metode ini bekerja dengan baik, tidak ada pemahaman mendalam tentang kapan metode ini bekerja dan ketika mereka tidak. Dan yang lebih penting ketika mereka tidak mendapatkan solusi, kita bisa jauh dari itu. Masalah yang dipecahkan dengan metode metaheuristik cenderung bersifat diskrit, karena ada alat yang jauh lebih baik untuk menangani masalah yang berkelanjutan. Tetapi setiap sekarang dan kemudian Anda melihat metaheuristik untuk masalah yang berkelanjutan juga.

  • Ada metode optimasi numerik, orang-orang di komunitas ini dengan hati-hati memeriksa sifat fungsi yang akan dioptimalkan dan pembatasan solusi (ke dalam kelompok-kelompok seperti optimasi cembung, pemrograman kuadratik, pemrograman linier, dll) dan menerapkan algoritma yang telah ditunjukkan untuk bekerja untuk jenis fungsi tersebut, dan jenis pembatasan tersebut. Ketika orang-orang di daerah ini mengatakan "ditunjukkan untuk bekerja" mereka berarti bukti. Situasinya adalah bahwa jenis metode ini bekerja dalam masalah yang berkelanjutan. Tetapi ketika masalah Anda termasuk dalam kategori ini, ini jelas merupakan alat untuk digunakan.

  • Ada metode optimasi diskrit, yang cenderung merupakan hal-hal yang secara alami terhubung ke algoritma untuk masalah diskrit yang dipelajari dengan baik: seperti jalur terpendek, aliran maks, dll. Orang-orang di area ini juga peduli bahwa algoritme mereka benar-benar berfungsi (bukti). Ada sekelompok orang dalam kelompok ini yang mempelajari masalah yang sangat sulit yang diharapkan tidak ada algoritma cepat. Mereka kemudian mempelajari algoritma aproksimasi, yang merupakan algoritma cepat yang mereka dapat menunjukkan bahwa solusi mereka berada dalam faktor konstan dari optimum sebenarnya. Ini disebut "algoritma aproksimasi". Orang-orang ini juga menunjukkan hasilnya sebagai bukti.

Jadi ... untuk menjawab pertanyaan Anda, saya tidak berpikir bahwa metaheuristik adalah algoritma perkiraan. Bagiku itu tidak seperti sesuatu yang berhubungan dengan opini, itu hanya fakta.

carlosdc
sumber
kembali "metode optimasi numerik", "metode optimasi diskrit", tampaknya banyak teknik ML dapat dibuktikan berada dalam faktor konstan dari optimum sebenarnya jika "ruang pencarian awal" mereka dipaksa menjadi besar, tetapi saya belum melihat referensi hal ini.
2
Saya tidak setuju. * untuk optimasi numerik Anda dapat masuk ke minimum lokal (tentu saja Anda juga dapat menerapkan prosedur yang membuat ini tidak dapat diperdebatkan). * Hal yang sama berlaku untuk Neural Networks (setidaknya itu bisa terjadi selama pelatihan perceptron). * Algoritma genetika juga dapat masuk ke minimum lokal, apalagi jika Anda memilih tingkat mutasi besar Anda tidak akan mendapatkan evolusi yang masuk akal! Saya juga sangat curiga bahwa ada set data yang akan selalu membuat model tertentu memiliki kesalahan besar yang sewenang-wenang.
jb.
2
@vzn banyak orang memilih model yang solusi optimalnya dapat ditemukan. Ini karena penggunaan fungsi kehilangan cembung, seperti yang dilakukan SVM. Menemukan optimal yang sebenarnya di sini berarti "menemukan solusi optimal di ruang pencarian Anda", sehingga tidak ada hubungannya dengan bagaimana ruang pencarian terlihat. Seperti kata jb, untuk fungsi kerugian umum, menemukan optimum yang sebenarnya biasanya tidak mungkin / tidak layak.
Andreas Mueller
menerima jawaban ini sebagai deskripsi keadaan saat ini & kategori umum aplikasi tetapi masih berpikir ada beberapa jembatan yang ada & masih harus dibuktikan yang menghubungkan area yang terpisah. bukti bahwa NNs dapat memodelkan atau "memperkirakan" setiap matematika kontinu untuk tingkat akurasi yang sewenang-wenang terkait erat ... yaitu kolmogorovs thm
vzn
3

Pembelajaran mesin sering berurusan dengan optimalisasi fungsi yang memiliki banyak minimas lokal. Jaringan neural feedforward dengan unit tersembunyi adalah contoh yang baik. Apakah fungsi-fungsi ini diskrit atau kontinu, tidak ada metode yang mencapai minimum global dan berhenti. Sangat mudah untuk membuktikan bahwa tidak ada algoritma umum untuk menemukan minimum global dari fungsi kontinu bahkan jika itu adalah satu dimensi dan halus (memiliki turunan yang tak terhingga banyaknya). Dalam praktiknya, semua algoritma untuk mempelajari jaringan saraf terjebak dalam minimum lokal. Sangat mudah untuk memeriksa ini: membuat jaringan saraf acak, membuat set besar tanggapannya terhadap input acak, kemudian mencoba mempelajari jaringan saraf lain dengan arsitektur yang sama untuk menyalin tanggapan. Sementara solusi sempurna ada, baik backpropagation tidak ada algoritma pembelajaran lain yang dapat menemukannya,

Beberapa metode pembelajaran, seperti anil simulasi atau algoritma genetika, mengeksplorasi banyak minimas lokal. Untuk fungsi kontinu ada metode seperti gradient descent, yang menemukan minimum lokal terdekat. Mereka jauh lebih cepat, itu sebabnya mereka banyak digunakan dalam praktek. Tetapi mengingat waktu yang cukup, kelompok metode sebelumnya mengungguli yang kemudian dalam hal kesalahan set pelatihan. Tetapi dengan batasan waktu yang masuk akal, untuk masalah dunia nyata, kelompok yang terakhir biasanya lebih baik.

Untuk beberapa model, seperti regresi logistik, ada satu minimum lokal, fungsinya cembung, minimalisasi konvergen ke minimum, tetapi model itu sendiri sederhana.

Itu kebenaran pahit.

Perhatikan juga bahwa bukti konvergensi dan bukti konvergensi dengan solusi terbaik adalah dua hal yang berbeda. Algoritma K-means adalah contohnya.

Akhirnya, untuk beberapa model kita tidak tahu cara belajar sama sekali. Misalnya, jika output merupakan fungsi input yang dapat dihitung secara sewenang-wenang, kita tidak tahu algoritma yang baik yang, dalam waktu yang wajar, menemukan mesin Turing atau setara yang mengimplementasikan fungsi ini. Misalnya, jika f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (sepuluh bilangan prima pertama), kami tidak tidak tahu algoritma pembelajaran apa pun yang dapat memprediksi, dalam waktu yang wajar, bahwa f (11) = 31, kecuali ia sudah tahu konsep bilangan prima.

pengguna31264
sumber