### 5.6 Pembelajaran sebagai Permasalahan Optimisasi

Salah satu tujuan dari pembelajaran ( _training_ ) adalah untuk meminimalkan
_error_  sehingga kinerja learning machine ( _model_ ) diukur oleh squared error.
Dengan kata lain, _utility function_ adalah meminimalkan _squared error_.
Secara lebih umum, kita ingin meminimalkan/memaksimalkan suatu fungsi
yang dijadikan tolak ukur kinerja ( _utility function_ ), diilustrasikan pada per-


72 5 Model Linear

samaan 5.17, dimanaθadalah _learning parameter_,^4 ˆθadalah nilai parameter
paling optimal, danLadalah _loss function_. Perhatikan, “arg min” dapat juga
diganti dengan “arg max” tergantungoptimisasiapa yang ingin dilakukan.
Perubahan parameter dapat menyebabkan perubahan _loss_. Karena itu, _loss_
_function_ memilikiθsebagai parameternya.

```
θˆ= arg min
θ
```
```
L(θ) (5.17)
```
Sekarang, mari kita hubungkan dengan contoh yang sudah diberikan pada
subbab sebelumnya. Kita coba melakukan estimasi _minimum squared error_ E,
dengan mencari nilai _learning parameters_ wyang meminimalkan nilai _error_
pada model linear (persamaan 5.18).^5 Parameter model pembelajaran mesin
_bias_ anya diinisialisasi secara acak atau menggunakan distribusi tertentu. Terdapat
beberapa cara untuk memimalkan _squared error_. Yang penulis akan
bahas adalah _stochastic gradient descent method_.^6 Selanjutnya apda buku ini,
istilah _gradient descent_, _gradient-based method_ dan _stochastic gradient descent_
mengacu pada hal yang sama.

```
wˆ= arg min
w
```
```
E(w) (5.18)
```
Bayangkan kamu sedang berada di puncak pegunungan. Kamu ingin mencari
titik terendah pegunungan tersebut. Kamu tidak dapat melihat keseluruhan
pegunungan, jadi yang kamu lakukan adalah mencari titik terendah
(lokal) sejauh mata memandang, kemudian menuju titik tersebut dan menganggapnya
sebagai titik terendah (global). Layaknya asumsi sebelumnya,
kamu juga turun menuju titik terendah dengan cara melalui jalanan dengan
kemiringan paling tajam, dengan anggapan bisa lebih cepat menuju ke titik
terendah [9]. Sebagai ilustrasi, perhatikan Gambar 5.9! Seluruh area pegunungan
adalah nilai _error_ E yang mungkin (pada persoalanmu), dan titik
terendah pada daerah tersebut adalah nilai _error_ Eterendah.
Jalanan dengan kemiringan paling tajam adalah−grad E(w), dimana
E(w) adalah nilai _error_ saat model memiliki parameterw. Dengan definisi
gradE(w) diberikan pada persamaan 5.19 dan persamaan 5.20, dimanawi
adalah nilai elemen vektor ke-i.

```
gradE(w) =
```
#### (

#### ∂E

```
∂w 1
```
#### ,

#### ∂E

```
∂w 2
```
#### ,...,

#### ∂E

```
∂wF
```
#### )

#### (5.19)

(^4) Dapat berupa skalar, vektor, matriks, atau tensor. Demi istilah yang lebih generik,
kita gunakanθ.
(^5) wboleh diganti denganW, saat ini penulis menggunakan vektor untuk menyedenakan
pembahasan.
(^6) Konsep _Hill Climbing_ dapat digunakan untuk memaksimalkan _utility function_
Konsep tersebut sangat mirip dengan _gradient descent_ https://en.wikipedia.
org/wiki/Hill_climbing.


```
5.6 Pembelajaran sebagai Permasalahan Optimisasi 73
```
```
Gambar 5.9:Stochastic Gradient Descent.
```
```
dw
dt
```
```
=−gradE(w);t= _time_ (5.20)
```
Ingat kembali materi diferensial. Gradien adalah turunan (diferensial)
fungsi. Untuk mencari turunan paling terjal, sama halnya mencari nilai
− _gradient_ terbesar. Dengan demikian, menghitung −grad E(w) terbesar
sama dengan jalanan turun paling terjal. Tentunya seiring berjalannya waktu,
kita mengubah-ubah parameterwagar kinerja model optimal. Nilai optimal
diberikan oleh turunanwterhadap waktu, yang bernilai sama dengan
−gradE(w). Bentuk diskrit persamaan 5.20 diberikan pada persamaan 5.21,

```
w(t+ 1) =w(t)−ηgradE(w(t)) (5.21)
```
dimanaηdisebut _learning rate_ danw(t) adalah nilaiwsaat waktu/iterasi
t. _Learning rate_ digunakan untuk mengatur seberapa pengaruh keterjalan
terhadap pembelajaran. Silahkan mencari sumber tambahan lagi agar dapat
mengerti _learning rate_ secara lebih dalam/matematis. Pada implementasi,η
juga sering diubah-ubah nilainya sepanjang waktu. Semakin kita sudah dekat
dengan tujuan (titik _loss_ terendah), kita mengurangi nilaiη, ibaratnya seperti
mengerem kalau sudah dekat dengan tujuan [30].
Walaupun kamu berharap bisa menuju titik terendah dengan menelusuri
jalan terdekat dengan kemiringan paling tajam, tapi kenyataanya hal tersebut
bisa jadi bukanlah jalan tercepat, seperti yang diilustrasikan pada Gambar
5.10. Warna merah melambangkan jalan yang dilalui _gradient descent_,
sementara warna biru melambangkan jalanan terbaik (tercepat).
Pandangan kita yang terbatas layaknya kita tidak bisa melihat keseluruhan
pengunungan secara keseluruhan (anggap ada kabut), kita juga tidak
bisa melihat keseluruhan nilai _error_ untuk semua parameterw. Secara filosofis,
hal tersebut juga berlaku saat membaca buku, oleh karena itu sebaiknya kamu
membaca beberapa buku saat belajar.
Dalam _local point of view_, _steepest gradient descent_ adalah cara tercepat
menuju titik terendah, tetapi tidak pada _global point of view_. Kita dapat
macet/berhenti saat sudah mencapai _local minima_, yaitu nilai minimum pada
suatu daerah lokal saja. Sebagai ilustrasi, perhatikan Gambar 5.11. Kamu
berada di puncak pegunungan kemudian turun bertahap. Kemudian, kamu
sampai di suatu daerah landai (−gradE(w) = 0). Kamu pikir daerah landai


74 5 Model Linear

```
Gambar 5.10:Stochastic Gradient Descent2.
```
```
Local Minima
−grad 𝐸𝒘 = 0
```
```
Global Minimum
−grad 𝐸𝒘 = 0
```
```
Start Point
```
```
Andaiaku
sebelumnya
meloncat!
```
```
Loncat
```
```
Gambar 5.11:Stuck at local minima.
```
tersebut adalah titik terendah, tetapi, kamu ternyata salah. Untuk menghindari
hal tersebut, kita menggunakan _learning rate_ (η). Apabila nilai _learning_
_rate_ (η) pada persamaan 5.21 relatif kecil, maka dinamika perubahan parameterwjuga
kecil. Tetapi, bila nilainya besar, maka jalanan menuju titik terendah
akan bergoyang-goyang ( _swing_ ), seperti pada Gambar 5.12. Goyangan
tersebut ibarat “meloncat-loncat” pada ilustrasi Gambar 5.11. Kemampuan
untuk “meloncat” ini dapat menghindarkan model _stuck_ di _local minima_.
Untuk mengontrol _learning parameter_ wsehingga memberikan nilaiE(w)
terendah, persamaan _steepest gradient descent_ dapat ditambahkan dengan


```
5.7 Batasan Model Linear 75
```
```
Gambar 5.12:Swing.
```
_momentum_  (α) pada persamaan 5.23. Alfa adalah momentum karena dikalikan
dengan hasil perbedaan descent pada tahap sebelumnya. Alfa adalah
parameter kontrol tambahan untuk mengendalikan _swing_ yang sudah dibahas
sebelumnya.

```
w(t+ 1) =w(t)−ηgradE(w(t)) +α(∆w) (5.22)
```
∆w=w(t)−w(t−1) (5.23)
Apabila gradien bernilai 0, artinya model sudah berada pada titiklocal/global
optimum. Kondisi ini disebut sebagaikonvergen( _converging_ ). Sementara
_model_  yang tidak menuju titik optimal, malah menuju ke kondisi
yang semakin tidak optimum, disebut _divergen_ ( _diverging_ ).

