Optimizasyon ve Makine Öğrenimi


13

Makine öğreniminin ne kadarının optimizasyon gerektirdiğini bilmek istedim. İstatistiklerden duyduğum kadarıyla, makine öğrenimi ile çalışan insanlar için önemli bir matematik konusudur. Benzer şekilde, makine öğrenimi ile çalışan birinin dışbükey veya dışbükey olmayan optimizasyon hakkında bilgi edinmesi ne kadar önemlidir?


2
"makine öğrenimi ile çalışmak" belirsiz bir kavramdır - daha iyi ML yöntemleri geliştirmek için çalışmak bir cevap anlamına gelecektir, bilinen yöntemleri kullanan ML sistemleri geliştirmek tamamen farklı bir şeydir.
Peteris

Yanıtlar:


28

Benim bakış açım istatistik / makine öğreniminin neyi optimize etmeniz gerektiğini söylemesi ve optimizasyon aslında bunu nasıl yaptığınızdır.

Y=Xβ+εE(ε)=0Var(ε)=σ2Iβ^

β^=argminbRp||YXb||2.

β^

f^=argminfF1ni=1nL(yi,f(xi))

Ff^

Sorunuzu tam olarak yanıtlamak için, bazı optimizasyonların bilinmesi kesinlikle yararlıdır, ancak genel olarak hiç kimse tüm bu alanlarda uzman değildir, bu yüzden mümkün olduğunca çok şey öğrenirsiniz, ancak bazı yönler her zaman sizin için bir kara kutu olacaktır. Belki de en sevdiğiniz ML algoritmasının arkasındaki SLT sonuçlarını düzgün bir şekilde incelemediniz veya belki de kullandığınız optimize edicinin iç işleyişini bilmiyorsunuzdur. Hayat boyu sürecek bir yolculuk.



13

Uygulamada, birçok paket sizin için optimizasyon ve matematik detaylarının çoğunu halleder. Örneğin, TensorFlow, sizin için otomatik olarak sinir ağlarını eğitmek için backprop + stokastik degrade iniş yapabilir (sadece öğrenme oranını belirtmeniz gerekir). scikit-learn'ın ML araçları genellikle optimizasyonun gerçekte nasıl gerçekleştiği hakkında bir şeyler bilmenizi gerektirmez, ancak belki sadece bazı ayarlama parametrelerini ayarlar ve geri kalanıyla ilgilenir (örneğin, optimize edicinin çalıştığı yineleme sayısı). Örneğin, scikit-learn'daki herhangi bir matematiği bilmeden bir SVM eğitebilirsiniz - sadece verileri, çekirdek türünü besleyin ve devam edin.

Bununla birlikte, temel teoriyi bilmek (örn. Boyd ve Vandenberghe'nin Convex Optimization / Bertsekas'ın Doğrusal Olmayan programlama seviyesinde), özellikle teorik konular üzerinde çalışıyorsanız, algoritma / problem tasarımı ve analizinde yardımcı olabilir. Veya, optimizasyon algoritmalarını kendiniz uygulayabilirsiniz.

Ders kitabı optimizasyon yöntemlerinin pratikte modern ortamlarda çalışması için genellikle ince ayar yapılması gerektiğini unutmayın; örneğin, klasik Robbins-Munroe stokastik eğim inişini değil, daha hızlı hızlandırılmış bir varyantı kullanabilirsiniz. Bununla birlikte, optimizasyon sorunları ile çalışarak bazı bilgiler edinebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.