Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Optimizasyon ve Yapay Öğrenme

İlker Birbil

Sabancı Üniversitesi
Mühendislik ve Doğa Bilimleri Fakültesi
Endüstri Mühendisliği Programı

Veri Bilim - Yapay Öğrenme Yaz Okulu


Matematiksel Temeller ve Vaka Çalışmaları
Eylül, 2017 - İstanbul
Optimizasyon

I Önceden belirlenmiş kısıtlar


altında bir fonksiyonun en
büyük ya da en küçük
değerini bulmak.
I 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) VBYO 1 / 32


TANIMLAR
Matematiksel Programlama Modeli

Genel bir optimizasyon (eniyileme) problemi şu şekilde gösterilebilir:

enküçükle f (x)
öyle ki cj (x) = 0, j ∈ E, (1)
cj (x) ≥ 0, j ∈ I.

Burada x ∈ Rn vektörü ile karar değişkenleri (bilinmeyenler), f : Rn 7→ R ile amaç


fonksiyonu, cj : Rn 7→ 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) VBYO 2 / 32


Örnek

İki kısıtlı bir matematiksel model şu şekilde1 verilmiş olsun:

enküçükle f (x)
öyle ki x12 − x2 ≤ 0,
x1 + x2 ≤ 2.

Burada
f (x) = (x1 − 2)2 + (x2 − 1)2

−x12 + x2
     
x1 c1 (x)
x= , c(x) = = , I = {1, 2}, E = ∅.
x2 c2 (x) −x1 − x2 + 2

1
Nocedal, J., Wright, S. J., Numerical Optimization, 2. Basım, New York:Springer, 2006.
İlker Birbil (Sabancı Üniversitesi) VBYO 3 / 32
Örnek (devam)

İlker Birbil (Sabancı Üniversitesi) VBYO 4 / 32


Dışbükey Küme

Tanım
S ∈ Rn 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

αx + (1 − α)y ∈ S

olmalıdır.

İlker Birbil (Sabancı Üniversitesi) VBYO 5 / 32


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

f (αx + (1 − α)y) ≤ αf (x) + (1 − α)f (y)

eşitsizliği sağlanmalıdır.

5
f(x)
4 (4, f(4))
3

1
(1, f(1))
0

−1 0 1 2 3 4 5
x

İlker Birbil (Sabancı Üniversitesi) VBYO 6 / 32


Dışbükeylik Hakkında

I Bir f (·) fonksiyonunun içbükey (concave) olması, −f (·) fonksiyonunun dışbükey


olduğunu gösterir.
I Dışbükey bir fonksiyon ile yazılan kısıtsız problemlerde lokal minimum noktası,
global minimum noktası olur.
I 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.
I 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.
I 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) VBYO 7 / 32


Dışbükeylik Hakkında (devam)

En başta (1) ile gösterdiğimiz matematiksel


programlama modelinde
I amaç fonksiyonu f (·) dışbükeyse,
I eşitlik cj (·), j ∈ E kısıtları doğrusalsa,
I ve eşitsizlik fonksiyonları cj (·), j ∈ I
içbükeyse,
elde edilen model dışbükey optimizasyon
modeli olur.

İlker Birbil (Sabancı Üniversitesi) VBYO 8 / 32


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
minn f (x)
x∈R

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:
 ∂f (x) 
∂x1
 ∂f (x) 
 ∂x2 
∇f (x) = 
 ..
.

 . 
∂f (x)
∂xn

İkinci türevleri ise Hesyan (Hessian) matrisini verecektir:


 ∂ 2 f (x) ∂ 2 f (x) ∂ 2 f (x)

∂x12 ∂x1 ∂x2
. . . ∂x 1 ∂xn
 2
∂ 2 f (x) ∂ 2 f (x)

 ∂ f (x) . . . 
 ∂x2 ∂x1 ∂x22 ∂x2 ∂xn
∇2 f (x) = 

.
 .
.. .
.. .
.. .. 

 . 

2 2 2
∂ f (x) ∂ f (x) ∂ f (x)
∂xn ∂x1 ∂xn ∂x2
. . . ∂x2 n

İlker Birbil (Sabancı Üniversitesi) VBYO 9 / 32


Lokal ve Global Optimizasyon

İlker Birbil (Sabancı Üniversitesi) VBYO 10 / 32


ÖRNEK YAPAY ÖĞRENME PROBLEMLERİ
İkili Sınıflandırma

Elimizde N tane veri noktası olduğunu düşünelim; x(k) ∈ Rn , 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)y(k) = 1.
θ| x(k) − c ≥ 1 =⇒ y(k) = 1

Bu durumda yapmamız gereken, verilen bir c değerine göre θ vektörünü hesaplamaktır.

İlker Birbil (Sabancı Üniversitesi) VBYO 11 / 32


Kümeleme - İkili Sınıflandırma

θ| x(k) − c ≤ −1 y(k) = −1

=⇒
(θ| x(k) − c)y(k) = 1.
θ| x(k) − c ≥ 1 =⇒ y(k) = 1

İlker Birbil (Sabancı Üniversitesi) VBYO 12 / 32


Kümeleme - İkili Sınıflandırma (devam)

Optimizasyon modelimiz için önce amaç fonksiyonunu oluşturalım:

lk (θ) = max{0, 1 − (θ| x(k) − c)y(k) }.

Bu fonksiyona literatürde menteşe kayıp fonksiyonu (hinge loss function) da


denmektedir. Modelimiz
N
1 X λ
min Jλ (θ) = lk (θ) + kθk2 .
N k=1 2

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) VBYO 13 / 32


Kümeleme - İkili Sınıflandırma (devam)

Dışbükey optimizasyon modeli için önce yardımcı değişkenler

zk = 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:


1
PN λ 2
enküçükle N k=1 zk + 2 kθk

öyle ki zk ≥ 1 − (θ| x(k) − c)y(k) , k = 1, . . . , N;


zk ≥ 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) VBYO 14 / 32


Ses İşleme

I Veri: Milisaniyelik kayıtlar (çerçeveler); (x(k) , y(k) ), k = 1, . . . , N. Burada x(k) ∈ Rn


öznitelikler, y(k) ∈ C ses etiketleri.
I Amaç: Öznitelikleri bilinen yeni bir kaydı doğru şekilde etiketlemek.

İlker Birbil (Sabancı Üniversitesi) VBYO 15 / 32


Kümeleme - Ses İşleme

I Her etikete bir ağırlık vektörü, θl ∈ Rn , l ∈ C verilir.


I 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
n o exp ((θj )| x(k) )
P y(k) = j | x(k) ; θ = P l | (k) )
l∈C exp ((θ ) x

olarak verilir. Bu durumda ölçekli log-benzerlik fonksiyonu


N
1 XX exp ((θj )| x(k) )
1{y(k) = j} log P l | (k) )
,
N k=1 j∈C l∈C exp ((θ ) x
| {z }
lk (θ)

ş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) VBYO 16 / 32


Kümeleme - Ses İşleme (devam)

Şimdi örneklem ortalaması yaklaşımı (sample average approximation) fonksiyonunu


yazabiliriz:
N
1 X
J(θ) = lk (θ).
N k=1

Bu durumda maksimum benzerlik kestirimcisi (maximum likelihood estimator) ise

θ∗ = arg max J(θ)


θ∈R|C|×n

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) VBYO 17 / 32


Tavsiye Sistemi

I Veri: İzleyicilerin farklı filmlere verdikleri puanları gösteren bir seyrek (sparse)
matris (Y).
I Amaç: İzleyiciler ile filmleri belirli sayıda türe göre gruplamak ve ilgilerine göre
izleyecilere film tavsiye etmek.

İlker Birbil (Sabancı Üniversitesi) VBYO 18 / 32


Tavsiye Sistemi - Matrisleri Çarpanlarına Ayırma

İlker Birbil (Sabancı Üniversitesi) VBYO 19 / 32


Tavsiye Sistemi - Matrisleri Çarpanlarına Ayırma (devam)

F1 F2 F3 F4
Ali 5 2 ? 2
Berna 4 ? ? 3
Cemal 1 1 ? 4
Deniz 2 ? 4 5
Esra ? 2 ? 4

   
5 2 ? 2 ∗ ∗
 4 ? ? 3   ∗ ∗ 
 ∗

   ∗ ∗ ∗
 1 1 ? 4 ≈ ∗ ∗ 
 ∗
   ∗ ∗ ∗
 2 ? 4 5   ∗ ∗ | {z }
? 2 ? 4 ∗ ∗ X2
| {z } | {z }
Y X1

İlker Birbil (Sabancı Üniversitesi) VBYO 20 / 32


Tavsiye Sistemi - Matrisleri Çarpanlarına Ayırma (devam)
   
5 2 ? 2 ∗ ∗
 4 ? ? 3   ∗ ∗ 
 ∗

   ∗ ∗ ∗
 1 1 ? 4 ≈ ∗ ∗ 
 ∗
   ∗ ∗ ∗
 2 ? 4 5   ∗ ∗ | {z }
? 2 ? 4 ∗ ∗ X2
| {z } | {z }
Y X1

Model

(X1∗ , X2∗ ) = arg min kY − XU XM k2F .


XU ,XM

   
1.99 0.56 4.95 2.05 3.08 2.00
 1.45 1.04 
 2.32
  3.99 1.88 3.39 2.99 
 0.85 1.04 0.32  
 0.00 1.64 
 0.61 = 1.01 1.02 2.97 3.97 
 0.62 1.82 2.42  
 0.33 2.01 | {z }  2.00 1.53 3.99 4.98 
1.18 1.50 X2∗ 3.65 1.93 3.94 4.00
| {z } | {z }
X1∗ Ŷ
İlker Birbil (Sabancı Üniversitesi) VBYO 21 / 32
Tavsiye Sistemi - Matrisleri Çarpanlarına Ayırma (devam)

Bu yaklaşım ile çözeceğimiz optimizasyon modeli şu şekilde yazılır:

minkY − X1 X2 k2F .
X1 ,X2

İ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
   
y1 y2 x1
= min (y1 − x1 x4 )2 + · · · + (y6 − x3 x5 )2

min  y3 y4  −  x2  x4 x5
x1 ,...,x5 x1 ,...,x5
y5 y6 x3 | {z }
| {z } | {z } X2
Y X1 F

İlker Birbil (Sabancı Üniversitesi) VBYO 22 / 32


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
N
X
minn f (x) = minn fk (x)
x∈R x∈R
k=1

şeklinde yazılabilirler.

Bu formda bir optimizasyon modeli çözmeyi gerektiren diğer yapay öğrenme


yaklaşımlarına birkaç örnek verebiliriz:
I Lojistik bağlanım (regression)
I Derin öğrenme (deep learning)
I Çok katmanlı yapay sinir ağları (multilayer artificial neural networks)

İlker Birbil (Sabancı Üniversitesi) VBYO 23 / 32


Problemlerin Ortak Yapısı (devam)

Amaç fonksiyonumuzu tekrar yazalım


N
X
f (x) = fk (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:
N
X
∇f (x) = ∇fk (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) VBYO 24 / 32


Kısıtsız Optimizasyon Algoritmaları

I Bu algoritmalarda bir dizi adım hesaplanır: x0 , x1 , x2 , . . . .


I Çoğu zaman başlangıç noktası x0 kullanıcı tarafından belirlenir.
I Her adımda algoritma f (·), ∇f (·) ya da ∇2 f (.) fonksiyonlarını kullanır.
I Pek çok algoritmada {f (xi )}∞
i=0 dizisi monoton olarak azalır. Ancak monoton
olmayan algoritmalar da mevcuttur.
I 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) VBYO 25 / 32


Doğru Arama Algoritmaları

Gradyant İniş

xk+1 = xi − αi ∇f (xi )

Newton Algoritması

−1
xk+1 = xi − αi ∇2 f (xi ) ∇f (xi )

Newton-benzeri Algoritmalar

xk+1 = xi − αi B−1
i ∇f (xi )
“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) VBYO 26 / 32


Çözüme Yakınsama Hızları

İlker Birbil (Sabancı Üniversitesi) VBYO 27 / 32


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
xi+1 = xi − αi ∇fk (x)
k∈K

Literatürde K kümesindeki eleman sayısına göre farklı yöntemler denenmiştir:


I |K| = 1, rassal gradyant iniş (stochastic gradient descent)
I |K| < N, mini-yığın rassal gradyant iniş (mini-batch gradient descent)
I |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) VBYO 28 / 32


Rassal Gradyant Yöntemleri (devam)

Rassal gradyant yöntemlerini uygulamak için


X
xi+1 = xi − αi ∇fk (x)
k∈K

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:

X
αi → 0 ve αi = ∞.
i↑∞
i=1

Uygulamada

αi = √
i
dizisi için  = 10−4 alarak alınabilir.

İlker Birbil (Sabancı Üniversitesi) VBYO 29 / 32


Hessian
Approximated
Multiple
Subsets
Iteration

M AKALE : https://arxiv.org/abs/1509.01698
KOD : https://github.com/spartensor/hamsi-mf
MB-GD ⇐⇒ HAMSI

Average Final RMSE Value


Dataset Algorithm schedule H OGWILD C OLOR C OLOR -B S TRATA S TRATA -B
det 3.1074 3.1061 3.0845 2.5315 2.4588
1M – 6040- – 3883
users mb-GD
ratings movies 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
10M – 71567 – 10681
users mb-GD
ratings movies
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
20M – 138493 – 26744
users mb-GD
ratings movies
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

İlker Birbil (Sabancı Üniversitesi) VBYO 30 / 32


MB-GD ⇐⇒ HAMSI

1M 10M 20M
6 6 6 HAMSI
Mini-batch GD
5 5 5
4 4 4
RMSE

RMSE

RMSE
3 3 3
2 2 2
1 1 1
0 0 0
0 5 10 15 20 25 0 50 100 150 200 250 0 100 200 300 400 500
Wallclock Time [s] Wallclock Time [s] Wallclock Time [s]

İlker Birbil (Sabancı Üniversitesi) VBYO 31 / 32


Kitap Önerileri

I Bertsekas, D. P., Nonlinear Programming, 2. basım, Athena Scientific, Belmont,


Massachusetts, 2003.
I Bazaara, M. S., Sherali, H. D. ve Shetty, C. M., Nonlinear Programming Theory
and Algorithms, 2. basım, Wiley, N.Y., 1993.
I Hiriart-Urruty, J.-B. ve Lemaréchal, Convex Analysis and Minimization
Algorithms I and II, Springer-Verlag, Berlin, Heidelberg, 1993.
I Luenberger, D. G., Introduction to Linear and Nonlinear Programming, 2.
basım, Addison-Wesley, Reading, MA, 1984.
I Boyd, S. ve Vandenberghe, I., Convex Optimization, Cambridge University
Press, Cambridge, UK, 2004.
I Faigle, U., Kern, W. ve Still, G., Algorithmic Principles of Mathematical
Programming, Dordrecht, Boston, Kluwer Academic Publishers, 2002.

İlker Birbil (Sabancı Üniversitesi) VBYO 32 / 32

You might also like