Saya sedang mengerjakan pembelajaran mesin teoretis - pembelajaran transfer, untuk lebih spesifik - untuk Ph.D.
Karena penasaran, mengapa saya harus mengikuti kursus tentang optimasi cembung?
Apa kesimpulan dari optimasi cembung yang dapat saya gunakan dalam penelitian saya tentang pembelajaran mesin teoretis?
machine-learning
optimization
convex
transfer-learning
Upendra Pratap Singh
sumber
sumber
Jawaban:
Algoritma pembelajaran mesin menggunakan optimisasi setiap saat. Kami meminimalkan kehilangan, atau kesalahan, atau memaksimalkan semacam fungsi skor. Gradient descent adalah algoritma optimisasi "hello world" yang tercakup dalam semua kursus pembelajaran mesin. Jelas dalam kasus regresi, atau model klasifikasi, tetapi bahkan dengan tugas-tugas seperti pengelompokan, kami mencari solusi yang secara optimal sesuai dengan data kami (mis. K-means meminimalkan jumlah kuadrat dalam-klaster). Jadi, jika Anda ingin memahami bagaimana algoritma pembelajaran mesin bekerja, belajar lebih banyak tentang optimasi membantu. Selain itu, jika Anda perlu melakukan hal-hal seperti penyetelan hyperparameter, maka Anda juga langsung menggunakan optimasi.
Orang dapat berargumen bahwa optimasi cembung seharusnya tidak begitu menarik untuk pembelajaran mesin karena alih-alih berurusan dengan fungsi cembung , kita sering menghadapi permukaan kehilangan seperti yang di bawah ini, yang jauh dari cembung .
(sumber: https://www.cs.umd.edu/~tomg/projects/landscapes/ dan arXiv: 1712.09913 )
Meskipun demikian, seperti yang disebutkan dalam jawaban lain, optimisasi cembung lebih cepat, lebih sederhana dan kurang intensif secara komputasional, sehingga seringkali lebih mudah untuk "mengembungkan" masalah (membuatnya ramah optimasi cembung), kemudian menggunakan optimasi non-cembung. Sebagai contoh, gradient descent dan alike algoritme umumnya digunakan dalam pembelajaran mesin, terutama untuk jaringan saraf, karena mereka "bekerja", berskala, dan secara luas diimplementasikan dalam perangkat lunak yang berbeda, namun mereka bukan yang terbaik yang bisa kita dapatkan dan memiliki perangkap mereka , seperti yang dibahas oleh ceramah Ali Rahimi di NIPS 2017 .
Di sisi lain, algoritma optimasi non-cembung seperti algoritma evolusioner tampaknya mendapatkan pengakuan yang lebih dan lebih dalam komunitas ML, misalnya pelatihan jaringan saraf dengan neuroevolution tampaknya menjadi topik penelitian terbaru (lihat juga arXiv: 1712.07897 ).
sumber
Saya pikir ada dua pertanyaan di sini.
Saya pikir @Tim memiliki jawaban yang bagus tentang mengapa optimasi. Saya sangat setuju dan akan merekomendasikan siapa pun yang tertarik dalam pembelajaran mesin untuk menguasai optimasi berkelanjutan. Karena proses optimasi / mencari solusi yang lebih baik dari waktu ke waktu, adalah proses pembelajaran untuk komputer.
Saya ingin berbicara lebih banyak tentang mengapa kami tertarik pada fungsi cembung. Alasannya sederhana: optimasi cembung adalah "lebih mudah untuk diselesaikan", dan kami memiliki banyak algoritma andal untuk dipecahkan.
Tetapi apakah dunia ini cembung? Tidak. Kenapa terobsesi dengan cembung? Periksa metafora ini
sumber
Yang paling penting adalah bahwa pembelajaran mesin diterapkan untuk masalah di mana tidak ada solusi optimal yang tersedia. Yang terbaik yang dapat Anda lakukan adalah menemukan perkiraan yang baik.
Sebaliknya, ketika Anda memiliki masalah optimasi, ada solusi optimal, tetapi biasanya tidak dapat ditemukan dalam waktu yang wajar atau dengan kekuatan pemrosesan yang masuk akal.
Alat dan algoritma yang Anda gunakan pada dasarnya berbeda. Jadi, sementara saya akan mengatakan bahwa tidak ada manfaat langsung dari mengambil kelas optimisasi, selalu baik untuk mengetahui sedikit tentang bidang terkait. Jika Anda dapat mengenali masalah pengoptimalan, Anda akan tahu bahwa Anda tidak harus mengatasinya dengan algoritma pembelajaran mesin melainkan dengan algoritma pengoptimalan. Itu saja bernilai banyak, menurut saya.
sumber
Seperti yang dikatakan hxd1011, masalah cembung lebih mudah dipecahkan, baik secara teoritis maupun (biasanya) dalam praktiknya. Jadi, bahkan untuk masalah non-cembung, banyak algoritma optimasi dimulai dengan "langkah 1. mengurangi masalah menjadi satu cembung" (mungkin di dalam loop sementara).
Hal serupa terjadi dengan pencarian akar nonlinier. Biasanya solusinya (misalnya, dengan metode Newton) berbunyi "langkah 1. Mengurangi masalah linear, karena kita tahu bagaimana menyelesaikannya".
sumber
Jika minat Anda terletak pada optimasi (cembung) yang diterapkan pada pembelajaran dalam (Anda menyebutkan transfer pembelajaran, yang banyak digunakan dalam praktik dengan jaringan saraf) aplikasi, saya sangat menyarankan Anda untuk mempertimbangkan membaca bab 8 (optimasi untuk pelatihan jaringan saraf dalam) dari http : //www.deeplearningbook.org/
Ada diskusi tentang optimasi cembung, dan mengapa itu belum begitu sukses ketika diterapkan jaringan saraf yang dalam. Tentu saja, mungkin Anda bisa melakukan riset di bidang ini yang akan mengubah konsensus saat ini!
sumber
Seperti yang saya dengar dari Jerome H. Friedman metode yang dikembangkan dalam Machine Learning sebenarnya bukan milik komunitas Machine Learning dengan sendirinya.
Dari sudut pandang saya Machine Learning lebih mirip kumpulan berbagai metode dari bidang lain.
Dari sudut pandang Pembelajaran Statistik, tiga pertanyaan utama untuk regresi dan klasifikasi adalah:
Apa fungsi keluarga dari mana Anda menarik aproksimasi
Apa kriteria bagaimana Anda menarik suatu fungsi
Apa metode untuk menemukan fungsi terbaik
Untuk beroperasi dengan cara konstruktif pada (1) - tidak begitu jelas bagaimana menggunakan optimisasi matematika dapat membantu
Untuk beroperasi dengan cara konstruktif pada (2) - sudah jelas bahwa tujuan adalah tujuannya. Dan optimisasi matematika dapat membantu.
Untuk beroperasi dengan beberapa cara konstruktif pada (3) - Anda perlu optimisasi matematika.
Ada beberapa bagian optimasi matematika:
Juga ada cara bagaimana menangani "stochasticity" dalam beberapa cara, bahkan "Tidak ada yang tahu bagaimana menyelesaikan optimasi cembung stochastic"
NonConvex Optimization - biasanya orang dengan ini berarti sesuatu yang objektif, tetapi kelengkungan dapat bervariasi. Orang-orang di planet ini tidak tahu bagaimana menyelesaikannya dengan tepat. Dan pada kenyataannya semua mehtod membuat leverage menjadi (1)
Optimalisasi kombinatorial - bahkan lebih liar daripada (2), sekarang untuk parameter yang Anda temukan Anda bahkan tidak dapat menerapkan operator minus. Salah satu contoh adalah "daerah" di Pohon Keputusan. Jadi ada dua cara bagaimana menghadapinya: a) Convexify problem dan gunakan metode dari (1) b) Buat brute force. Tidak berfungsi untuk sejumlah besar parameter. c) Buat kekuatan kasar tetapi dengan beberapa langkah serakah. Itu adalah sesuatu yang dilakukan CART.
Jadi setidaknya saya pikir saya memberi tahu Anda bahwa:
I) Optimasi Cembung adalah hal utama untuk sebagian besar masalah optimisasi.
II) "01:15 Optimalisasi sebenarnya subjek yang lebih besar daripada ML atau AI, tetapi sebenarnya subjek yang lebih besar." ( https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s )
sumber