Matematiksel Optimizasyon ve Yapay Öğrenme İlker Birbil Sabancı Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Endüstri Mühendisliği Programı Veri Bilimi İstanbul Buluşma 14 Şubat, 2017
Optimizasyon Önceden belirlenmiş kısıtlar altında bir fonksiyonun en büyük ya da en küçük değerini bulmak. Bu konuşmada problemin düzgünce tanımlı olduğunu varsayacağız. Yani bir minimum (ya da maksimum) noktasının olduğu problemlerle ilgileneceğiz. Şekil: Leibniz in 1684 makalesi İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 1 / 30
TANIMLAR
Matematiksel Programlama Modeli Genel bir optimizasyon (eniyileme) problemi şu şekilde gösterilebilir: enküçükle f (x) öyle ki c j(x) = 0, j E, c j(x) 0, j I. (1) Burada x R n vektörü ile karar değişkenleri (bilinmeyenler), f : R n R ile amaç fonksiyonu, c j : R n R, j E I ile de kısıtlar gösterilmiştir. Not Bir enbüyükleme problemi kolayca enküçükleme problemine dönüştürülebilir: max f (x) = min{ f (x)}. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 2 / 30
Örnek İki kısıtlı bir matematiksel model şu şekilde 1 verilmiş olsun: Burada enküçükle f (x) öyle ki x 2 1 x 2 0, x 1 + x 2 2. x = [ x1 x 2 ] [ c1(x), c(x) = c 2(x) f (x) = (x 1 2) 2 + (x 2 1) 2 ] [ = x 2 1 + x 2 x 1 x 2 + 2 ], I = {1, 2}, E =. 1 Nocedal, J., Wright, S. J., Numerical Optimization, 2. Basım, New York:Springer, 2006. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 3 / 30
Örnek (devam) İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 4 / 30
Dışbükey Küme Tanım S R n kümesinin dışbükey (convex) olması için S kümesinden herhangi iki noktayı birleştiren doğru parçasının tamamının S kümesinde olması gerekir. Matematiksel olarak gösterirsek, her x, y S çifti ve tüm α [0, 1] değerleri için olmalıdır. αx + (1 α)y S İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 5 / 30
Dışbükey Fonksiyon Tanım f ( ) ile gösterilen bir fonksiyonun dışbükey olması için tanım kümesinin dışbükey olması ve bu kümeden seçilen herhangi x, y çifti için f ( ) grafiğinin (x, f (x)) ve (y, f (y)) noktalarını birleştiren doğru parçasının altında kalması gerekir. Matematiksel olarak ifade edersek, her x, y ve tüm α [0, 1] değerleri için eşitsizliği sağlanmalıdır. f (αx + (1 α)y) αf (x) + (1 α)f (y) 9 8 7 6 5 f(x) 4 (4, f(4)) 3 2 1 0 (1, f(1)) 1 0 1 2 3 4 5 x İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 6 / 30
Dışbükeylik Hakkında Bir f ( ) fonksiyonunun içbükey (concave) olması, f ( ) fonksiyonunun dışbükey olduğunu gösterir. Dışbükey bir fonksiyon ile yazılan kısıtsız problemlerde lokal minimum noktası, global minimum noktası olur. Eğer bir kısıt şeklinde bir eşitsizlikse ve dışbükey fonksiyonlar ile oluşturulmuşsa, ortaya çıkan olurlu alan da dışbükey bir kümedir. Kabaca söylemek gerekirse, pek çok durumda dışbükey fonksiyonlar ile çalışıldığında minimum noktasını belirlemek için kullanılan gerek şartlar aynı zamanda yeter şartlar olurlar. Dışbükey fonksiyonlar, lokal olarak daha karmaşık ve dışbükey olmayan fonksiyonların yaklaşık gösteriminde kullanılırlar. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 7 / 30
Dışbükeylik Hakkında (devam) En başta (1) ile gösterdiğimiz matematiksel programlama modelinde amaç fonksiyonu f ( ) dışbükeyse, eşitlik c j( ), j E kısıtları doğrusalsa, ve eşitsizlik fonksiyonları c j( ), j I içbükeyse, elde edilen model dışbükey optimizasyon modeli olur. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 8 / 30
Kısıtsız Optimizasyon Kısıtsız optimizasyon problemlerinde eşitlikler ve eşitsizlikler yoktur. Yani (1) modelinde I E olarak alınır. Bu durumda model kısaca min x R n olarak yazılabilir. Birinci türevi elde etmek için n boyutun her birine göre kısmi türev alınarak gradyant (gradient) vektörü elde edilir: 2 f (x) = f (x) = f (x) f (x) x 1 f (x) x 2. f (x) x n. İkinci türevleri ise Hesyan (Hessian) matrisini verecektir: 2 f (x) x 1 x 2... 2 f (x) x 1 2 2 f (x) x 2 x 1. 2 f (x) x n x 1 2 f (x) x 2 2..... 2 f (x) x n x 2... 2 f (x) x 1 x n 2 f (x) x 2 x n. 2 f (x) x 2 n. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 9 / 30
Lokal ve Global Optimizasyon İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 10 / 30
ÖRNEK YAPAY ÖĞRENME PROBLEMLERİ
İkili Sınıflandırma Elimizde N tane veri noktası olduğunu düşünelim; x (k) R n, k = 1,..., N. Her veri noktası için iki etiketten biri verilmiş; y (k) { 1, 1}, k = 1,..., N. Amaç bu veriyi iki kümeye ayıracak şekilde çok boyutlu bir düzlem bulmak. Her k = 1,..., N için şu ifadeleri kullanalım: } θ x (k) c 1 = y (k) = 1 θ x (k) c 1 = y (k) (θ x (k) c)y (k) = 1. = 1 Bu durumda yapmamız gereken, verilen bir c değerine göre θ vektörünü hesaplamaktır. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 11 / 30
Kümeleme - İkili Sınıflandırma θ x (k) c 1 = y (k) = 1 θ x (k) c 1 = y (k) = 1 } (θ x (k) c)y (k) = 1. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 12 / 30
Kümeleme - İkili Sınıflandırma (devam) Optimizasyon modelimiz için önce amaç fonksiyonunu oluşturalım: l k(θ) = max{0, 1 (θ x (k) c)y (k) }. Bu fonksiyona literatürde menteşe kayıp fonksiyonu (hinge loss function) da denmektedir. Modelimiz min J λ (θ) = 1 N N l k(θ) + λ 2 θ 2. k=1 haline gelir. Modelin en sonuna eklediğimiz terim aşırı uyum (overfitting) sorunundan kaçınmak için eklenmiştir. Burada λ değeri dışarıdan verilen bir parametredir. Bu problem amaç fonksiyonundaki max işleci yüzünden türevlenebilir değildir. Ancak bu model, kısıtlar yardımıyla dışbükey optimizasyon problemine dönüştürülebilir. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 13 / 30
Kümeleme - İkili Sınıflandırma (devam) Dışbükey optimizasyon modeli için önce yardımcı değişkenler z k = max{0, 1 (θ x (k) c)y (k) }, k = 1,..., N olarak tanımlanır. Ardından kısıtlı modelimiz şu şekilde yazılır: enküçükle N k=1 zk + λ 2 θ 2 1 N öyle ki z k 1 (θ x (k) c)y (k), k = 1,..., N; z k 0, k = 1,..., N. Literatürde bu ikili sınıflandırma yaklaşımına destek vektör makinesi (support vector machine) denmektedir. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 14 / 30
Ses İşleme Veri: Milisaniyelik kayıtlar (çerçeveler); (x (k), y (k) ), k = 1,..., N. Burada x (k) R n öznitelikler, y (k) C ses etiketleri. Amaç: Öznitelikleri bilinen yeni bir kaydı doğru şekilde etiketlemek. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 15 / 30
Kümeleme - Ses İşleme Her etikete bir ağırlık vektörü, θ l R n, l C verilir. Kolaylık olması için C n boyutlarında bir θ matrisi tanımlarız. Her k çerçevesine j etiketi atanması için hesaplanan olasılık { } P y (k) = j x (k) exp ((θ j ) x (k) ) ; θ = l C exp ((θl ) x (k) ) olarak verilir. Bu durumda ölçekli log-benzerlik fonksiyonu 1 N N 1{y (k) exp ((θ j ) x (k) ) = j} log l C exp ((θl ) x (k) ) k=1 j C } {{ } l k (θ) şeklinde yazılır. Buradaki 1 gösterge işleci, içerisindeki ifade doğru ise 1, aksi halde 0 çevirir., İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 16 / 30
Kümeleme - Ses İşleme (devam) Şimdi örneklem ortalaması yaklaşımı (sample average approximation) fonksiyonunu yazabiliriz: J(θ) = 1 N l k(θ). N Bu durumda maksimum benzerlik kestirimcisi (maximum likelihood estimator) ise θ = arg k=1 max θ R C n J(θ) olarak bulunur. Enbüyükleme probleminden, enküçüklemeye geçerken de basitçe fonksiyonu -1 ile çarparız. Kısacası, çözmemiz gereken model şu şekilde yazılabilir: min J(θ). θ R C n İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 17 / 30
Tavsiye Sistemi Veri: İzleyicilerin farklı filmlere verdikleri puanları gösteren bir seyrek (sparse) matris (Y). Amaç: İzleyiciler ile filmleri belirli sayıda türe göre gruplamak ve ilgilerine göre izleyecilere film tavsiye etmek. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 18 / 30
Tavsiye Sistemi - Matrisleri Çarpanlarına Ayırma İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 19 / 30
Tavsiye Sistemi - Matrisleri Çarpanlarına Ayırma (devam) Bu yaklaşım ile çözeceğimiz optimizasyon modeli şu şekilde yazılır: min X 1,X 2 Y X 1X 2 2 F. İlk bakışta karışık gözükse de, aslında amaç fonksiyonu her veri noktası için karesel sapmaların toplamına karşılık gelmektedir. Üç izleyici ve iki filmli basit bir örnek bu noktayı gösterecektir: 2 min x 1,...,x 5 y 1 y 2 y 3 y 4 y 5 y 6 }{{} Y x 1 x 2 x 3 } {{ } X 1 ( ) x4 x 5 }{{} X 2 F = min x 1,...,x 5 (y 1 x 1x 4) 2 + + (y 6 x 3x 5) 2 İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 20 / 30
SIK KULLANILAN ÇÖZÜM YÖNTEMLERİ
Problemlerin Ortak Yapısı Şu ana kadar konuştuğumuz kısıtsız yapay öğrenme modelleri, genel bir formda şeklinde yazılabilirler. min x R n f (x) = min x R n N f k(x) Bu formda bir optimizasyon modeli çözmeyi gerektiren diğer yapay öğrenme yaklaşımlarına birkaç örnek verebiliriz: Lojistik bağlanım (regression) Derin öğrenme (deep learning) Çok katmanlı yapay sinir ağları (multilayer artificial neural networks) k=1 İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 21 / 30
Problemlerin Ortak Yapısı (devam) Amaç fonksiyonumuzu tekrar yazalım f (x) = N f k(x). k=1 Bu fonksiyonun minumum noktasını bulmak için bir önceki dersteki çözüm yöntemlerini kullanabiliriz. Bunun için amaç fonksiyonunun türevine ihtiyacımız olacak: f (x) = N f k(x). k=1 Yapay öğrenme problemlerinin önemli bir kısmında N değeri veri boyutuna bağlıdır. O nedenle N kolayca oldukça büyük bir sayı olur. Dolayısıyla her seferinde türev hesabı yapmanın hesaplama zamanı açısından maliyeti yüksektir. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 22 / 30
Kısıtsız Optimizasyon Algoritmaları Bu algoritmalarda bir dizi adım hesaplanır: x 0, x 1, x 2,.... Çoğu zaman başlangıç noktası x 0 kullanıcı tarafından belirlenir. Her adımda algoritma f ( ), f ( ) ya da 2 f (.) fonksiyonlarını kullanır. Pek çok algoritmada {f (x i)} i=0 dizisi monoton olarak azalır. Ancak monoton olmayan algoritmalar da mevcuttur. Kısıtsız optimizasyon için iki temel strateji vardır: doğru arama (line search) ve güven bölgesi (trust region). İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 23 / 30
Doğru Arama Algoritmaları Gradyant İniş x k+1 = x i α i f (x i) Newton Algoritması x k+1 = x i α i 2 f (x i) 1 f (x i) Newton-benzeri Algoritmalar x k+1 = x i α ib 1 i f (x i) Hesaplamalı Tarifler I: Newton ve Benzeri Metodlar, Matematik Dünyası, 2016 Burada α i ile gösterilen adım boyu (step-length), yapay öğrenme camiasında öğrenme hızı (learning rate) olarak bilinir. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 24 / 30
Çözüme Yakınsama Hızları İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 25 / 30
Rassal Gradyant Yöntemleri Rassal yöntemler, her seferinde türevin tamamını hesaplamak yerine sadece bir kısmını rassal olarak seçip hesaplarlar. Rassal olarak seçilen kısımları K {1,..., N} kümesi olarak gösterirsek, gradyant iniş algoritmasının adımları şu şekilde yazılabilir: x i+1 = x i α i f k(x) Literatürde K kümesindeki eleman sayısına göre farklı yöntemler denenmiştir: k K K = 1, rassal gradyant iniş (stochastic gradient descent) K < N, mini-yığın rassal gradyant iniş (mini-batch gradient descent) K = N, yığın gradyant iniş (batch gradient descent). Dikkat edilirse son seçenekte rassalık yok ve bu şekilde koşturulan algoritma radyant iniş algoritmasının aynısı. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 26 / 30
Rassal Gradyant Yöntemleri (devam) Rassal gradyant yöntemlerini uygulamak için x i+1 = x i α i f k(x) döngüsünde adım boyu α i değerini de belirlememiz gerek. Bu yöntemler adım boyunu arama algoritmaları ile hesaplamak yerine, adım boyunu azalan bir dizi olarak düşünürler. Yakınsaklık analizleri adım boyu dizisinin şu şartları sağlaması gerektiğini göstermiştir: k K Uygulamada α i 0 ve i α i = α i =. i=1 ɛ i dizisi için ɛ = 10 4 alarak alınabilir. İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 27 / 30
Hessian Approximated Multiple Subsets Iteration MAKALE: KOD: https://arxiv.org/abs/1509.01698 https://github.com/spartensor/hamsi-mf
MB-GD HAMSI Average Final RMSE Value Dataset Algorithm schedule HOGWILD COLOR COLOR-B STRATA STRATA-B det 3.1074 3.1061 3.0845 2.5315 2.4588 mb-gd stoc 3.1433 3.1470 3.1003 2.5325 2.4650 (25 seconds) det 0.6901 0.6955 0.7102 0.6133 0.6022 HAMSI stoc 0.6900 0.7987 0.8017 0.6088 0.5994 det 4.3167 4.2676 4.2617 4.0029 3.4088 mb-gd stoc 4.3009 4.2863 4.2801 4.0035 3.4094 (250 seconds) det 0.9279 1.0181 0.8941 0.8923 0.8643 HAMSI stoc 0.9207 1.1357 1.1229 0.8988 0.8652 det 4.8655 4.8051 4.8000 4.8093 3.8890 mb-gd stoc 4.8641 4.8279 4.8142 4.8091 3.8975 (500 seconds) det 1.0170 1.1117 0.9521 1.0113 0.9042 HAMSI stoc 1.0112 1.2944 1.2220 1.0231 0.9035 1M ratings 6040 users - 3883 movies 10M 71567 ratings users 10681 movies 20M 138493 ratings users 26744 movies İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 28 / 30
MB-GD HAMSI RMSE 6 5 4 3 2 1 1M 0 0 5 10 15 20 25 Wallclock Time [s] RMSE 6 5 4 3 2 1 10M 0 0 50 100 150 200 250 Wallclock Time [s] RMSE 6 5 4 3 2 1 20M HAMSI Mini-batch GD 0 0 100 200 300 400 500 Wallclock Time [s] İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 29 / 30
Sonuç ve Ortak Çalışma Olanakları Pek çok yapay öğrenme algoritmasında farklı optimizasyon yöntemleri kullanılır. Problemlerin yapısına uygun bir optimizasyon yöntemi uygulamak önemlidir. Gradyant inişine dayalı algoritmalar oldukça yavaş yakınsarlar. Yakınsama hızı ikinci derece bilginin tahmini ile hızlandırılabilir. Büyük veri uygulamaları için paralel ve dağıtık gerçekleme üzerinde durmak gereklidir. HAMSI farklı problemlerin çözümünde kullanıldıkça, çok daha iyi hale gelebilir. Optimizasyon ile birlikte veri mahremiyetinin garanti edilmesi: Privacy Preserving HAMSI? İlker Birbil (Sabancı Üniversitesi) Veri Bilim İstanbul 30 / 30