Professional Documents
Culture Documents
VBYO Optimizasyon
VBYO Optimizasyon
İlker Birbil
Sabancı Üniversitesi
Mühendislik ve Doğa Bilimleri Fakültesi
Endüstri Mühendisliği Programı
enküçükle f (x)
öyle ki cj (x) = 0, j ∈ E, (1)
cj (x) ≥ 0, j ∈ I.
Not
Bir enbüyükleme problemi kolayca enküçükleme problemine dönüştürülebilir:
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)
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.
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.
5
f(x)
4 (4, f(4))
3
1
(1, f(1))
0
−1 0 1 2 3 4 5
x
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
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
θ| x(k) − c ≤ −1 y(k) = −1
=⇒
(θ| x(k) − c)y(k) = 1.
θ| x(k) − c ≥ 1 =⇒ y(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.
şeklinde yazılır. Buradaki 1 gösterge işleci, içerisindeki ifade doğru ise 1, aksi
halde 0 çevirir.
min −J(θ).
θ∈R|C|×n
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.
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
Model
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)
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
Ş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 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.
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.
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
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.
M AKALE : https://arxiv.org/abs/1509.01698
KOD : https://github.com/spartensor/hamsi-mf
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]