Anda di halaman 1dari 148

2/18/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Pendahuluan

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Piramida Data

Problem : prediksi, deteksi, rekomendasi


Metode : machine learning

Problem : deksripsi
Metode : statistik deskriptif

Data terstruktur : tabular


Data tidak terstruktur: gambar, teks, video

1
2/18/2021

Ilmu Data
Terminologi

• Ilmu data (data science) adalah suatu bidang ilmu interdisipliner yang
menggunakan metode saintifik, proses, algoritma dan sistem untuk
mengekstrak pengetahuan dan wawasan dari data dalam berbagai bentuk,
baik terstruktur maupun tidak terstruktur
• Ilmu data adalah suatu konsep yang
menyatukan statistika, analisis data,
machine learning dan metode terkait
untuk memahami dan menganalisis
fenomena aktual dari data
• Saintis data (data scientist) adalah
profesional pada disiplin ilmu data
dengan kualifikasi tertentu baik melalui
pendidikan maupun pengalaman yang
intens

Ilmu Data
Alur Proses

• ASK an ineteresting question


 Apa tujuan santifik
 Apa yang akan Anda lakukan jika
memiliki semua data
 Apa yang akan ada prediksi atau
estimasi

• GET the data


 Bagaimana data disampel
 Data mana saja yang relevan
 Apakah ada isu privasi

Data Science Process by Joe Blitzstein and Hanspeter


Pfister 4

2
2/18/2021

Ilmu Data
Alur Proses

• EXPLORE the data


 Plot data
 Apakah ada anomali-anomali
 Apakah ada pola-pola

• MODEL the data


 Bangun model
 Fit model
 Validasi model

Data Science Process by Joe Blitzstein and Hanspeter


Pfister 5

Ilmu Data
Alur Proses

• COMMUNICATE and VISUALIZE the


results
 Apa yang kita pelajari
 Apakah hasilnya masuk akal
 Dapatkan kita menjelaskan suatu
cerita

Data Science Process by Joe Blitzstein and Hanspeter


Pfister 6

3
2/18/2021

Ilmu Data
Alur Proses

Machine Learning
Definisi

• Machine Learning adalah teknik


artificial intelligence yang dapat
belajar dari data untuk menggali
pengetahuan yang ada pada data
tersebut seperti proses belajar pada
manusia.

• Jika machine learning sudah dianggap


cerdas, maka machine learning dapat
digunakan untuk menggantikan peran
manusia terutama untuk data yang
besar, kompleks atau butuh respon
yang cepat.
http://www.businesscomputingworld.co.uk/wp-
content/uploads/2017/12/Machine-Learning.jpg

4
2/18/2021

Machine Learning
Diagram Alur Proses

 Pra Pengolahan: mengelolah atau


mentransformasikan data
sedemikian sehingga data dapat
digunakan atau menjadi lebih
sesuai untuk suatu model tertentu
 Penanganan missing values
 Penanganan data non numerik,
seperti kategorik
 Penanganan data imbalance
 Standarisasi data, misal antara 0
dan 1, berdistribusi normal, dll
 Representasi data dan pemilihan
fitur
9

Machine Learning
Diagram Alur Proses

 Pemilihan Model: membangun


dan memilih model yang optimal
 Tentukan nilai parameter model
 Fitting model pada sub
himpunan data training dengan
menggunakan suatu metode
pembelajaran tertentu
 Validasi model yang terbentuk
dengan sub himpunan data
training lainnya
 Ulangi proses diatas sampai
diperoleh nilai parameter
optimal
10

5
2/18/2021

Machine Learning
Diagram Alur Proses

 Evaluasi Model: mengestimasi


akurasi dari model
 Estimasi akurasi model dengan
data yang berbeda dengan data
training, bisa data validasi atau
data testing

 Prediksi: menggunakan model


akhir untuk data baru

11

Machine Learning
Metode Pembelajaran

• Supervised learning adalah metode pembelajaran untuk membangun


suatu model machine learning, dimana data training disertai label
sebagai target pembelajaran
 Klasifikasi: label berupa kelas atau kategori
 Regresi: label berupa nilai

Sumber : https://web.facebook.com/AIwithDrMalleswar/ 12

6
2/18/2021

Machine Learning
Metode Pembelajaran

• Unsupervised learning adalah metode pembelajaran untuk


membangun suatu model machine learning, dimana data training
tidak disertai target atau label
 Clustering
 Sistem Rekomendasi

Sumber : https://web.facebook.com/AIwithDrMalleswar/ 13

Machine Learning
Metode Pembelajaran

• Reinforcement learning adalah metode pembelajaran untuk


membangun suatu model machine learning yang dapat
membuat suatu urutan action untuk memaksimumkan reward

14

7
2/18/2021

Machine Learning
Metode Pembelajaran

• Multi-Class Classification
• Multi-Label Classification

• Ordinal Regression
• Ranking

• Anomaly Detection
15

Machine Learning
Klasifikasi : Prediksi Klaim Asuransi

• Memprediksi apakah calon pemegang polis akan mengajukan klaim


atau tidak merupakan proses yang penting dalam industri asuransi
karena dengannya perusahaan asuransi dapat menyiapkan jenis
polis asuransi yang tepat untuk setiap calon pemegang polis

• Ketidakakuratan pada masalah prediksi klaim ini dapat menaikan


harga polis untuk calon pemegang polis yang baik atau mengurangi
harga polis untuk calon pemegang polis yang tidak baik

• Kemampuan prediksi yang lebih akurat memungkinkan industri


asuransi untuk lebih menyesuaikan harga, dan membuat cakupan
asuransi lebih mudah diakses oleh lebih banyak calon pemegang
polis
16

8
2/18/2021

Machine Learning
Regresi : Prediksi Klaim Asuransi

• Memprediksi nilai klaim calon pemegang polis merupakan


proses penting lainnya dalam industri asuransi

17

MachineLearning
Aplikasi Lain

https://blog.quantinsti.com/machine-learning-basics/
18

9
2/18/2021

Machine Learning
Data Training/Testing

• Untuk membangun model machine learning untuk suatu masalah


tertentu, maka dibutuhkan dataset terkait dengan masalah
tersebut sebagai data training dan data testing
• Pada masalah supervised learning, maka dibutuhkan juga label
untuk masing-masing data yang menyatakan kelas atau nilai dari
masing-masing data
• Label tersebut dapat diperoleh dari data historis atau dibuat
secara manual oleh manusia
• Pada banyak masalah, ketersediaan data training dan data testing
dengan label menjadi kendala dalam membangun machine
learning
19

Machine Learning
Kaggle Challenge

• Kaggle adalah anak perusahaan Google LLC yang merupakan


komunitas online ilmuwan data dan praktisi pembelajaran mesin.
• Kaggle memungkinkan pengguna menemukan dan mempublikasikan
dataset dan mengikuti kompetisi data science challenge
• Berikut ini adalah beberapa dataset terkait masalah di industri asuransi
yang awalnya merupakan suatu challenge pada Kaggle:
 Porto Seguro: pemegang polis asuransi kendaraan mengajukan
klaim atau tidak (https://www.kaggle.com/c/porto-seguro-safe-driver-prediction)
 Allstate: nilai klaim asuransi cedera tubuh pemegang polis asuransi
kendaraan (https://www.kaggle.com/c/allstate-claims-severity)
 Prudential: kategori risiko yang terdiri dari 8 level untuk pemegang
polis (https://www.kaggle.com/c/prudential-life-insurance-assessment)
20

10
2/18/2021

Machine Learning
Model

• Supervised learning
 K-Nearest Neighbor, Naïve Bayes, Regresi Linear, Regresi
Logistik, Perceptron
 Support vector machine
 Decision tree – ensemble learning
 Neural network - deep learning
• Unsupervised learning
 K-means, fuzzy C-means, matrix factorization
 Neural network - deep learning

21

Perangkat Lunak
Python

• Python Distribution
 PC: Anaconda
 Cloud: Google Colab
• IDE: Jupyter Notebook

• Library
 Data Analysis: Pandas
 Machine Learning: Scikit-learn, XGBoost
 Visualization: Matplotlib

22

11
2/25/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Regresi dan Klasifikasi

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@ui.ac.id

Pendahuluan
Masalah Supervised Learning

Diberikan data training {xn, tn} , n = 1 to N

• Regresi
– tn bernilai kontinu (riil)
– Bertujuan memprediksi nilai dari data
– Contoh: Prediksi kinerja CPU

• Klasifikasi
– tn bernilai kategori (kelas)
– Bertujuan memprediksi kelas atau
kategori dari data
– Contoh: Prediksi jenis contact lens

1
2/25/2021

Pendahuluan
Model Linear

• Salah satu model yang digunakan untuk menyelesaikan masalah klasifikasi


dan regresi adalah model linear

• Model linear adalah suatu model yang berbentuk sebagai berikut:


D

y ( x ) = w 0 + ∑ w j x j = w 0+ w x
T

j= 1

dimana x = (x1, x2, ..., xD)T adalah data berdimensi D, w = (w1, w2, ..., wD)T
adalah parameter bobot, w0 adalah parameter bias.

• Model linear sering juga ditulis dalam bentuk yang lebih kompak, yaitu:
D

y ( x) = ∑ wjxj = w z
T

j= 0

dimana w = (w0, w1, ..., wD) dan z = (1,, x1, ..., xD)T
T
3

Pendahuluan
Optimasi

• Secara umum, proses pembelajaran pada masalah regresi dan


klasifikasi diformulasikan sebagai suatu masalah optimasi
(optimization)

• Sehingga, pertama-tama akan diberikan konsep dasar terkait teori


optimasi

2
2/25/2021

Model Linear

Regresi dan Klasifikasi


Teori Optimasi

Masalah Optimasi
Bentuk dan Metode

• Diberikan suatu fungsi f(x) yang kontinu, maka masalah optimasi


adalah mencari x yang meminimumkan f(x)
• Masalah optimasi tersebut umumnya ditulis dalam bentuk:
min 𝑓(𝒙)
𝒙

• Metode yang umum digunakan untuk menyelesaikan masalah


optimasi adalah metode langsung dengan turunan
• Jika f(x) adalah fungsi yang dapat diturunkan dua kali, maka kita
dapat menentukan titik minimum lokal berdasarkan turunan pertama
dan kedua dari f(x)

3
2/25/2021

Masalah Optimasi
Bentuk dan Metode

• Teorema. Jika x* adalah suatu titik minimum lokal dari f(x), f(x)
dapat diturunkan dan 2f(x) kontinu pada suatu linkungan dari x*,
maka f(x*) = 0 dan 2f(x*) adalah semidefinite positip, dimana
𝜕𝑓(𝒙) 𝜕𝑓(𝒙) 𝜕𝑓(𝒙)
∇𝑓 𝒙 = , ,…,
𝜕𝑥 𝜕𝑥 𝜕𝑥

𝜕 𝑓(𝒙) 𝜕 𝑓(𝒙) 𝜕 𝑓(𝒙)


𝜕 𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥

𝜕 𝑓(𝒙) 𝜕 𝑓(𝒙) 𝜕 𝑓(𝒙)
∇ 𝑓 𝒙 = 𝜕𝑥 𝜕𝑥 𝜕 𝑥 𝜕𝑥 𝜕𝑥
⋮ ⋱ ⋮
𝜕 𝑓(𝒙) 𝜕 𝑓(𝒙) 𝜕 𝑓(𝒙)

𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕 𝑥

Metode Langsung

Contoh:
Diberikan suatu fungsi 𝑓 𝒙 = 𝑥 + 𝑥 + 2𝑥 + 4𝑥 + 6. Tentukan
titik minimum x = (x1, x2)T, yaitu titik x dimana f(x) bernilai minimum

4
2/25/2021

Metode Iteratif

• Salah satu masalah metode langsung dalam menyelesaikan


masalah optimasi adalah bahwa persamaan f(x*) = 0
mungkin saja tidak memiliki bentuk tertutup (closed form)
• Sehingga, metode alternatif yang sering digunakan adalah
metode iteratif
• Salah satu metode iteratif yang sering digunakan adalah
metode gradient descent

Metode Iteratif
Gradient Descent

Algoritma. Metode gradient descent


Input: f(x)
Output: x
i=0
Inisialisasi x(i)
while kriteria_penyetop = false
𝒙( ) = 𝒙( ) − 𝛼 ∇f(𝐱( ) )
i=i+1
end while
• Pertama-tama, titik minimum x(i) diberi nilai inisialisasi, misal
secara acak. Selanjutnya, titik tersebut diperbarui dengan arah
berlawanan gradien (-f(x(i))) dengan panjang langkah i. Proses ini
dilakukan secara berulang sampai kriteria_penyetop terpenuhi, misal
perubahan nilai x(i) cukup kecil atau jumlah iterasi sudah tercapai.
10

5
2/25/2021

Regresi dan Klasifikasi


Regresi

Machine Learning
Masalah Supervised Learning

Diberikan data training {xn, tn} , n = 1 to N

• Regresi
– tn bernilai kontinu (riil)
– Bertujuan memprediksi nilai dari data
– Contoh: Prediksi kinerja CPU

• Klasifikasi
– tn bernilai kategori (kelas)
– Bertujuan memprediksi kelas atau
kategori dari data
– Contoh: Klasifikasi jenis contact lens

12

6
2/25/2021

Regresi
Masalah

Diberikan data training {xn, tn} , n = 1


sd N, dan tn ϵ R
• Masalah: bagaimana
mendapatkan model y(x) yang
merepresentasikan data
training
• Metode Umum: mencari
model y(x) yang memberikan
error terkecil untuk semua
data training xn

13

Regresi
Regresi Linear

• Model regresi linear adalah


model linear untuk masalah
regresi yang meminimumkan
fungsi error sum-of-squares
error (SSE) sbb:
N
1
E (w) = ∑ (t n− y ( x n ))2
2 n= 1
atau
1
min (𝑡 − 𝑦(𝒙 ))𝟐
𝒘 2

14

7
2/25/2021

Regresi Linear
Formulasi Metode

• Diberikan data training {xn, tn} , n = 1 sd N. Misal, kita


menggunakan model linear bentuk kompak, yaitu y(zn) = wTzn
dengan w = (w0, w1, …, wD)T dan zn = (1, xnT)T.

• Kemudian, misal  adalah matriks dengan vektor baris adalah


zn, t adalah vektor dengan elemen label tn, maka fungsi SSE
dapat dinyakan sebagai:
1
𝐸 𝒘 = 𝒕 − Φ𝒘 𝒕 − Φ𝒘
2

atau
1
𝐸 𝒘 = 𝒘 Φ Φ𝒘 − 2 Φ𝒘 𝑡 + 𝑡 𝑡
2
15

Regresi Linear
Formulasi Metode

• Vektor bobot w yang meminimumkan E(w) dapat diperoleh


dari turunan E(w) sama dengan nol, yaitu
𝜕𝐸
= Φ Φ𝒘 − Φ 𝒘 = 𝟎
𝜕𝑤
atau
(Φ Φ)𝒘 = Φ 𝒘

16

8
2/25/2021

Regresi Linear
Formulasi Metode

• Dengan menggunakan metode kuadrat terkecil (least squares)


error, maka nilai w yang meminimumkan fungsi error E(w)
adalah solusi dari sistem persamaan linear berikut:
(ΦT Φ) w = ΦT t

dimana Φ adalah suatu matriks dengan vektor baris znT, yaitu:

17

Regresi Linear
Ilustrasi Proses

Diberikan tujuh data pada tabel berikut. Enam data pertama adalah data training,
sementara data ketujuh adalah data testing.
x 3 4 6 7 8 9 5

t 1 3 4 6 8 8 3.6

Tentukan akurasi dari model regresi linear yang dibangun berdasarkan data training dalam
memprediksi data testing.

Solusi:
Berdasarkan data training, maka:

[
ΦT = 1 1 1 1 1 1
3 4 6 7 8 9 ]
dan model regresi linear yang dihasilkan adalah y(x) = -2.35 + 1.19x. Selanjutnya, Prediksi
dari x = 5 adalah y(5) = -2.35 + 1.19*5 = 3.6. Sehingga, model tersebut dapat memprediksi
data testing dengan sangat akurat.
18

9
2/25/2021

Regularisasi
Masalah Over-fitting

ERMS : Root-Mean-Square Error

19

Regularisasi

• Salah satu teknik yang digunakan untuk mengkontrol fenomena


over-fitting adalah regularisasi (regularization), yaitu dengan
cara menambah finalti ke fungsi error
N
1
E (w) = ∑ (t − y ( x n))2+ λ2 ∥ w∥ 2
2 n= 1 n
• Pendekatan ini didasarkan kondisi dimana fenomena over-fitting
terjadi ketika nilai-nilai bobot adalah bilangan yang relatif sangat
besar

• Salah satu model regresi linear diregularisasi adalah model


regresi Ridge

20

10
2/25/2021

Regresi Ridge
Fungsi Error

• Fungsi regularized sum square error adalah


N
1
E (w) = ∑ (t − y ( x n))2+ λ2 ∥ w∥ 2
2 n= 1 n
nilai bobot w yang meminimum fungsi error adalah solusi dari
sistem persamaan linear berikut:
(λ Ι + ΦT Φ) w = ΦT t
dimana

21

Regresi Ridge
Ilustrasi Proses

Diberikan enam data pada tabel berikut. Lima data pertama adalah data training,
sementara data keenam adalah data testing.
x 1 2 3 4 5 6
t 1.6 3.1 4.6 6.1 7.6 8.0

Apakah model regresi linear memberikan prediksi yang akurat untuk data penguji ?
Selanjutnya, jika menggunakan regresi Ridge dengan λ adalah 5 dan 10, λ manakah yang
memberikan akurasi terbaik untuk data testing ?

Solusi:
Berdasarkan data training, maka:

[
ΦT = 1 1 1 1 1
1 2 3 4 5 ]

22

11
2/25/2021

Regresi Ridge
Ilustrasi Proses

• Model regresi linear yang dihasilkan adalah y(x) = 0.1 + 1.5x. Selanjutnya, Prediksi dari
x = 6 adalah y(6) = 0.1 + 1.5*6 = 9.1 dengan error 1.1

• Dari hasil di atas terlihat bahwa model regresi linear tidak terlalu akurat memprediksi
data testing

• Selanjutnya, kita akan menggunakan model regresi Ridge


• Untuk λ = 5, model regresi Ridge yang dihasilkan adalah y(x) = 0.32 + 1.32x. Sehingga,
prediksi untuk x = 6 adalah y(6) = 8.2 dengan error 0.2
• Untuk λ = 10, model regresi Ridge yang dihasilkan adalah y(x) = 0.31 + 1.22x. Sehingga,
prediksi untuk x = 6 adalah y(6) = 7.6 dengan error 0.4

• Kesimpulan : model regresi linear tidak memprediksi data penguji dengan akurat.
Model regresi Ridge memberikan hasil yang lebih akurat, dimana akurasi untuk λ = 5
lebih baik dari λ = 10

23

Regresi Ridge
Implementasi

• Sistem persamaan linear yang dihasilkan oleh metode kuadrat


terkecil diregularisasi merupakan suatu sistem persamaan linear
yang simetri dan definit positip
• Sehingga, beberapa metode yang dapat digunakan untuk
menyelesaikan masalah sistem linear tersebut adalah:
– Cholesky
– Singular Value Decomposition (SVD)
– Conjugate Gradient
– dll

24

12
2/25/2021

Regresi dan Klasifikasi


Klasifikasi

Machine Learning
Masalah Supervised Learning

Diberikan data training {xn, tn} , n = 1 to N

• Regresi
– tn bernilai kontinu (riil)
– Bertujuan memprediksi nilai dari data
– Contoh: Prediksi kinerja CPU

• Klasifikasi
– tn bernilai kategori (kelas)
– Bertujuan memprediksi kelas atau
kategori dari data
– Contoh: Klasifikasi jenis contact lens

26

13
2/25/2021

Klasifikasi
Masalah

Diberikan data training {xn, tn}, n =


1 sd N dan tn ϵ {0, 1}
• Masalah: bagaimana
mendapatkan model y(x) yang
merepresentasikan data
training
• Metode probabilistik:
Membangun suatu fungsi
probabilitas p(Ck|x)
sedemikian sehingga p(Ck|x)
bernilai maksimum jika kelas x
adalah Ck dimana Ck ϵ {0, 1}
27

Klasifikasi
Regresi Logistik

• Regresi logistik adalah pengembangan regresi linear dengan


fungsi logistik untuk data dengan target berupa kelas

28

14
2/25/2021

Regresi Logistik
Bentuk Umum

• Regresi logistik adalah perluasan regresi linear dengan bentuk sbb:


p(x) = σ(w0 + wTx)
dimana w adalah parameter bobot, w0 adalah parameter bias, dan σ()
adalah fungsi logistic yang berbentuk:

1
σ 𝑎 =
1+𝑒

atau dalam bentuk kompak dapat ditulis sbb:


p(x) = σ(wTz)
dimana z = (1, x1. … xD)T dan w = (w0, w1. … wD)T

29

Regresi Logistik
Formulasi Masalah

• Model regresi logistik mengasumsikan bahwa logaritma peluang


kesuksesan prediksi untuk suatu obeservasi (log odds) dapat
diekspresikan sebagai suatu model linear dari variabel input x, yaitu:

𝑝(𝒙)
ln =𝒘 𝒛
1 − 𝑝(𝒙)
Sehingga,
exp(𝒘 𝒛)
𝑝 𝒙 =
1 + exp(𝒘 𝒛)
Atau,
1
𝑝 𝒙 = = 𝜎(𝒘 𝒛)
1 + exp(−(𝑤 + 𝑤 𝒙))

30

15
2/25/2021

Regresi Logistik
Formulasi Masalah

Bobot w dapat diperoleh dengan menggunakan konsep probabilistik sbb:


• Misal yn = p(xn) = σ(wTzn) dan tn ϵ {0,1} adalah iid, maka probabilitas
gabungan atau fungsi likelihood untuk semua data dapat dinyatakan
dengan distribusi Bernoulli sebagai berikut:

𝑝 𝐭∣𝐰 = 𝑦 1−𝑦

dimana t = (t1, …, tN)T

• Sehingga, masalah pembelajaran regresi logistik adalah bagaimana


menentukan parameter bobot dan bias (w) sedemikian sehingga p(t|w)
adalah maksimum

31

Regresi Logistik
Likelihood Maksimum

• Metode pembelajaran untuk menentukan parameter bobot dan bias


w yang memaksimumkan fungsi likelihood p(t|w) dikenal metode
likelihood maksimum (maximum likelihood)
• Umumnya, penyelesaian masalah likelihood maksimum ini dilakukan
dengan meminimumkan negatif dari logaritma fungsi likelihood,
yaitu:
𝑚𝑖𝑛 𝐸 𝐰
𝐰

dimana

𝐸 𝐰 = −ln 𝑝 𝐭 ∣ 𝐰 =− 𝑡 ln 𝑦 + 1 − 𝑡 ln 1 − 𝑦

32

16
2/25/2021

Regresi Logistik
Regularisasi

• Model regresi logistik dapat menggunakan teknik regularisasi untuk


mengatasi masalah overfiiting dengan menambahkan norm bobot
||w|| pada fungsi error sbb:

1
𝐸 𝐰 = ∥ 𝑤 ∥ +𝐶 𝑡 ln 𝑦 + 1 − 𝑡 ln 1 − 𝑦
2

dimana C > 0 adalah parameter invers regularisasi, yaitu semakin


kecil akan semakin kuat regularisasinya.

33

Regresi Logistik
Fungsi Prediksi

• Setelah proses pembelajaran, model yang dihasilkan dapat


digunakan untuk mengklasifikasikan suatu data aktual x dengan
menggunakan fungsi keputusan:

𝑓 𝒙 =𝑑 𝑦 𝒙 =𝑑 σ 𝑤 +𝑤 𝒙

dimana fungsi d(a) adalah

34

17
2/25/2021

Regresi Logistik
Ilustrasi Proses

• Diberikan tiga data pada tabel berikut, dimana dua data pertama adalah data
pelatihan dan data ketiga adalah data penguji. Dengan menggunakan fungsi
tujuan tanpa regularisasi, tentukan akurasi dari model regresi logistik.
n 1 2 3
xn (1,0)T (5,0)T (4.5, 2)T
tn 0 1 1
Jawab:

35

Regresi Logistik
Ilustrasi Proses

36

18
2/25/2021

Regresi Logistik
Prediksi

37

Regresi Logistik
Implementasi

• Turunan dari fungsi tujuan adalah:

dan E(w) = 0 tidak berbentuk tertutup (non closed-form)


• Sehingga, metode yang umum digunakan untuk menyelesaikan
masalah optimasi dari sistem non linear tersebut adalah metode
iteratif, seperti:
 Newton conjugate-gradient (Newton-CG)
 Limited-memory Broyden Fletcher Goldfarb Shanno (LBFGS)
 Stochastic average gradient descent (SAG)

38

19
2/25/2021

Referensi

C. H. Bishop. Pattern Recognition and Machine Learning, Springer, 2006

20
2/18/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Support Vector Machine

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Support Vector Machine

• Pada awalnya, support vector machine (SVM) digunakan untuk


menyelesaikan masalah klasifikasi. Selanjutnya, metode ini juga
dikembangkan untuk menyelesaikan masalah regresi dan lainnya

• SVM untuk masalah klasifikasi sering juga disebut sebagai support


vector classification (SVC), sementara untuk masalah regresi adalah
support vector regression (SVR)

• Secara umum, proses pembelajaran pada SVM diformulasikan


sebagai suatu masalah optimasi berkendala batas (bound constrained
optimization)

1
2/18/2021

Support Vector Machine


Teori Optimasi Berkendala

Masalah Optimasi Berkendala


Bentuk dan Metode

• Bentuk umum dari masalah optimasi berkendala adalah:

dimana f(x) adalah fungsi tujuan, ci(x) dan dj(x) adalah fungsi kendala
• Metode sederhana untuk menyelesaikan masalah optimasi
berkendala adalah mensubstitusikan variabel dari fungsi kendala
pada fungsi tujuan sedemikian sehingga nilai optimal dari fungsi
tujuan dapat ditentukan

2
2/18/2021

Metode Substitusi

Contoh:
Tentukan solusi dari masalah optimasi berkendala berikut ini:

Jawab:
- Dari kendala diperoleh bahwa x2 = -8/3 x1
- Substitusi ke fungsi tujuan : f(x) = -8/3 x13 – ln(x1)
- Dengan membuat turunan f(x) sama dengan nol, maka x1 = -1/2
- Sehingga, solusi adalah x = (-1/2, 4/3)T
5

Metode Lagrange

• Kelemahan dari metode substitusi adalah bahwa variabel pada


fungsi kendala tidak selalu dapat dinyatakan dalam variabel lain
untuk membuat nilai optimal fungsi tujuan dapat ditentukan
• Metode alternatif adalah metode Lagrange:

dimana L(x, α, μ) adalah fungsi Lagrange, α dan μ adalah pengali


Lagrange, tiga kondisi pada kendala disebut kondisi Karush-Kuhn-
Tucker (KKT)

3
2/18/2021

Metode Lagrange
Contoh:
Tentukan solusi dari maslah optimasi berkendala berikut ini:

Jawab:
- Fungsi Lagrange :
- Dengan membuat turunan L(x, α) = 0, maka

- Dari persamaan 1 dan 2 : 2x1 = x2


- Substitusi ke persamaan 3 : x1 = 1/3
- Sehingga, solusi adalah x = (1/3, 2/3)T
7

Support Vector Machine


Support Vector Classification

4
2/18/2021

Masalah Klasifikasi Dua-Kelas


Formulasi Masalah

Diberikan data training {xn, tn}, n = 1


sd N dimana tn ϵ {-1,+1}
Fungsi pembatas
• Masalah:
bagaimana mendapatkan model
y(x) yang merepresentasikan data
training
• Metode umum:
mencari model y(x) sebagai fungsi
pembatas (boundary) antara kedua
Kelas 1 (+1) Kelas 2 (-1)
kelas, sehingga semua data training
xn berada pada kelas yang sesuai

Fungsi Pembatas
Model Linear

• SVC menggunakan model linear sebagai pembatas dengan


bentuk umum sbb:
y(x) = wT(x) + b
dimana x adalah vektor input, w adalah parameter bobot,
(x) adalah fungsi basis, dan b adalah parameter bias

10

5
2/18/2021

Fungsi Pembatas
Hyperplane

• Misal fungsi basis adalah suatu fungsi linear (x) = x, maka


fungsi pembatas tersebut adalah suatu hyperplane, yaitu:
y(x) = wTx + b

11

Fungsi Pembatas
Hyperplane : Interpretasi Parameter

• Parameter w menentukan orientasi dari hyperplane


Bukti: jika xA dan xB terletak pada HP, maka y(xA)=y(xB)=0 atau wT(xA-
xB)=0, sehingga w tegak lurus terhadap semua vektor di hyperplane
• Parameter b menentukan lokasi hyperplane
Bukti: jarak sembarang vektor x ke hyperplane dan searah w adalah
y(x)/||w||, sehingga jarak titik awal ke hyperplane adalah -b/||w||

12

6
2/18/2021

Support Vector Classification


Formulasi Masalah

y(x) = 0
y(x) > 0 y(x) < 0 Diberikan data training {xn, tn}, n = 1 sd N
dimana tn ϵ {-1, +1}
• Misal suatu data xn diklasifikasikan ke
kelas tn = +1 jika y(xn)  0 dan kelas tn =
-1 jika y(xn) < 0, maka semua data
diklasifikasi dengan benar jika
memenuhi tny(xn)  0 untuk semua n
• Masalah:
Bagaimana menentukan parameter w
Kelas 1 Kelas 2 dan b sedemikian sehingga tny(xn)  0
(t = +1) (t = -1) untuk semua n

13

Support Vector Classification


Margin Maksimum

• Margin didefiniskan sebagai jarak • Untuk menentukan fungsi


terdekat antara hyperplane pembatas, SVC memilih
dengan data pelatihan hyperplane yang memiliki margin
maksimum

14

7
2/18/2021

Support Vector Classification


Margin Maksimum

• Kenapa maksimum ?
• Berdasarkan intuisi, margin
maksimum adalah pilihan yang
aman karena jika terjadi sedikit
kesalahan pada data maka akan
memberikan kemungkinan terkecil
terjadi kesalahan klasifikasi
• Berdasarkan VC theory (1960-
1990), maksimum margin akan
memberikan kapabilitas
generalisasi terbaik

15

Support Vector Classification


Margin Maksimum

• Asumsikan semua data dapat


dipisahkan secara linear (linearly
sparable), maka jarak antara
sembarang data xn ke hyperplane
adalah:
𝑡 𝑦 𝑥 𝑡 𝑤 ϕ 𝑥 +𝑏
=
∥𝑤∥ ∥𝑤∥

• Sehingga, pemilihan hyperplane yang


memiliki margin maksimum dapat
diformulasikan sebagai berikut:
1
𝑚𝑎𝑥 𝑚𝑖𝑛 𝑡 𝑤 ϕ 𝑥 +𝑏
, ∥𝑤∥

16

8
2/18/2021

Support Vector Classification


Margin Maksimum

• Solusi dari masalah optimasi sebelumnya akan sangat kompleks,


sehingga perlu dikonversi ke masalah yang ekivalen yang lebih
mudah diselesaikan

• Salah satu metode adalah menggunakan


bentuk kanonik dari HP, yaitu:
T
t n (w ϕ( x n )+ b) = 1

untuk data yang terdekat ke HP. Selanjutnya,


semua data pembelajaran akan
diklasifikasikan dengan benar jika
memenuhi:
𝑡 𝑤 ϕ 𝑥 +𝑏 ≥1

17

Support Vector Classification


Pemrogramman Kuadrat

• Sehingga, masalah penentuan HP dengan maksimum margin


sebelumnya, yaitu:
1
𝑚𝑎𝑥 𝑚𝑖𝑛 𝑡 𝑤 ϕ 𝑥 +𝑏
, ∥𝑤∥
menjadi suatu masalah optimasi berkendala berikut:
1
𝑚𝑖𝑛 ∥𝑤∥
, 2
𝑠. 𝑡. 𝑡 𝑤 ϕ 𝑥 + 𝑏 ≥ 1, 𝑛 = 1, . . , 𝑁

• Dengan kata lain, penentuan nilai parameter w dan b menjadi


masalah pemrograman kuadrat (quadratic programming), yaitu
meminimumkan suatu fungsi kuadrat dengan syarat suatu
pertidaksamaan linear
18

9
2/18/2021

Support Vector Classification


Margin Lunak

• Pada formulasi masalah sebelumnya,


dikenal juga sebagai margin keras
(hard margin), semua data pelatihan
diasumsikan dapat dipisahkan oleh
suatu fungsi pembatas linear (linearly
separable)
• Dalam masalah real, kondisi tersebut
sering kali tidak dapat dipenuhi
karena adanya tumpang tindih data
antar kelas
• Untuk memecahkan masalah ini,
pendekatan yang digunakan adalah
margin lunak (soft margin) yang
memungkinkan beberapa data berada
pada „kelas yang salah“
19

Support Vector Classification


Margin Lunak

• Untuk merealisasikan soft margin ini,


diperkenalkan variabel slack ξn ≥ 0
dengan satu variabel slack untuk masing-
masing data pelatihan
• Variabel slack tersebut diformulasikan
sebagai ξn = |tn – y(xn)|, sehingga:
– ξn = 0 adalah data yang terletak pada
margin dan sisi yang benar
– 0 < ξn ≤ 1 adalah data yang terletak
didalam margin pada sisi yang benar
– ξn > 1 adalah data yang terletak pada
sisi yang salah

20

10
2/18/2021

Support Vector Classification


Margin Lunak

• Masalah optimasi berkendala untuk margin keras adalah:

1
𝑚𝑖𝑛 ∥𝒘∥
𝒘, 2
𝑠. 𝑡. 𝑡 𝒘 ϕ 𝒙 + 𝑏 ≥ 1, 𝑛 = 1, . . , 𝑁

maka masalah optimasi berkendala untuk margin lunak adalah:


1
𝑚𝑖𝑛 ∥ 𝒘 ∥ +𝐶 ∑ ξ
𝒘, 2

𝑠. 𝑡. 𝑡 𝒘 ϕ 𝒙 + 𝑏 ≥ 1 − ξ , 𝑛 = 1, . . , 𝑁
ξ ≥0
dimana parameter C > 0 akan mengkontrol trade-off antara banyaknya
data pada kelas yang salah (margin menyempit) dan kapabilitas
generalisasi (margin melebar)
21

Formulasi Bentuk Dual


Metode Lagrange

• Untuk menyelesaikan masalah optimasi berkendala dari margin


lunak dapat menggunakan metode Lagrange
• Fungsi Lagrange dari masalah optimasi berkendala tersebut adalah:

1
𝐿 𝒘, 𝑏 = ∥ 𝒘 ∥ +𝐶 ∑ ξ − ∑ 𝑎 {𝑡 𝑤 ϕ 𝒙 +𝑏 −1+ξ }− ∑ μ ξ
2

dimana an≥0 dan μn≥0 adalah pengali Lagrange untuk masing-


masing kendala

22

11
2/18/2021

Formulasi Bentuk Dual


Metode Lagrange

1
𝐿 𝒘, 𝑏 = ∥ 𝑤 ∥ +𝐶 ξ − 𝑎 𝑡 𝑤 ϕ 𝑥 +𝑏 −1+ξ − μ ξ
2

Kondisi Karush-Kuhn-Tucker (KKT) atau kondisi yang harus dipenuhi oleh solusi
dari masalah optimasi berkendal tersebut adalah:

𝑎 ≥0 [𝐾𝐾𝑇 − 𝑆1]
𝑡 𝑦 𝑥 −1+ξ ≥0 [𝐾𝐾𝑇 − 𝑆2]
𝑎 𝑡 𝑦 𝑥 −1+ξ =0 [𝐾𝐾𝑇 − 𝑆3]
μ ≥0 [𝐾𝐾𝑇 − 𝑆4]
ξ ≥0 [𝐾𝐾𝑇 − 𝑆5]
μ ξ =0 [𝐾𝐾𝑇 − 𝑆6]

23

Formulasi Bentuk Dual


Metode Lagrange

1
𝐿 𝒘, 𝑏 = ∥ 𝑤 ∥ +𝐶 ∑ ξ − ∑ 𝑎 {𝑡 𝑤 ϕ 𝑥 +𝑏 −1+ξ }− ∑ μ ξ
2

• Dengan menurunkan L(w, b) terhadap w, b dan  sama dengan nol, maka:

𝜕𝐿
=𝑤− ∑ 𝑎 𝑡 ϕ 𝑥 =0→𝑤= ∑ 𝑎 𝑡 ϕ 𝑥
𝜕𝒘

𝜕𝐿
= 𝑎 𝑡 =0→ 𝑎 𝑡 =0
𝜕𝑏
𝜕𝐿
=𝐶−𝑎 −μ =0→𝑎 =𝐶−μ
𝜕ξ

24

12
2/18/2021

Formulasi Bentuk Dual


Metode Lagrange

• Substitusikan hasil turunan tsb ke fungsi Lagrange, yaitu:


1
𝐿 𝑤, 𝑏 = ∥ 𝑤 ∥ +𝐶 ξ − 𝑎 𝑡 𝑤 ϕ 𝑥 +𝑏 −1+ξ − μ ξ
2

sehingga menjadi:
1
𝐿 𝒂 = 𝑎 𝑎 𝑡 𝑡 ϕ 𝑥 ϕ 𝑥 − 𝑎 𝑎 𝑡 𝑡 ϕ 𝑥 ϕ 𝑥 −𝑏 𝑎 𝑡 + 𝑎
2

1
= 𝑎 − 𝑎 𝑎 𝑡 𝑡 ϕ 𝑥 ϕ 𝑥
2
Fungsi Kernel
1
= ∑ 𝑎 − ∑ ∑ 𝑎 𝑎 𝑡 𝑡 𝑘 𝑥 ,𝑥
2

25

Formulasi Bentuk Dual


Bentuk Dual

• Sehingga, bentuk dual dari masalah optimasi margin lunak adalah:

1
𝑚𝑎𝑥 𝐿 𝒂 = 𝑎 − 𝑎 𝑎 𝑡 𝑡 𝑘 𝒙 ,𝒙
𝒂 2
𝑠. 𝑡. 0 ≤ 𝑎 ≤ 𝐶, 𝑛 = 1, . . , 𝑁 (Slide 27 [KKT-S1, KKT-s4], Slide 28)

∑ 𝑎 𝑡 =0 (Slide 28)

• Bentuk dual yang dihasilkan juga berupa pemrograman kuadrat


dengan kendala yang lebih sederhana, dikenal juga dengan bound-
constrained optimization

26

13
2/18/2021

Formulasi Bentuk Dual


Bentuk Dual : Nilai Bobot

• Solusi dari pemrograman kuadrat bentuk dual tersebut adalah a, sehingga:

𝒘= 𝑎 𝑡 ϕ 𝒙 (Slide 28) Fungsi Kernel

𝑦 𝒙 =𝒘 ϕ 𝒙 +𝑏 = 𝑎 𝑡 ϕ 𝒙 ϕ 𝒙 +𝑏 = 𝑎 𝑡 𝑘 𝒙, 𝒙 +𝑏

• Hanya data dengan an > 0 (support vectors) yang berperan, sehingga fungsi
pembatas tersebut dapat ditulis menjadi:

𝑦 𝒙 = 𝑎 𝑡 𝑘 𝒙, 𝒙 +𝑏

dimana S adalah himpunan indeks dari support vectors

27

Formulasi Bentuk Dual


Bentuk Dual : Support Vectors

• Berdasarkan Slide 28 bahwa an = C – μn,


serta Slide 30 dan 32 bahwa 0 < an ≤ C
• Jika an < C maka μn > 0. Selanjutnya,
berdasarkan [KKT-S6] bahwa μnξn = 0
maka ξn = 0. Sehingga, support vectors
adalah data training yang terletak pada
margin
• Jika an = C, maka μn = 0. Dari [KKT-S6]
bahwa μnξn = 0 maka ξn ≠ 0. Sehingga,
support vectors adalah data training
yang terletak didalam margin, baik yang
terklasifikasi dengan benar (ξn ≤ 1) atau
salah (ξn > 1)

28

14
2/18/2021

Formulasi Bentuk Dual


Bentuk Dual : Nilai Bias

• Nilai bias dapat ditentukan berdasarkan model dengan hanya mengandung support
vectors, yaitu data training dengan nilai an > 0. Berdasarkan [KKT-S3] bahwa
an{tny(xn) – 1 + ξn} = 0, maka
𝑡 𝑦 𝑥 = 1−ξ

• Dengan hanya menggunakan support vector yang terletak pada margin (ξn = 0),
maka
𝑡 𝑦 𝑥 =1

1
𝑡 𝑎 𝑡 𝑘 𝑥 ,𝑥 +𝑏 =1→𝑏 = 𝑡 − 𝑎 𝑡 𝑘 𝑥 ,𝑥
𝑁

dimana M adalah himpunan indeks dari support vectors dengan 0 < an < C

29

Metode

• Bagian utama dari masalah pembelajaran dari SVC adalah


penyelesaian masalah optimasi berkendala berupa suatu masalah
optimasi berkendala batas
• Terdapat beberapa metode yang telah dikembangkan untuk
menyelesaikan masalah optimasi tersebut, seperti:
– SMO
– SVMLight
– LibSVM

30

15
2/18/2021

Fungsi Prediksi

• Setelah proses pembelajaran, model yang dihasilkan dapat


digunakan untuk mengklasifikasikan suatu data baru x dengan
menggunakan fungsi keputusan:

𝑓 𝒙 = 𝑑 𝑦 𝒙 =𝑑 𝑎 𝑡 𝑘 𝐱, 𝒙 +𝑏

dimana

31

Ilustrasi Proses

• Diberikan tiga data pada tabel berikut, dimana dua data pertama adalah data
training dan data ketiga adalah data testing. Dengan menggunakan fungsi
kernel linear k(x,z) = xTz dan C = 0.5, tentukan akurasi dari model SVC.
n 1 2 3
xn (1,0)T (5,0)T (4.5, 2)T
tn -1 1 1
Jawab:

32

16
2/18/2021

Ilustrasi Proses
n 1 2 3
xn (1,0)T (5,0)T (4.5, 2)T
tn -1 1 1

33

Tips Penggunaan Praktis

• Sangat direkomendasikan untuk melakukan penskalaan data, misal


[0,1] atau [-1,1], atau melakukan standarisasi data, misal memiliki
mean 0 dan variansi 1. Penskalaan dan standarisasi ini dilakukan
baik pada data training maupun data testing
• Fungsi kernel yang direkomendasikan adalah fungsi RBF, sehingga,
terdapat dua parameter yang harus dioptimasi pada tahap
pemilihan model, yaitu parameter C dan gamma dari fungsi RBF
(Hsu, 2013)
• Dalam prakteknya, grid pencarian parameter optimal C dan
gamma dengan interval 10-3 sampai 103 adalah cukup. Jika
paremeter terbaik terletak pada suatu batas dari grid, maka grid
diperluas pada arah tersebut pada pencarian berikutnya

34

17
2/18/2021

Support Vector Machine


Fungsi Kernel

Fungsi Kernel
Definisi

• Fungsi kernel adalah suatu fungsi k yang mana untuk semua


vektor input x, z akan memenuhi kondisi
k(x, z) = (x)T(z)
dimana (.) adalah fungsi pemetaan.
• Dengan kata lain, fungsi kernel adalah fungsi perkalian dalam
(inner product) pada ruang hasil pemetaan

36

18
2/18/2021

Fungsi Kernel
Contoh

Tunjukkan bahwa k(x,z) = (xTz)2 adalah fungsi kernel untuk x, z  R2

Bukti:
misal x=(x1,x2), z=(z1,z2) maka
(xTz)2 = (x1z1 + x2z2)2
= x12z12 + 2x1z1x2z2 + x22z22
= (x12, √2 x1x2, x22)T (z12, √2 z1z2, z22)
= (x)T(z)

sehingga, k(x,z) = (xTz)2 adalah suatu fungsi kernel dengan fungsi pemetaan
(x) = (x12, √2 x1x2, x22), yaitu suatu fungsi pemetaan dari R2 ke R3

37

Fungsi Kernel
Keuntungan

• Fungsi kernel memungkinkan kita dapat menghitung perkalian


dalam pada ruang berdimensi lebih tinggi secara langsung dari
ruang asal tanpa secara eksplisit memproyeksikan data ke
ruang berdimensi lebih tinggi tersebut

Contoh:
– Misal x = (1,2)T, z = (3,5)T adalah vektor pada ruang asal R2
– (x) = (x12, √2 x1x2, x22) adalah fungsi pemetaan dari ruang asal R2 ke
ruang berdimensi lebih tinggi R3
– Perkalian dalam x dan z pada ruang berdimensi lebih tinggi R3 adalah
(x)T(z) = 169
– Perkalian dalam diatas dapat ditentukan secara langsung dari ruang
asal R2 dengan menggunakan fungsi kernel, yaitu k(x,z) = (xTz)2 = 169
38

19
2/18/2021

Fungsi Kernel
Keuntungan

• Sementara itu, perkalian dalam adalah operasi yang sangat


penting karena sangat erat kaitannya dengan persoalan
geometri dalam membangun suatu model

Contoh:
Jarak dua vektor pada ruang berdimensi lebih tinggi dapat dicari
secara langsung dari ruang asal dengan menggunakan fungsi
kernel, yaitu:
||(x)-(z)||2 = (x)T(x) + (z)T(z) - 2(x)T(z)
= k(x,x) + k(z,z) - 2k(x,z)

39

Fungsi Kernel
Keuntungan

• Dengan kata lain, fungsi kernel


memungkinkan kita untuk
memproses data pada ruang dimensi
lebih tinggi tanpa secara eksplisit
memproyeksikan data tersebut
• Sehingga, data yang tidak dapat
dipisahkan secara linear (non-linearly
separable) diharapkan akan dapat
dipisahkan secara linear (linearly
separable) pada dimensi yang lebih
tinggi tersebut
• Proses memunculkan fungsi kernel
pada suatu model dikenal dengan
istilah kernel trick
40

20
2/18/2021

Fungsi Kernel
Contoh Populer

• Linear :
k(xi, xj) = xiT xj
• Polynomial :
k(xi, xj) = ( xiT xj + r)d, dimana  > 0
• Radial basis function (RBF) :

k ( x i , x j )= exp {− γ ∥ x i− x j∥ }
2

• Sigmoid :
T
k ( x i , x j ) = tanh (ρ x i x j + r ) ,
1
dimana tanh (a ) = 2 σ(a)− 1, dan σ(a) =
1+ exp (a)
41

Support Vector Machine


Support Vector Regression

21
2/18/2021

Support Vector Regression


Formulasi Masalah

SVC SVR

43

Support Vector Regression


Formulasi Masalah

• Untuk data target tn yang terletak pada ε-


tube akan memenuhi kondisi:
tn ≤ y(xn) + ε
tn ≥ y(xn) – ε
• Untuk data target tn yang terletak diluar ε-
tube, maka seperti pendekatan soft-
margin, kita membutuhkan varibel slack ξn,
dimana ξn > 0 untuk tn > y(xn) + ε, dan ξ > 0
untuk tn < y(xn) – ε, sehingga:
tn ≤ y(xn) + ε + ξn
tn ≥ y(xn) – ε - ξ

44

22
2/18/2021

Support Vector Regression


Formulasi Masalah

• Selanjutnya, penentuan parameter model SVR dapat diformulasikan


sebagai masalah optimasi sbb:
1
𝑚𝑖𝑛 𝐶 ∑ (ξ +ξ ) + ∥𝒘∥
𝒘, 2

𝑠. 𝑡. 𝑡 ≤ y 𝒙 + ε + ξ
𝑡 ≥y 𝒙 −ε−ξ
ξ ≥ 0, ξ ≥ 0

• Dengan kata lain, penentuan nilai parameter w dan b menjadi


masalah pemrograman kuadrat (quadratic programming), yaitu
meminimumkan suatu fungsi kuadrat dengan syarat suatu
pertidaksamaan linear

45

Support Vector Regression


Formulasi Masalah

SVC SVR

1 1
𝑚𝑖𝑛 ∥ 𝒘 ∥ +𝐶 ∑ ξ 𝑚𝑖𝑛 𝐶 ∑ (ξ +ξ ) + ∥𝒘∥
𝒘, 2 𝒘, 2

𝑠. 𝑡. 𝑡 y 𝒙 ≥ 1 − ξ 𝑠. 𝑡. 𝑡 ≤ y 𝒙 + ε + ξ
ξ ≥0 𝑡 ≥y 𝒙 −ε−ξ
ξ ≥ 0, ξ ≥ 0
46

23
2/18/2021

Support Vector Regression


Formulasi Masalah

Regresi Ridge SVR

1 1
𝑚𝑖𝑛 𝐶 ∑ (𝑡 − 𝑦(𝒙 )) + ∥ 𝒘 ∥ 𝑚𝑖𝑛 𝐶 ∑ (ξ +ξ ) + ∥𝒘∥
𝒘, 2 𝒘, 2

𝑠. 𝑡. 𝑡 ≤ y 𝒙 + ε + ξ
𝑡 ≥y 𝒙 −ε−ξ
ξ ≥ 0, ξ ≥ 0
47

Formulasi Bentuk Dual


Metode Lagrange

• Untuk menyelesaikan pemrograman kuadrat tersebut, cara yang


umum digunakan adalah mencari bentuk dual dengan menggunakan
perkalian Lagrange (Lagrange multipliers) 𝑎 ≥0, an≥0, μn≥0, μ ≥0
dengan satu pengali Lagrange untuk setiap kendala, untuk
membentuk fungsi Lagrangian (Lagrangian function) sbb:

48

24
2/18/2021

Formulasi Bentuk Dual


Metode Lagrange

• Karush-Kuhn-Tucker (KKT) conditions yang menyatakan bahwa solusi


yang diperoleh adalah optimal, atau pada solusi tersebut variabel
dan kendala dari bentuk dual bertemu, adalah sbb:

a n (ϵ+ ξ n+ y n− t n ) = 0 [ KKT − 1]
ā n (ϵ+ ξ̄ n − y n+ t n ) = 0 [ KKT − 2]
(C − a n ) ξ n = 0 [ KKT − 3]
(C − ā n ) ξ̄ n = 0 [ KKT − 4]

49

Formulasi Bentuk Dual


Metode Lagrange

• Dengan menurunkan L terhadap w, b, ξn, dan ξ sama dengan nol,


maka:

50

25
2/18/2021

Formulasi Bentuk Dual


Metode Lagrange

• Substitusikan hasil turunan tsb ke persamaan Lagrangian, yaitu:

sehingga menjadi:

51

Formulasi Bentuk Dual


Bentuk Dual

• Sehingga, bentuk dual dari masalah SVR adalah:

(Slide 18, Slide 20)

(Slide 20)

• Representasi dual yang dihasilkan memiliki kendala yang lebih


sederhana dikenal optimasi kendala batas (bound-constrained
optimization).
52

26
2/18/2021

Formulasi Bentuk Dual


Bentuk Dual : Nilai Bobot

• Misal, solusi dari pemrograman kuadrat bentuk dual tersebut adalah a* dan
a*, maka:

• Hanya data dengan an* ≠ 0 dan an*≠ 0 (support vectors) yang berperan pada
model SVR, sehingga dapat ditulis menjadi:

𝑦 𝑥 = ∑ 𝑎 ∗ − 𝑎 ∗ 𝑘 𝑥, 𝑥 +𝑏

dimana S adalah himpunan indeks dari support vectors

53

Formulasi Bentuk Dual


Bentuk Dual : Support Vectors

• Berdasarkan [KKT-1] bahwa an*(ϵ + ξn +


yn - tn) = 0 maka ϵ + ξn + yn - tn = 0.
Dengan kata lain, support vector
adalah data training terletak pada
boundary atas (ξn = 0) atau diatas
boundary atas (ξn > 0)
• Berdasarkan [KKT-2] bahwa an*(ϵ + ξn -
yn + tn) = 0 maka ϵ + ξn - yn + tn = 0.
Dengan kata lain, support vector
adalah data training terletak pada
boundary bawah (ξ = 0) atau dibawah
boundary bawah (ξ > 0)

54

27
2/18/2021

Formulasi Bentuk Dual


Bentuk Dual : Nilai Bias

• Selanjutnya, parameter b dapat ditentukan berdasarkan model dengan


hanya mengandung support vector, yaitu data training dengan 0 < an < C,
dan kondisi berikut ini:

(1) (C − an )ξ n = 0 ( KKT − 3)
(2) a n (ε+ ξ n + y n − t n ) = 0 ( KKT − 1)
(3) y ( x) = w T ϕ( x)+ b

Dari (1) maka ξn = 0, dari (2) maka ε + yn – tn = 0, selanjutnya b dapat dicari


dari (3) sbb:

𝑏 =𝑦 𝑥 −𝑤 ϕ 𝑥
=𝑡 −ε−𝑤 ϕ 𝑥

=𝑡 −ε− 𝑎∗ − 𝑎∗ 𝑘 𝑥 , 𝑥

55

Metode

• Bagian utama dari masalah pembelajaran dari SVR adalah


penyelesaian masalah optimasi berkendala batas
• Terdapat beberapa metode yang telah dikembangkan untuk
menyelesaikan masalah optimasi tersebut, seperti:
– SMO
– SVMLight
– LibSVM

56

28
2/18/2021

Fungsi Prediksi

• Misal diberikan data z, maka prediksi dari data tersebut ditentukan


berdasarkan fungsi regresi y(x), yaitu: y(z)

57

Tips Penggunaan Praktis

• Sangat direkomendasikan untuk melakukan penskalaan data, misal


[0,1] atau [-1,1], atau melakukan standarisasi data, misal memiliki
mean 0 dan variansi 1. Penskalaan dan standarisasi ini dilakukan
baik pada data training maupun data testing
• Fungsi kernel yang direkomendasikan adalah fungsi RBF, sehingga,
terdapat dua parameter yang harus dioptimasi pada tahap
pemilihan model, yaitu parameter C dan gamma dari fungsi RBF
(Hsu, 2013)
• Dalam prakteknya, grid pencarian parameter optimal C dan
gamma dengan interval 10-3 sampai 103 adalah cukup. Jika
paremeter terbaik terletak pada suatu batas dari grid, maka grid
diperluas pada arah tersebut pada pencarian berikutnya

58

29
2/18/2021

Referensi

C. H. Bishop (2006). Pattern Recognition and Machine Learning, Springer (Bab


7.1, Bab 7.1.1, Appendix E)
C.-W. Hsu, C.-C. Chang, C.-J. Lin (2013). A practical guide to support vector
classification, http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf

30
SCMA801204 - Pembelajaran Mesin Lanjut

Decision Tree

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Decision Tree
Deskripsi

• Decision tree adalah suatu model


seperti diagram alir yang terdiri dari
simpul dan cabang

• Simpul merepresentasikan
pengujian suatu fitur tertentu

• Cabang merepresentasikan hasil


dari pengujian tersebut

• Setiap simpul daun menyatakan


suatu kelas atau nilai

• Jalur dari akar ke daun menyatakan


aturan-aturan
2
Decision Tree
Kelebihan

• Decision tree merupakan model


machine learning yang bersifat
white box, yaitu pengetahuan
yang diekstrak oleh model
adalah berupa aturan-aturan
yang dapat dijelaskan dengan
mudah dengan logika boolean.

• Sementara, model machine


learning lainnya merupakan
suatu black box, yaitu
pengetahuan yang diekstrak
oleh model sulit
diinterpretasikan
3

Decision Tree
Algoritma

• ID3 atau Iterative Dichotomiser 3 adalah algoritma untuk membangun


decision tree berupa suatu multiway tree. Untuk setiap simpul, algoritma
mencari fitur kategorik yang akan menghasilkan information gain terbesar
− C4.5 adalah pengembangan dari ID3 yang menghilangkan pembatasan
bahwa fitur harus kategorik dengan mendefinisikan suatu fitur diskrit
yang diperoleh dengan cara mempartisi suatu fitur kontinu menjadi
beberapa interval
− Versi terakhir pengembangan saat ini adalah C5.0

• CART atau Classification And Regression Tree adalah algoritma yang mirip
dengan C4.5, tetapi juga mendukung target kontinu atau masalah regresi
dan berupa suatu binary tree. Untuk setiap simpul, algoritma mencari fitur
dan nilai ambang (threshold) yang akan menghasilkan information gain
terbesar
4
CART
Formulasi Masalah

Diberikan data training {xn, tn}, n = 1


sd N dimana tn adalah suatu label
• Masalah:
Bagaimana membangun binary
tree dari data training, sehingga
data training dengan kelas atau
nilai yang sama akan
dikelompokkan bersama
• Metode:
Pada setiap simpul, memilih fitur
dan nilai ambang yang membuat
partisi data paling murni, yaitu
data dengan kelas atau nilai yang
sama dikelompokkan bersama
5

CART
Algoritma

• Misal Q adalah himpunan data pada suatu simpul,  = (j, a) adalah


himpunan kandidat fitur ke-j dan nilai ambang a, Qleft( ) dan Qright( )
adalah data pada partisi kiri dan kanan nilai ambang, yaitu
Qleft( ) = {(x,t) | x(j) ≤ a}
Qright( ) = Q - Qleft( )
• Maka kemurnian (impurity) dari suatu simpul dihitung berdasarkan
suatu fungsi kemurnian H() dan information gain G(), yaitu:
𝑁 𝑁
𝐺 𝑄, 𝜃 = 𝐻 𝑄 𝜃 + 𝐻 𝑄 𝜃
𝑁 𝑁
Dimana 𝑁 adalah jumlah data pada simpul, 𝑁 dan 𝑁 adalah
jumlah data pada partisi kiri dan kanan

6
CART
Algoritma

• Sehingga, pemilihan fitur dan nilai ambang yang membuat partisi


data paling murni untuk suatu simpul dapat dinyatakan sebagai
suatu masalah optimasi sebagai berikut:

𝜃 ∗ = min 𝐺 𝑄, 𝜃

• Proses pemilihan fitur dan nilai ambang dilakukan secara rekursif


untuk sub himpunan Qleft(*) dan Qright(*) sampai kriteria
penyetop terpenuhi, misal maksimum kedalaman pohon tercapai
atau minimum jumlah data pada suatu simpul (N) tercapai

CART
Algoritma

• Diberikan data S = {xm, tm}, m=1 .. M dan tn  {0, 1, 2, ..., k}.


Terdapat beberapa fungsi untuk menghitung kemurnian pada masalah
klasifikasi, yaitu:
 Gini 𝐻 𝑆 = ∑ 𝑝 (1 − 𝑝 )
 Entropy 𝐻 𝑆 = − ∑ 𝑝 𝑙𝑜𝑔(𝑝 )
 Misclassification 𝐻 𝑆 = 1 − 𝑚𝑎𝑥(𝑝 )
𝑝 adalah probabilitas kelas k pada simpul tersebut dan
1
𝑝 = 𝐼(𝑡 = 𝑘)
𝑀

dimana 𝐼(𝑡 = 𝑘) adalah fungsi idikator yang bernilai 1 jika 𝑡 = 𝑘


dan 0 lainnya

8
CART
Algoritma

• Diberikan data S = {xn, tn}, n=1 .. M dan tn  R. Terdapat beberapa


fungsi untuk menghitung kemurnian pada masalah regresi, yaitu:
 Mean Square Error
𝐻 𝑆 = ∑ (𝑡 − 𝑡̅)

 Mean Absolute Error


𝐻 𝑆 = ∑ 𝑡 − 𝑡̅

dimana 𝑡̅ = ∑ 𝑡

CART
Ilustrasi

Diberikan tujuh pengamatan tingkat mortalitas dengan lima fitur terkait


kualitas udara untuk beberapa wilayah di Inggris pada tahun 2007-2012. Fitur
mana yang akan dipilih sebagai akar?

Obs O3 PM10 PM2.5 NO2 T2M Mortality Rate


1 22,251 20,447 8,891 28,858 274,723 1,208
2 30,977 15,687 7,250 27,145 276,907 1,498
3 46,849 13,461 4,166 16,238 280,981 1,387
4 64,451 7,447 2,109 5,192 277,892 1,342
5 59,234 7,281 2,781 7,062 278,626 1,431
6 42,514 8,020 4,256 16,457 279,427 1,319
7 30,100 15,848 6,924 23,323 279,413 1,252
Sumber: K. C. Dewi. Analisis Akurasi Model Random Forest untuk Big Data – Studi Kasus Prediksi Klaim Severity pada Asuransi
Mobil. Tesis. Program Magister Matematika, Departemen Matematika FMIPA UI, 2019
10
CART
Ilustrasi

• Terdapat lima fitur yang dapat menjadi kandidat sebagai


simpul akar. Untuk masalah dengan jumlah fitur yang sangat
banyak, kandidat fitur sering dipilih secara acak dari suatu sub
himpunan fitur
• Pemilihan nilai ambang batas (threshold) dapat dilakukan
dilakukan secara acak dari nilai fitur. Selain itu, pemilihan nilai
ambang batas dapat dilakukan dengan mencari titik tengah
dari nilai fitur (Cutler, Cutler, & Stevens, 2012)

11

CART
Ilustrasi

Misal untuk fitur O3, nilai ambang batas yang dipilih adalah 22,251 atau  = {O3, 22,251}

Mortality
Obs O3 PM10 PM2.5 NO2 T2M
Rate
O3 ≤ 22,251
1 22,251 20,447 8,891 28,858 274,723 1,208

2 30,977 15,687 7,250 27,145 276,907 1,498 Ya Tidak

3 46,849 13,461 4,166 16,238 280,981 1,387


64,451 7,447 2,109 5,192 277,892 1,342 1,498
4
1,208 1,387
5 59,234 7,281 2,781 7,062 278,626 1,431 1,342
1,431
6 42,514 8,020 4,256 16,457 279,427 1,319
1,319
7 30,100 15,848 6,924 23,323 279,413 1,252 1,252

12
CART
Ilustrasi

Sehingga diperoleh impurity dari masing-masing cabang  = {O3,


22,251} sebagai berikut:
O3 ≤ 22,251
1
𝐻 𝑄 (𝜃) = 𝑦 −𝑦
𝑛
Ya Tidak
= 1,208 − 1,208
=0 1,498
1,208 1,387
1 1,342
𝐻 𝑄 (𝜃) = 𝑦 −𝑦 1,431
𝑛
1,319
= 1,498 − 1,3715 + 1,387 − 1,3715 + 1,342 − 1,3715 + 1,252
1,431 − 1,3715 + 1,319 − 1,3715 + 1,252 − 1,3715
= 0,0376895
= 0,0063

13

CART
Ilustrasi

• Sehingga diperoleh information gain untuk  = {O3, 22,251} sebagai


berikut:

𝐺 𝑄, 𝜃 = 𝐻 𝑄 (𝜃) + 𝐻 𝑄 (𝜃)
𝒎 𝒎

= 0 + 0,0063
= 0,0054

• Dengan menggunakan langkah yang sama, cari nilai information gain


untuk fitur PM10, PM2.5, NO2, dan T2M.

14
CART
Ilustrasi

PM10≤ 15,687 PM2.5 ≤ 4,166 NO2≤ 5,192

Ya Tidak Ya Tidak Ya Tidak

1,498 1,387
1,208 1,208 1,208
1,387 1,342
1,252 1,498 1,342 1,498
1,342 1,431
1,319 1,387
1,431 1,252 1,431
1,319 1,319
1,252
T2M≤ 278,626

Ya Tidak Misal untuk masing-masing fitur dipilih nilai ambang


batas sebagai berikut:  = {PM10, 15,687},  =
1,208 1,387 {PM2.5, 4,166},  = {NO2, 5,192},  = {T2M,
1,498 1,319 278,626}
1,342 1,252
1,431 15

CART
Ilustrasi

• Sehingga diperoleh information gain untuk semua fitur 𝜃 sebagai berikut:


  = {O3, 22,251} adalah 0,0054
  = {PM10, 15,687} adalah 0,0031
  = {PM2.5, 4,166} adalah 0,0076
  = {NO2, 5,192} adalah 0,0087
  = {T2M, 278,626} adalah 0,0080
• Selanjutnya, pilih 𝜃 yang meminimumkan information gain atau
𝜃 ∗ = 𝑚𝑖𝑛 𝐺 𝑄, 𝜃
• Karena  = {PM10, 15,687} memberikan nilai information gain terkecil,
maka pilih fitur PM10 dengan nilai ambang batas 15,687 sebagai simpul
akar

16
CART
Ilustrasi

PM10 ≤ 15,687
• Selanjutnya, lakukan langkah
Ya Tidak
yang sama untuk mencari
pemisahan biner 𝜃 pada T2M ≤ 276,907
1,208
1,252
sampel yang terdapat di
Ya Tidak
simpul turunan kiri dan
simpul turunan kanan.
1,498 T2M ≤ 278,626
• Lakukan langkah tersebut
Tidak
secara rekursif sampai Ya

kriteria penyetop terpenuhi,


1,431 PM2.5 ≤ 4,166
misal minimum jumlah
sampel pada suatu simpul Ya Tidak
seperti 𝑁 <= 2, dan
maksimum kedalaman pohon 1,387
1,319
1,342
17

CART
Tips Penggunaan Praktis

• Parameter utama yang perlu dioptimasi pada tahap pemilihan model


adalah maksimum kedalaman pohon (ukuran pohon)
• Parameter lain yang sering dioptimasi adalah minimum jumlah
sampel sehingga suatu simpul bisa bercabang, dan minimum jumlah
sampel pada daun
• Beberapa tips penggunaan praktis lain dapat dilihat pada
https://scikit-learn.org/stable/modules/tree.html

18
Referensi

C. H. Bishop (2006). Pattern Recognition and Machine Learning, Springer


(Bab 14.3)
SCMA801204 - Pembelajaran Mesin Lanjut

Ensemble Learning

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Pendahuluan

• Ensemble learning adalah salah satu pendekatan untuk meningkatakan kinerja


dari suatu model dasar dengan cara mengkombinasikan beberapa model dasar
tersebut
• Dua pendekatan utama yang digunakan pada ensemble learning adalah:
− Bagging, yaitu membangun beberapa model dasar secara independen dan
prediksi akhir adalah rata-rata (averaging) atau pemilihan (voting) dari
masing-masing model dasar tersebut. Misal: random forest
− Boosting, yaitu membangun beberapa model dasar secara berurutan dimana
membangun suatu model dasar tergantung pada kinerja dari model dasar
sebelumnya. Misal: gradient boosting machine
• Model dasar yang umum digunakan pada ensemble learning adalah decision
trees

2
Random Forest

Pendahuluan

• Decision tree, seperti CART, merupakan metode yang popular untuk


berbagai masalah pada machine learning

• Beberapa kelebihan decision tree adalah tidak berubah karena


penskalaan atau karena transformasi nilai fitur, tetap robust jika ada
fitur yang tidak relevan, dan menghasilkan model yang dapat
ditelusuri (white box)

• Akan tetap, decision tree jarang memberikan hasil yang akurat. Salah
satu penyebabnya adalah bahwa jika decision tree tumbuh terlalu
dalam maka akan cendrung menjadi overfitting

• Random forest adalah metode untuk mengatasi masalah overfitting


pada decision tree
4
Random Forest
Formulasi Masalah

Diberikan data training {xn, tn}, n =


1 sd N dimana tn adalah suatu label
• Masalah:
bagaimana mengatasi masalah
overfitting pada decision tree

• Metode umum:
mereduksi variansi dengan cara
membangun beberapa decision
tree menggunakan beberapa
bagian yang berbeda dari data
training yang sama (bootstrap)

Random Forest

• Random forest adalah suatu model ensemble yang terdiri dari


beberapa model dasar berupa decision tree, misal CART, yang
berukuran tetap

• Masing-masing model dasar dibangun dari sampel yang diambil


secara acak dengan pengembalian dari data training (bootstrap)

• Pada proses pemilihan fitur sebagai simpul dari model dasar, fitur
yang dipilih bukan lagi fitur terbaik dari semua fitur, melainkan fitur
terbaik dari sub himpunan fitur yang dipilih secara acak

• Prediksi dari model random forest adalah rata-rata (averaging) untuk


regresi atau pemilihan (voting) untuk klasifikasi dari semua model
dasar (bagging)
6
Random Forest
Algoritma

INPUT : data training D = {(𝒙 , 𝑡 )} : , jumlah iterasi (model dasar) J


OUTPUT: 𝐹(𝒙)
1. FOR j = 1 TO J
1. Bentuk data training Dj yang diambil secara acak dengan
pengembalian dari data training D
2. Bangun model decision tree hj(x) berdasarkan data training Dj
2. 𝐹 𝒙 = ∑ ℎ (𝒙)

Random Forest
Ilustrasi

Diberikan empat pengamatan tingkat mortalitas dengan lima fitur terkait


kualitas udara untuk beberapa wilayah di Inggris pada tahun 2007-2012.
Bangun model random forest menggunakan data tersebut!

Obs. O3 PM10 PM2.5 NO2 T2M Mortality Rate

1 22,251 20,447 8,891 28,858 274,723 1,208

2 30,977 15,687 7,250 27,145 276,907 1,498

3 46,849 13,461 4,166 16,238 280,981 1,387

4 64,451 7,447 2,109 5,192 277,892 1,342

K. C. Dewi. Analisis Akurasi Model Random Forest untuk Big Data – Studi Kasus Prediksi Klaim Severity pada
Asuransi Mobil. Tesis. Program Magister Matematika, Departemen Matematika FMIPA UI, 2019

8
Random Forest
Ilustrasi

Misal random forest terdiri dari tiga decision tree dengan tiga data sampel (bootstrap)
sebagai berikut:

Random Forest
Ilustrasi

Bangun decision tree dari setiap data sample (boostrap):

10
Random Forest
Ilustrasi

Bangun decision tree dari setiap data sample (boostrap):

11

Random Forest
Ilustrasi

Bangun decision tree dari setiap data sample (boostrap):

12
Random Forest
Ilustrasi

Diberikan data berikut. Berapa nilai prediksi dari model random forest yang
sudah terbentuk?

Obs. O3 PM10 PM2.5 NO2 T2M Mortality Rate


5 50,006 9,882 3,453 12,909 282,467 ?

13

Random Forest
Ilustrasi

Obs. O3 PM10 PM2.5 NO2 T2M Mortality Rate


1 50,006 9,882 3,453 12,909 282,467 ?

14
Random Forest
Ilustrasi

Obs. O3 PM10 PM2.5 NO2 T2M Mortality Rate


1 50,006 9,882 3,453 12,909 282,467 ?

15

Random Forest
Ilustrasi

Berdasarkan prediksi dari masing-masing decision tree, maka


hasil prediksi dari model random forest adalah sebagai berikut:

1
𝑓(𝑥) = 1,387 + 1,387 + 1,387
3
= 1,387

16
Random Forest
Tips Penggunaan Praktis

• Dua parameter utama yang perlu dioptimasi pada tahap


pemilihan model adalah n_estimators, yaitu jumlah model
dasar decision tree, dan max_feature, yaitu jumlah maksimum
fitur yang diambil secara acak ketika akan membentuk cabang
suatu simpul
• Parameter lain yang sering juga dioptimasi adalah max_depth,
yaitu maksimum kedalaman pohon, dan min_sample_split,
yaitu minimum jumlah sampel sehingga suatu simpul bisa
bercabang, dan min_sample_leaf, yaitu jumlah minimum
sampel pada daun
• Beberapa tips penggunan praktis lain dapat dilihat pada
https://scikit-learn.org/stable/modules/ensemble.html
17

Referensi

Lior Rokach. Ensemble Learning - Pattern Classification using


Ensemble Methods. World Scientific, 2019
SCMA801204 - Pembelajaran Mesin Lanjut

Gradient Boosting Machines

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Pendahuluan

• Gradient boosting machine (GBM) merupakan model


ensemble yang terdiri dari beberapa model dasar
• Berbeda dengan random forest, GBM membangun model dasar
secara iteratif dan tergatung pada model-model dasar yang
telah ditraining sebelumnya (boosting)
• GBM umumnya digunakan dengan decision trees sebagai
model dasar dan dikenal sebagai gradient tree boosting
• XGBoost merupakan pustaka gradient tree boosting yang
popular dan banyak digunakan untuk menyelesaikan masalah
supervised learning untuk data tabular
2
Gradient Boosting Machines
Formulasi Masalah

• Gradient boosting machine (GBM) adalah suatu model machine learning


yang terdiri dari beberapa model dasar, yaitu:

𝐹𝐽 𝒙 = ℎ (𝒙)

dimana ℎ (𝒙) adalah model dasar

• GBM mengkombinasikan model dasar ke ensemble model secara iteratif,


yaitu:
𝐹 𝒙 = 𝐹 𝒙 + ℎ (𝒙)

Gradient Boosting Machines


Formulasi Masalah

Diberikan data training {xn, tn}, n = 1


sd N dimana tn adalah suatu label
• Masalah:
Bagaimana membangun model
dasar ℎ (𝒙), sehingga
menghasilkan model ensemble
baru Fj(x) yang lebih akurat

• Metode umum:
membangun model hj(x) yang
meminimumkan suatu fungsi loss
L(tn, 𝑡 ) dimana 𝑡 = 𝐹 (𝒙 )

4
Gradient Boosting Machines
Masalah Regresi

• Pertama-tama, kita inisialisasi F0(x) dengan suatu konstanta, missal dengan


cara berikut ini berikut:
𝐹 𝒙 = min 𝐿(𝑡 , 𝛾)

dimana L adalah suatu fungsi loss (error)

• Untuk langkah-langkah selanjutnya, yaitu 1 ≤ 𝑗 ≤ 𝐽 , GBM berusaha


meningkatkan Fj-1(x) dengan cara menambahkan model dasar hj(x)
sedemikin sehingga error Fj(x) minimum berdasarkan fungsi loss L, yaitu:

ℎ 𝒙 = min 𝐿 𝑡 ,𝐹 𝒙 + ℎ(𝒙 )

Gradient Boosting Machines


Masalah Regresi

• Dengan menggunakan first-order Taylor approximation, maka


𝐿 𝑡 ,𝐹 𝒙 + ℎ (𝒙 )

dapat diaproksimasi dengan


𝜕𝐿(𝑡 , 𝐹)
𝐿 𝑡 ,𝐹 𝒙 + ℎ (𝒙 )
𝜕𝐹 𝒙

Catatan:
Berdasarkan first-order Taylor approximation, suatu fungsi L(z) dapat
( )
diaproksimasi oleh 𝐿 𝑎 + (𝑧 − 𝑎) . Dalam kasus ini, z adalah
𝐹 𝒙 + ℎ (𝒙 ), dan a adalah 𝐹 𝒙
6
Gradient Boosting Machines
Masalah Regresi

𝜕𝐿(𝑡 , 𝐹)
ℎ 𝒙 = min 𝐿 𝑡 ,𝐹 𝒙 + ℎ(𝒙 )
𝜕𝐹 𝒙

• Dengan membuang bagian konstanta, maka:

ℎ 𝒙 = min ∑ ℎ(𝒙 )𝑔
( , )
dimana 𝑔 =
𝒙

• Nilai minimum bentuk diatas diperoleh jika ℎ 𝒙 = − 𝑔 atau negatif


gradien. Sehingga, ℎ 𝒙 dapat dibangun dengan fitting model dasar
ℎ 𝒙 pada data {𝒙 , − 𝑔 }

Gradient Boosting Machines


Masalah Regresi

• Jika kembali ke formulasi awal 𝐹 𝒙 = 𝐹 𝒙 +ℎ 𝒙 ,


maka bentuk tersebut ini dapat dipandang sebagai metode
gradient descent pada suatu ruang fungsional karena ℎ 𝒙
adalah negatif gradient
• Seperti metode gradient descent secara umum, suatu learning
rate v dapat ditambahkan untuk mengatur panjang langkah
gradient descent, yaitu 𝐹 𝒙 = 𝐹 𝒙 + 𝑣ℎ 𝒙

• Learning rate v dapat juga dipandang sebagai suatu strategi


regularisasi sederhana yang mengatur kontribusi dari setiap
model dasar ℎ 𝒙

8
Gradient Boosting Machines
Masalah Regresi

INPUT : data training D = {(𝒙 , 𝑡 )} : , fungsi loss L, jumlah iterasi


(model dasar) J, learning rate v
OUTPUT: 𝐹 (𝒙)
1. Inisialisasi model: 𝐹 𝒙 = min ∑ 𝐿(𝑡 , 𝛾)

2. FOR j = 1 TO J
,
a. Hitung 𝑔 =− , 𝑛 = 1: 𝑁
𝒙

b. Fitting ℎ (𝒙) pada {(𝒙 , 𝑔 )} :

c. Perbarui model: 𝐹 𝒙 = 𝐹 𝒙 + vℎ (𝒙)

Gradient Boosting Machine


Masalah Klasifikasi

• Secara umum, GBM untuk masalah regresi dan klasifikasi adalah


mirip, yaitu 𝐹𝐽 𝒙 = ∑ ℎ (𝒙)
• Akan tetapi, 𝐹𝐽 𝒙 tidak dapat memprediksi kelas, sehingga perlu
dipetakan ke kelas yang mana proses ini sangat tergantung dengan
fungsi loss yang digunakan
• Misal, jika menggunakan fungsi loss log-likelihood maka
probabilitas bahwa 𝒙 masuk ke kelas positif adalah
𝑝 𝑡 = 1 𝒙 = 𝜎(𝐹𝐽 𝒙 ) dimana 𝜎 adalah fungsi sigmoid
• Walaupun untuk masalah klasifikasi, ℎ (𝒙) tetap suatu regressor
bukan classifier, karena ℎ (𝒙) digunakan untuk memprediksi negatif
gradien yang selalu bernilai kontinu

10
Gradient Boosting Machines
Fungsi Loss

• Beberapa fungsi loss yang sering digunakan untuk masalah


regresi adalah least squares, least absolute deviation

• Sementara, beberapa fungsi loss untuk masalah klasifikasi


adalah

 The negative binomial log-likelihood untuk klasifikasi dua


kelas

 The negative multinomial log-likelihood untuk klasifikasi


multi kelas

11

Gradient Boosting Machines


Subsampling

• Gradient boosting dapat dikombinasikan dengan metode


bootstrap sehingga menjadi stochastic gradient boosting
(SGB)

• Dengan SGB, suatu model dasar dibangun hanya dengan sub


sampel data training yang diambil secara acak tanpa
pengembalian

• SGB memungkinkan GBM untuk jumlah data yang besar (big


data)

12
Gradient Tree Boosting

Gradient Tree Boosting

• Gradient tree boosting atau gradient boosted decision tree


(GBDT) adalah GBM yang menggunakan decision tree, misal
CART, berukuran tetap sebagai model dasar

14
Gradient Tree Boosting
Tips Penggunaan Praktis

• Dua parameter utama yang perlu dioptimasi pada tahap


pemilihan model adalah jumlah iterasi atau jumlah model
dasar decision tree, dan jumlah maksimum fitur yang diambil
secara acak ketika akan membentuk cabang suatu simpul
• Parameter lain yang sering juga dioptimasi adalah maksimum
kedalaman pohon, dan learning rate
• Beberapa tips penggunan praktis lain dapat dilihat pada
https://scikit-learn.org/stable/modules/ensemble.html

15

XGBoost
XGBoost

• Selain scikit-learn, terdapat beberapa pustaka lain berbasis GBM yang


popular, yaitu:
 XGBoost
 LightGBM

• Salah satu ulasan tentang perbandingan kedua pustaka tersebut:


https://towardsdatascience.com/lightgbm-vs-xgboost-which-algorithm-win-
the-race-1ff7dd4917d

17

XGBoost

• XGBoost atau extreme gradient boosting adalah pustaka open-source


dengan kerangka kerja gradient boosting yang scalable, portable dan
distributed (Chen & Guestrin, 2016)
• Pustaka ini popular dan telah mendapatkan banyak perhatian sebagai
algoritma pilihan untuk banyak tim pemenang kompetisi pembelajaran
mesin
• Beberapa karakteristik dari XGBoost dapat dilihat dari beberapa aspek,
yaitu:
 Model
 Algoritma
 Sistem

18
XGBoost

• Aspek Model:

 Model dasar dapat dikembangkan berdasarkan fungsi loss yang


diregularisasi

∑ 𝐿 𝑡 ,𝐹 𝒙 + ℎ(𝒙 ) + ∑ Ω(ℎ )

 Model dasar dikembangkan berdasarkan information gain yang


diturunkan dari fungsi loss di atas. Nilai information gain
tersebut digunakan untuk memilih fitur dan ambang batas yang
optimal pada setiap pemisahan data pada simpul, seperti pada
CART standar

19

XGBoost

• Aspek Algoritma
 Sparse aware yang mengatasi nilai-nila yang hilang
secara otomatis
 Block structure untuk mendukung konstruksi pohon
secara parallel
 Continued training untuk lebih lanjut meningkatkan
kinerja model dengan data baru

20
XGBoost

• Aspek Sistem:
 Parallelization dalam konstruksi pohon dengan
menggunakan semua CPU
 Distributed computing untuk training model sangat besar
menggunakan kluster dari masing-masing
 Out-of-core computing untuk data sangat besar yang tidak
muat pada memori
 Cache optimization dari struktur data dan algoritma untuk
membuat penggunaan terbaik dari perangkat keras

21

Referensi

Lior Rokach. Ensemble Learning - Pattern Classification using Ensemble


Methods. World Scientific, 2019
Tianqi Chen and Carlos Guestrin. XGBoost: A Scalable Tree Boosting
System. Proceedings of the 22nd SCM SIGKDD International Conference
on Knowledge Discovery and Data Mining, pp. 785–794, 2016
18/02/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Clustering

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Pendahuluan
Masalah Unsupervised Learning

Diberikan data training {xn} , n = 1 to N

• Clustering
– Bertujuan mengelompokkan data
training

• Analisis Komponen
– Bertujuan mendeteksi komponen yang
ada pada data training

1
18/02/2021

Pendahuluan
Clustering

• Ada beberapa pendekatan untuk mengelompokkan suatu


himpunan data, antara lain:
– Centroid-based Clustering - mengelompokkan data berdasarkan
jarak ke pusat kelompok (centroid) , misal K-Means, Fuzzy C-Means
– Distribution-based Clustering – mengelompokkan data berdasarkan
kesamaan distribusi, misal Gaussian Mixture
– Connectivity-based Clustering – mengelompokkan data berdasarkan
konektivitas jarak, misal Hierarchical Clustering
– Density-based Clustering – mengelompokkan data berdasarkan
tingkat densitas, misal DBSCAN

Clustering

K-Means

2
18/02/2021

K-Means
Formulasi Masalah

Diberikan data training {xn}, n = 1 sd N


• Masalah:
Bagaimana mengelompokkan data
sedemikian sehingga data dalam
suatu kelompok adalah lebih
memiliki kesamaan dibandingkan
dengan data dalam kelompok
lainnya
• Metode:
Memilih pusat kelompok (centroid)
sehingga jarak antara data dan
pusat kelompok adalah minimal

K-Means
Formulasi Masalah

• Misal terdapat K kelompok dengan centroid adalah µk, k = 1 sd K


• Pada metode k-means, setiap data xn diasumsikan hanya menjadi
anggota dari kelompok terdekat. Sehingga, setiap data xn memiliki
suatu variabel idikator keanggotaan rnk є {0,1} dengan Σk rnk = 1,
dimana
1, 𝒙 anggota kelompok 𝑘
𝑟 =
0, 𝒙 bukan anggota kelompok 𝑘
• Maka jumlah jarak masing-masing data ke centroids dapat
dinyatakan sebagai:
𝐽= 𝑟 𝒙 −𝝁

3
18/02/2021

K-Means
Formulasi Masalah

• Sehingga, permasalah k-means clustering dapat diformulasikan


sebagai suatu masalah optimasi berkendala sebagai berikut :

min 𝐽= 𝑟 𝒙 −𝝁
,𝝁

𝑠. 𝑡. ∑ 𝑟 = 1, ∀𝑛
𝑟 ∈ 0,1

K-Means
Metode

• Salah satu metode yang sering digunakan untuk


menyelesaikan masalah optimasi berkedala tersebut adalah
alternating optimization, yaitu:
1. Menentukan rnk yang meminimumkan J dengan µk konstan
1, 𝑗𝑖𝑘𝑎 𝑘 = min 𝒙 − 𝝁
𝑟 =
0, 𝑙𝑎𝑖𝑛𝑛𝑦𝑎

2. Menentukan µk yang meminimumkan J dengan rnk konstan


dengan cara mencari =0
𝝁
∑ 𝑟 𝒙
𝝁 = , ∀𝑘
∑ 𝑟
8

4
18/02/2021

K-Means
Algoritma

1. Inisialisasi µk, misal secara acak


2. Hitung rnk, yaitu:

1, 𝑗𝑖𝑘𝑎 𝑘 = min 𝒙 − 𝝁
𝑟 =
0, 𝑙𝑎𝑖𝑛𝑛𝑦𝑎

3. Perbarui µk, yaitu:


∑ 𝑟 𝒙
𝝁 = , ∀𝑘
∑ 𝑟

4. Evaluasi kriteria konvergensi, misal perubahan parameter μk cukup


kecil. Jika kriteria konvergensi belum terpenuhi, maka kembali ke
langkah 2
9

K-Means
Contoh

• Diberikan data x = {1,2,3,6,7,8}, jika data tersebut dibuat menjadi dua


kelompok, tentukan pusat dan anggota dari masing-masing kelompok tsb
Jawab: misal, inisialisasi µ1=3 dan µ2=6
x µ1=3 µ2=6
– Iterasi 1
1 1 0
• r11=1, r21=1, r31=1, r41=0, r51=0, r61=0 --> µ1=2
2 1 0
• r12=0, r22=0, r32=0, r42=1, r52=1, r62=1 --> µ2=7
3 1 0
– Iterasi 2
6 0 1
• r11=1, r21=1, r31=1, r41=0, r51=0, r61=0 --> µ1=2
7 0 1
• r12=0, r22=0, r32=0, r42=1, r52=1, r62=1 --> µ2=7
8 0 1
– Karena µ1 dan µ2 konvergen, maka selesai
µ1=2 µ2=7

10

5
18/02/2021

K-Means
Evaluation

• Salah satu satuan ukuran untuk evaluasi hasil clustering adalah silhouette
coefficient (Rousseeuw, 1987)
– Silhouette coefficient didefinisikan untuk masing-masing data, yaitu
𝑏−𝑎
𝑠=
max(𝑎, 𝑏)
dimana a adalah jarak antara suatu data dan data lain pada kelompok
yang sama, dan b adalah jarak antara data tersebut dan semua data
anggota kelompok terdekat
– Silhouette coefficient untuk semua data training adalah rata-rata dari
silhouette coefficient untuk masing-masing data
– Semakin tinggi nilai silhouette coefficient maka akan semakin baik
kelompok yang dihasilkan

11

K-Means
Tips Penggunaan

• Jika tidak diberikan secara eksplisit, maka jumlah kelompok K


adalah parameter yang harus ditentukan pada tahap
pemilihan model (model selection)
• Pemilihan jumlah kelompok terbaik ini umumnya dilakukan
pada rentang 10 sampai 100 dengan interval 10, yaitu 10, 20,
30, …, 100

12

6
18/02/2021

Clustering

Fuzzy C-Means

Pendahuluan

• K-means mengelompokkan suatu data hanya pada satu


kelompok, yaitu kelompok yang memiliki centroid dengan
jarak terdekat dengan data tersebut
• Clustering yang mengelompokkan suatu data hanya pada satu
cluster dikenal juga dengan istilah hard clustering
• Pada beberapa aplikasi, suatu data diasumsikan dapat
dikelompokkan pada beberapa cluster dan masalah clustering
seperti ini dikenal juga dengan istilah soft clustering
• Salah satu metode soft clustering yang sering digunakan
adalah fuzzy C-means (Bezdek, 1981)

14

7
18/02/2021

Pendahuluan

• Pada dasarnya, metode fuzzy c-means mirip dengan metode


k-means dimana setiap kelompok direpresentasikan dengan
pusat kelompok atau centroid

• Perbedaan utama antara kedua metode tersebut adalah


bahwa k-means merupakan hard clustering dimana suatu data
hanya boleh menjadi anggota satu kelompok, sementara fuzzy
c-means adalah soft clustering dimana suatu data boleh
menjadi anggota beberapa kelompok

15

Fuzzy C-Means
Formulasi Masalah

• Diberikan himpunan data xn, n = 1 sd N


• Misal terdapat K kelompok dengan centroid adalah µk, k = 1 sd K
• Setiap data xn memiliki suatu variabel idikator keanggotaan
rnk є [0,1] yang menunjukkan derajat asosiasi xn ke kelompok k
• Maka jumlah jarak masing-masing data ke centroid dapat
dinyatakan sebagai:

𝐽= 𝑟 𝒙 −𝝁

dimana m > 1 merupakan fuzzification constant

16

8
18/02/2021

Fuzzy C-Means
Formulasi Masalah

• Sehingga, permasalah fuzzy c-means dapat diformulasikan sebagai


suatu masalah optimasi berkendala sebagai berikut :

min 𝐽 = 𝑟 𝒙 −𝝁
,𝝁

𝑠. 𝑡. ∑ 𝑟 = 1, ∀𝑛
𝑟 ∈ 0,1 , ∀𝑛, k

17

Fuzzy C-Means
Metode

• Salah satu metode yang sering digunakan untuk


menyelesaikan masalah optimasi berkedala tersebut adalah
alternating optimization, yaitu:
1. Menentukan rnk yang meminimumkan J dengan µk konstan

2. Menentukan µk yang meminimumkan J dengan rnk konstan

18

9
18/02/2021

Fuzzy C-Means
Metode

• Untuk menentukan nilai rnk dan µk tersebut dan karena masalah


fuzzy c-means dalam bentuk optimasi berkendala, maka kita dapat
menggunakan metode Lagrange
1. Pertama bentuk fungsi Lagrange L

2. Selesaikan = 0 dan =0
𝝁

3. Substitusikan sehingga diperoleh



𝒙 −𝝁
𝑟 = , ∀𝑛, 𝑘
𝒙 −𝝁
∑ 𝑟 𝒙
𝝁 = , ∀𝑘
∑ 𝑟

19

Fuzzy C-Means
Algoritma

1. Inisialisasi µk, misal secara acak


2. Hitung rnk, yaitu:

𝒙 𝝁
𝑟 = ∑ 𝒙 𝝁
, ∀𝑛, 𝑘

3. Perbarui µk, yaitu:


∑ 𝑟 𝒙
𝝁 = , ∀𝑘
∑ 𝑟
4. Evaluasi kriteria konvergensi, misal perubahan parameter μk
cukup kecil. Jika kriteria konvergensi belum terpenuhi, maka
kembali ke langkah 2
20

10
18/02/2021

Fuzzy C-Means
Evaluation

• Salah satu satuan ukuran untuk evaluasi hasil clustering adalah silhouette
coefficient (Rousseeuw, 1987)
– Silhouette coefficient didefinisikan untuk masing-masing data, yaitu
𝑏−𝑎
𝑠=
max(𝑎, 𝑏)
dimana a adalah jarak antara suatu data dan data lain pada kelompok
yang sama, dan b adalah jarak antara data tersebut dan semua data
anggota kelompok terdekat
– Silhouette coefficient untuk semua data training adalah rata-rata dari
silhouette coefficient untuk masing-masing data
– Semakin tinggi nilai silhouette coefficient maka akan semakin baik
kelompok yang dihasilkan

21

Fuzzy C-Means
Pemilihan Model

• Jika tidak diberikan secara eksplisit, parameter jumlah klaster K adalah


parameter yang harus ditentukan pada tahap pemilihan model (model
selection)
• Pemilihan parameter jumlah cluster terbaik ini umumnya dilakukan pada
rentang 10 sampai 100 dengan interval 10, yaitu 10, 20, 30, …, 100

22

11
18/02/2021

Referensi

• Bishop, C. H. (2006). Pattern Recognition and Machine Learning.


Springer (Bab 9)

• Bezdek, J. C. (1981). Pattern Recognition with Fuzzy Objective


Function Algorithms. Springer

• Rousseeuw, P. J. (1987). Silhouettes: a Graphical Aid to the


Interpretation and Validation of Cluster Analysis. Computational
and Applied Mathematics 20: 53–65

12
18/02/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Analisis Komponen

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Pendahuluan
Masalah Unsupervised Learning

Diberikan data training {xn} , n = 1 to N

• Clustering
– Bertujuan mengelompokkan data
training

• Analisis Komponen
– Bertujuan mendeteksi komponen yang
ada pada data training

1
18/02/2021

Pendahuluan
Analisis Komponen

• Terdapat beberapa metode yang dikembangkan untuk mendeteksi


komponen pada data training, yaitu:

 Principal Component Analysis (PCA)

 Independent Component Analysis (ICA)

 Latent Semantic Analysis (LSA)

 Nonnegative Matrix Factorization (NMF)

 Latent Dirichlet Allocation (LDA)

• Metode dasar dari LSA adalah matrix factorization, misal singular


value decomposition (SVD)
3

Analisis Komponen
Singular Value Decomposition

2
18/02/2021

Singular Value Decomposition


Definisi

• Singular value decomposition (SVD) dari matriks A  Rmxn


adalah menguraikan matriks A menjadi
A = U Σ VT
dimana U  Rmxm adalah suatu matriks orthogonal, Σ  Rmxn
adalah suatu matriks diagonal, dan V  Rnxn adalah suatu
matriks orthogonal. Σ memiliki nilai terurut turun, yaitu σ1 ≥
σ2 ≥ ... σp ≥ 0, p = min(m,n), yang dikenal sebagai nilai-nilai
singular

Singular Value Decomposition


Metode

• Salah satu metode untuk menyelesaikan masalah SVD adalah


menggunakan prinsip diagonalisasi matriks simetri (dekomposisi
spektral)
• Perhatikan persamaan berikut:
AAT = (U Σ VT) (U Σ VT)T = U Σ VT V ΣT UT = U ΣT Σ UT
• Berdasarkan prinsip diagonalisasi matriks simetri tersebut, maka
– Σ adalah matriks diagonal dengan nilai diagonal berupa akar
nilai eigen dari AAT yang disebut juga nilai singular
– U adalah matriks dengan vektor kolom berupa vektor eigen
satuan yang bersesuai dengan nilai eigen tersebut
– Karena A, Σ dan U diketahui, maka V dapat dicari
• Metode-metode implementasi SVD yang efisien dapat dilihat
pada [Golub, 2013]
6

3
18/02/2021

Singular Value Decomposition


Truncated SVD

• Salah satu karakteristik yang menjadi alasan pentingnya SVD dalam


banyak aplikasi adalah bahwa SVD memungkinkan untuk
mendapatkan matriks aproksimasi dengan ukuran jahu lebih kecil

• Misal diberikan suatu matriks A  Rmxn, maka matriks A dapat


diaproksimasi dengan matriks Ak, yaitu:
A ≈ Ak = Uk Σk VkT

dengan Uk  Rmxk, Σk  Rkxk , Vk  Rnxk dan k << min(m, n)

• Penguraian matriks A menjadi Uk, Σk, dan VkT dikenal juga sebagai
truncated SVD

Singular Value Decomposition


Truncated SVD

• Karena nilai singular σi diurutkan dari besar ke kecil, maka


selisih antara matriks A dan matriks aproksimasi Ak adalah
σk+1
• Diberikan SVD dari suatu matriks A  Rmxn. Jika k < rank(A) dan

𝐴 = 𝜎𝒖𝒗
maka

𝐴−𝐴 =𝜎

4
18/02/2021

Singular Value Decomposition


Contoh

• Dengan menggunakan truncated SVD, tentukan matriks


aproksimasi A1 dari matriks A berikut ini

1 1
𝐴= 0 1
1 0

Selanjutnya, tentukan jarak antara kedua matriks tersebut.

Singular Value Decomposition


Contoh

Jawab:
– SVD dari A adalah

6⁄3 0
30 2⁄2 2⁄2
𝐴 = 𝑈Σ𝑉 = 6⁄6− 2⁄2
01 2⁄2− 2⁄2
6⁄6 2⁄2

– Maka, matriks aproksimasi A1 adalah

6⁄3 1 1
𝐴 =𝑈 Σ 𝑉 = 6⁄6 3 2⁄2 2⁄2 = 1⁄21⁄2
6⁄6 1⁄21⁄2

– Selanjutnya, ||A – A1|| = 1 = σ2

10

5
18/02/2021

Analisis Komponen
Latent Semantic Analysis

Latent Semantic Analysis

• Misal matriks Amxn adalah matriks kata-dokumen, maka


komponen pada SVD diinterpretasikan sebagai latent
semantic dan masalah ini dikenal juga dengan latent
semantic indexing (LSI)

12

6
18/02/2021

Latent Semantic Analysis

• Selanjutnya, LSI diperluas untuk semua jenis data tidak hanya data
tekstual dan dikenal sebagai latent semantic analysis (LSA) [Dumais,
2005]

13

Latent Semantic Analysis

• Dalam penggunaannya, LSA umumnya dinyatakan hanya dengan dua


faktor

14

7
18/02/2021

Analisis Komponen
Sistem Rekomendasi

Pendahuluan
Sistem Rekomendasi

16

8
18/02/2021

Pendahuluan
Strategi

• Secara umum, suatu sistem rekomendasi menggunakan salah satu dari


dua strategi berikut ini, yaitu content filtering atau collaboartive filtering.
• Content filtering adalah rekomendasi berdasarkan profil untuk masing-
masing pengguna dan barang. Contoh profil film adalah genre, aktor,
popularitas, dll; Profil pengguna adalah informasi geografis, isian
kuisioner, dll.
– Profil-profil ini memungkinkan sistem untuk mengasosiasikan
pengguna dengan barang yang sesuai.
– Strategi berbasis konten ini membutuhkan informasi pengguna yang
boleh jadi susah untuk diperoleh
• Collaborative filtering adalah rekomendasi berdasarkan pada aktifitas
pengguna sebelumnya, misal transaksi sebelumnya atau pemberian rating
barang oleh pengguna
17

Pendahuluan
Collaborative Filtering

• Dua metode utama yang sering digunakan pada collaborative


filtering adalah nearest neighbors method dan matrix
factorization
• Ada dua cara untuk memprediksi rating pada metode nearest
neighbors, yaitu:
 Pendekatan berorientasi barang (item-oriented approach)
 Pendekatan berorientasi pengguna (user-oriented
approach).

18

9
18/02/2021

Pendahuluan
Collaborative Filtering

• Pada metode berorientasi barang, prediksi rating yang akan


diberikan oleh seorang pengguna kepada suatu barang
adalah berdasarkan rating yang diberikan oleh pengguna
tersebut kepada barang tetangga terdekat dari barang
tersebut

• Contoh: untuk film Saving Privat Ryan, maka film-film


tetangganya yang mungkin adalah film pertempuran, film
Spielberg, film Tom Hanks, dll.

19

Pendahuluan
Collaborative Filtering

• Pada metode berorientasi pengguna,


prediksi rating yang akan diberikan
oleh seorang pengguna kepada suatu
barang adalah berdasarkan rating yang
diberikan oleh pengguna tetangga
terdekat kepada barang tersebut.
• Contoh: Joe menyukai tiga film. Untuk
membuat rekomendasi bagi Joe,
sistem akan mencari pengguna yang
mirip dengan Joe yang juga menyukai
ketiga film tersebut, dan kemudian
menentukan film lain yang mereka
senangi. Pada contoh ini, ketiganya
senang dengan film Saving Private
Ryan, sehingga dijadikan rekomendasi
pertama, dst.
Sumber: [Koren, 2009]
20

10
18/02/2021

Matrix Factorization
Formulasi Masalah

Diberikan matriks R = [rij], yaitu


matriks rating pengguna j ke barang i
• Masalah:
Bagaimana memprediksi rating
pengguna j ke barang i yang
belum diketahui

• Metode:
Memproyeksikan pengguna dan
barang pada dimensi yang sama,
sehingga rating pengguna j ke
barang i yang belum diketahui
dapat ditentukan
21

Matrix Factorization
Metode

• Vektor baris dari matrik W adalah representasi barang dengan dimensi latent
semantics
• Vektor kolom dari matrik H adalah representasi pengguna dengan dimensi latent
semantics
• Dengan kata lain, pengguna dan barang direpresentasikan dengan dimensi yang
sama
• Sehingga, rating pengguna j ke barang i dapat diprediksi berdasarkan jarak
antara pengguna j dan barang i
22

11
18/02/2021

Matrix Factorization
Ilustrasi

• Misal, latent semantics adalah gender dan genre. Dari gambar,


kita dapat memprediksi bahwa Gus akan menyukai film Dumb
and Dumber, tapi tidak suka film The Color Purple

Sumber: [Koren, 2009] 23

Matrix Factorization
Metode Lanjut

• Biasanya matrik rating adalah matriks jarang (sparse),


karena seorang pengguna umumnya hanya memberikan
rating kepada sebagian kecil barang saja

• Sehingga, penggunaan metode SVD dilakukan dengan suatu


proses pra pengolahan, misal mengganti nilai rating yang
tidak diketahui dengan nol (imputasi) yang dapat
menyebabkan peningkatan jumlah data

• Untuk mengatasi masalah tersebut, metode matrix


factorization diformulasi ulang sehingga proses faktorisasi
hanya dilakukan pada rating yang diketahui saja

24

12
18/02/2021

Matrix Factorization
Metode Lanjut

• Diberikan matriks rating R = [rij] dengan nilai rating yang diketahui


adalah (i,j)T. Faktorisasi dari matriks R didefinisikan sebagai
berikut:
1
min 𝑟 −𝒘 𝒉
𝒘,𝒉 2
(, )

dimana wi adalah baris ke-i dari matrik W, dan hj adalah kolom


ke-j dari matriks H

• Bentuk regularisasi yang sering digunakan adalah:


1 𝜆
min 𝑟 −𝒘 𝒉 + 𝒘 + 𝒉
𝒘,𝒉 2 2
(, )

25

Matrix Factorization
Metode Lanjut

• Beberapa metode telah dikembangkan untuk menyelesaikan


masalah matrix factorization tersebut, yaitu:

 Gradient Descent

 Alternating Least Squares

 Probabilistic Matrix Factorization

 Maximum-Margin Matrix Factorization

26

13
18/02/2021

Matrix Factorization
Pustaka Python

• Beberapa pustaka berbasis Python untuk recommender


system adalah:

 Surprise (http://surpriselib.com/)

 Crab (https://muricoca.github.io/crab/)

27

Referensi

Golub, G. H., C. F. V. Loan (2013). Matrix Computation. The Johns Hopkins


University Press
Dumais, S. T. (2005). Latent Semantic Analysis. Annual Review of Information
Science and Technology, vol. 38, pp. 188–230
Koren, Y., Bell, R., Volinsky, C. (2009). Matrix Factorization Techniques for
Recommender Systems, Computer, vol. 42, no. 8, pp. 30-37

28

14
18/02/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Studi Kasus
Ilmu Data untuk Industri Asuransi

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Pendahuluan
Industri Asuransi

• Prediksi Klaim
 Porto Seguro: pemegang polis asuransi kendaraan mengajukan klaim atau tidak
(https://www.kaggle.com/c/porto-seguro-safe-driver-prediction)

• Prediksi Severitas Klaim


 Allstate: nilai klaim asuransi cedera tubuh pemegang polis asuransi kendaraan
(https://www.kaggle.com/c/allstate-claims-severity)

• Prediksi Nilai Kerugian Kebakaran


 Liberty Mutual Insurance: nilai pertanggungan asuransi kebakaran
(https://www.kaggle.com/c/liberty-mutual-fire-peril)

• Prediksi Level Risiko


 Prudential: kategori risiko yang terdiri dari 8 level untuk asuransi jiwa
(https://www.kaggle.com/c/prudential-life-insurance-assessment)

1
18/02/2021

Pendahuluan
Publikasi

1. Mathias Bartl, Simone Krummaker. Prediction of Claims in Export Credit


Finance – A Comparison of Four Machine Learning Techniques. Risks, Vol. 8,
No. 22, 2020
2. Alex Diana, Jim E. Griffin, Jaideef Oberoi, Ji Yao. Machine Learning Methods
for Insurance Applications – A Survey. Society of Actuaries, 2019
3. Roel Henckaerts, Marie-Pier Côté, Katrien Antonio, Roel Verbelen. Boosting
Insights in Insurance Tariff Plans with Tree-based Machine Learning Methods,
arXiv:1904.10890v2 [stat.AP]
4. Liqun Diao, Chengguo Weng. Regression Tree Credibility Model. North
American Actuarial Journal, Vol. 23, No. 2, 2019
5. Yi Yang, Wei Qian, Hui Zou. Insurance Premium Prediction via Gradient Tree-
Boosted Tweedie Compound Poisson Models. Journal of Business & Economic
Statistics, Vol. 36, No. 3, 2018
6. Simon C. K. Lee, Sheldon Lin. Delta Boosting Machine with Application to
General Insurance. North American Actuarial Journal, Vol. 22, No. 3, 2018
3

Pendahuluan
Publikasi

1. Rusdah, D.A., Murfi, H. (2020) XGBoost in Handling Missing Values for Life
Insurance Risk Prediction. SN Applied Science, vol. 2, no. 1336.

2. Gede Pajar Bahari, I., & Murfi, H. (2020). Hyperparameter Optimization in


XGBoost for Insurance Claim Prediction. Journal of Advanced Research in
Dynamical and Control Systems, 12(4 Special Issue), 1510-1517.

3. Dewi, K. C., Murfi, H., & Abdullah, S. (2019). Analysis Accuracy of Random
Forest Model for Big Data - A Case Study of Claim Severity Prediction in Car
Insurance. in Proceeding of 2019 5th International Conference on Science in
Information Technology: Embracing Industry 4.0: Towards Innovation in Cyber
Physical System, ICSITech 2019, 60-65

4. Fauzan, M. A., Murfi, H. (2018) The Accuracy of XGBoost for Insurance Claim
Prediction. International Journal of Advances in Soft Computing and its
Applications, vol. 10, no. 2, pp.159-171

2
18/02/2021

Model Linear

Ilmu Data untuk Industria Asuransi

Prediksi Klaim Asuransi

Prediksi Klaim

• Memprediksi apakah calon pemegang polis akan mengajukan klaim


merupakan proses yang penting dalam industri asuransi karena
dengannya perusahaan asuransi dapat menyiapkan jenis polis
asuransi yang tepat untuk setiap calon pemegang polis

• Ketidakakuratan pada masalah prediksi klaim ini dapat menaikan


harga polis untuk calon pemegang polis yang baik atau mengurangi
harga polis untuk calon pemegang polis yang tidak baik

• Kemampuan prediksi yang lebih akurat memungkinkan industri


asuransi untuk lebih menyesuaikan harga, dan membuat cakupan
asuransi lebih mudah diakses oleh lebih banyak calon pemegang
polis
6

3
18/02/2021

Prediksi Klaim

• Secara umum, masalah prediksi klaim (claim prediction) dapat


berupa masalah:

 Klasifikasi, yaitu memprediksi apakah calon pemegang polis


akan mengajukan klaim atau tidak

 Regresi, yaitu memprediksi nilai klaim (severitas) calon


pemegang polis

Alur Proses
Data Science

Data Science Process by Joe Blitzstein and Hanspeter Pfister 8

4
18/02/2021

ASK the question

• Seberapa akurat model machine learning menyelesaikan


masalah prediksi klaim pada industri asuransi ?

GET the data


Dataset

Dataset Keterangan

Porto Seguro Dataset pemegang polis asuransi kendaraan pada


perusahaan asuransi Porto Seguro yang mengajukan
klaim dan tidak mengajukan klaim

10

5
18/02/2021

GET the data


Memuat Data

• Dataset disimpan dalam file dengan format csv

11

EXPLORE the data


Menampilkan Contoh Data

• Untuk lebih memahami data, kita dapat menampilkan beberapa


contoh data beserta labelnya

12

6
18/02/2021

EXPLORE the data


Menampilkan Informasi Data

• Untuk mengetahui jumlah data, jumlah fitur, dan jenis fitur seperti
numerik atau non numerik (kategorik)

13

EXPLORE the data


Mengecek Missing Values

• Kita perlu mengecek apakah pada data terdapat missing values. Jika
pada suatu data terdapat missing values maka kita harus melakukan
proses pra pengolahan sehingga data tersebut dapat di fitting oleh
model. Jika suatu fitur memiliki missing values terlalu banyak, misal
lebih dari 60%, maka fitur tersebut umumnya dibuang

14

7
18/02/2021

EXPLORE the data


Mengecek Imbalanced Data

• Kita perlu mengecek apakah data


seimbang (balance) atau tidak
untuk masing-masing kelas
• Jika terjadi ketidakseimbangan
data, maka kita perlu mengecek
akurasi untuk masing-masing kelas,
bukan hanya akurasi total semua
kelas. Karena bias jadi akurasi total
tersebut didominasi oleh hanya
satu kelas saja
• Secara umum, data kelas yang
tidak seimbang perlu dilakukan
proses penyeimbangan (balancing)
15

EXPLORE the data


Menampilkan Deskripsi Data

• Untuk mengetahui karakteristik nilai masing-masing fitur, kita dapat


menampilkan deskripsi dari dataset

16

8
18/02/2021

MODEL the data


Alur Proses Machine Learning

17

MODEL the data


Pra Pengolahan: Missing Values

• Karena terdapat missing values pada beberapa fitur, maka harus dilakukan
proses imputasi pada fitur tersebut.
• Terdapat beberapa teknik imputasi yang telah dikembangkan, dan pada
simulasi ini akan menggunakan metode sebagai berikut:
 Jika jumlah missing values pada suatu fitur lebih dari 60%, maka fitur
tersebut dibuang
 Missing values pada fitur dengan tipe data riil, maka missing values
tersebut diganti dengan rata-rata (mean) dari non missing values
 Missing values pada fitur dengan tipe data bulat, maka missing values
tersebut diganti dengan modus (most frequent) dari non missing
values

18

9
18/02/2021

MODEL the data


Pra Pengolahan: Missing Values

19

MODEL the data


Pra Pengolahan

• Beberapa fitur memiliki nilai maksimum dan minimum yang


cukup bervariasi, maka kita perlu melakukan proses
standarisasi nilai fitur, misal normalisasi data dengan
perintah StandardScaler()
• Beberapa fitur bertipe data kategorik, sehingga kita perlu
mentransformasi fitur tersebut dimana masing-masing
kategori menjadi fitur baru dengan tipe biner, missal
menggunakan OneHotEncoder()

20

10
18/02/2021

MODEL the data


Pra Pengolahan

21

MODEL the data


Pemilihan Model

• Training atau fitting adalah tahapan penentuan nilai parameter


bobot dan bias dari suatu model berdasarkan data training

• Pada beberapa model, terdapat parameter lain yang harus


ditentukan dahulu sebelum proses training, misal parameter
regularisasi λ pada model regresi Ridge

• Tahap pemilihan nilai optimal dari parameter di luar parameter


bobot dan bias tersebut dikenal juga dengan tahap pemilihan
model (model selection)

22

11
18/02/2021

MODEL the data


Pemilihan Model: Metode

• Metode yang umum digunakan pada tahap pemilihan model


adalah metode heuristik, yaitu:

– Mencoba satu persatu nilai yang mungkin untuk semua


parameter

– Nilai parameter yang membuat model memberikan nilai


akurasi terbaik dipilih sebagai nilai parameter akhir

– Metode ini dikenal juga sebagai grid search

23

MODEL the data


Pemilihan Model: Validasi

• Metode holdout membagi sejumlah data untuk fitting dan


menggunakan sisanya untuk validasi

– Umumnya: sepertiga untuk validasi, sisanya untuk fitting

• Masalah: sample-sample tsb boleh jadi tidak representatif

– Contoh: suatu kelas bisa jadi tidak ada pada data validasi

• Solusi: menggunakan metode stratification

– Menjamin bahwa masing-masing kelas direpresentasikan


dengan proporsi hampir sama pada kedua bagian data
24

12
18/02/2021

MODEL the data


Pemilihan Model: Validasi

• Metode holdout dapat dibuat lebih handal dengan mengulang


proses untuk subsampel yang berbeda

– Pada setiap iterasi, suatu proporsi tertentu dipilih secara acak


untuk data fitting dan data validasi

– Kinerja pada setiap iterasi dirata-rata untuk mendapatkan


estimasi kinerja total

• Metode ini disebut repeated holdout

• Masih mungkin tidak optimal: kemungkinan terjadi tumpang tindih


pada data validasi pada masing-masing iterasi
25

MODEL the data


Pemilihan Model: Validasi

• Metode cross-validation akan menghindari tumpang tindih pada data


validasi
– Tahap 1: bagi data menjadi k bagian dengan ukuran yang sama
– Tahap 2: gunakan satu bagian untuk validasi, sisanya sebagai
training
– Tahap 3: ulang sebanyak k iterasi, sehingga semua bagian menjadi
data validasi
• Metode seperti ini dikenal sebagai k-fold cross validation. Biasanya
digunakan juga metode stratification pada pembagian data
• Akurasi setiap iterasi dirata-rata untuk mendapatkan estimasi akurasi
akhir model

26

13
18/02/2021

MODEL the data


Pemilihan Model: Validasi

• Metode standar untuk evaluasi adalah 10-fold cross-validation

• Kenapa 10 ?

– Banyak hasil eksperiment menunjukan bahwa nilai ini adalah


pilihan terbaik untuk mendapatkan estimasi yang akurat

– Ada juga beberapa bukti teoritis untuk ini

• Proses stratification akan mereduksi variansi estimasi

• 3-fold, 5-fold atau 20-fold sering juga memberikan hasil yang


hampir sama
27

MODEL the data


Pemilihan Model: Validasi

• Leave-One -Out adalah bentuk khusus dari cross-validation,


yaitu jumlah fold sama dengan jumlah data training

• Tidak ada proses acak dalam menentukan subsampel

• Membutuhkan biaya komputasi yang sangat mahal

• Diutamakan untuk data yang sangat kecil

28

14
18/02/2021

MODEL the data


Pemilihan Model: Implementasi

• Implementasi pemilihan model dapat menggunakan perintah


GridSearchCV(), yaitu kombinasi antara metode grid search dan
cross validation

29

MODEL the data


Evaluasi Model

• Model yang terbentuk dapat diestimasi akurasinya dengan


menggunakan rata-rata akurasi pada data validasi

• Satuan ukuran akurasi yang umum digunakan untuk masalah


klasifikasi adalah tingkat kesuksesan (success rate)

– Sukses: kelas suatu data diprediksi dengan benar

– Gagal/Error: kelas suatu data dipredikasi dengan tidak benar

– Success rate: proporsi kesuksesan terhadap semua data

30

15
18/02/2021

MODEL the data


Evaluasi Model

• Selanjutnya, nilai akurasi


dapat divisualkan secara
grafis, misal menggunakan bar
chart
• Dari bar chart terlihat bahwa
model memberikan nilai
akurasi yang sangat baik,
sekitar 96%

31

MODEL the data


Evaluasi Model

• Akurasi model dapat dilihat secara lebih terperinci untuk setiap


kelas dengan menggunakan confusion matrix:

Predicted class
Yes No
Actual class Yes True positive False negative
No False positive True negative

 Precision(Yes) = TP / (TP + FP)


Precision(No) = FN / (FN + TN)
 Recall(Yes) = TP / (TP + FN)
Recall(No) = TN / (FN + TN)
 F-Measure = (2 x Precision x Recall) / (Precision + Recall)
32

16
18/02/2021

MODEL the data


Evaluasi Model

• Karena jumlah data tidak seimbang antara dua kelas, maka kita
perlu melihat secara lebih rinci akurasi dari masing-masing
kelas, misal menggunakan classification_report()
• Kita dapat melihat bahwa model hanya dapat memprediksi
dengan baik untuk data dengan kelas “tidak mengajukan klaim”
(0). Sehingga, kita perlu melakukan proses penyeimbangan data
kelas

33

MODEL the data


Pemilihan Model dengan Class Balancing

• Pada scikit-learn, modul DecisionTreeClassifier() dilengkapi


parameter untuk class balancing, yaitu class_weight =
‘balanced’

34

17
18/02/2021

MODEL the data


Evaluasi Model

• Dari hasil ini terlihat bahwa kelas claim sudah dapat diprediksi dan
memberikan nilai recall yang setara dengan kelas no

35

Model Lanjut

• Karena nilai akurasi masih rendah, maka salah satu alternatif


untuk meningkatkan akurasi tersebut adalah menggunakan
model-model lanjut, seperti:
 Gradient Boosted Decision Tree
 XGBoost
 dll

36

18
18/02/2021

Model Lanjut
(Repeated) Holdout

• Untuk data besar, model-model lanjut umumnya


menggunakan (repeated) holdout daripada cross validation
karena kompleksitas dari model-model lanjut tersebut

37

Model Lanjut
GBDT

• Salah satu cara yang umum digunakan untuk mengatasi


masalah imbalanced data pada GradientBoostingClassifier()
menggunakan computer_sample_weight()

38

19
18/02/2021

Model Lanjut
GBDT

39

Model Lanjut
XGBoost

• Salah satu keistimewaan XGBoost adalah sparse aware, sehingga data


dengan missing values tidak perlu dilakukan proses imputasi
• Cara yang umum digunakan untuk mengatasi masalah imbalanced data
pada XGBoost menggunakan scale_pos_weight, yaitu perbandingan
jumlah kelas negatif dan positif

40

20
18/02/2021

Model Lanjut
XGBoost

XGBoost (scale_pos_weight = #0/#1)


CART dan GBDT

XGBoost (scale_pos_weight = sqrt())

41

Model Lanjut
Pra Pengolahan

• Teknik dan strategi pra pengolahan sering menjadi tahapan


penting supaya model-model lanjut dapat memberikan hasil
terbaik

• Masalah pra pengolahan tersebut seperti penanganan fitur


dengan tipe data numerik dan kategorik, missing values,
normalisasi target dengan tipe data numerik, dll

• Salah satu contoh pra pengolahan pada Google AI & Machine


Learning dapat dilihat pada
https://cloud.google.com/ai-platform/training/docs/algorithms/xgboost#examples

42

21
18/02/2021

Model Lanjut
Hyperparameter Tuning

• Model-model lanjut umum memiliki jumlah parameter yang


banyak (hyperparameter), sehingga optimasi nilai parameter
ini, dikenal juga dengan istilah hyperparameter tuning,
menjadi hal yang krusial untuk mendapat model optimal

• Beberapa teknik hyperparameter tuning untuk model-model


lanjut, antara lain
 (Partial) Grid Search
 Random Search
 Bayesian Search

43

22
20/04/2021

SCMA801204 - Pembelajaran Mesin Lanjut

Representation Learning

Dr. rer. nat. Hendri Murfi

Machine Learning Group


Departemen Matematika, Universitas Indonesia – Depok 16424
Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@sci.ui.ac.id

Pendahuluan

• Data direpresentasikan dalam suatu himpunan fitur dan nilainya


yang menjadi ciri dari data tersebut

• Representasi data mejadi sangat penting untuk efisiensi dan


akurasi

• Secara umum, terdapat dua pendekatan representation learning,


yaitu:

 Pemilihan fitur (feature selection)

 Reduksi dimensi (dimension reduction)

1
20/04/2021

Pemilihan Fitur

Pemilihan Fitur

• Pemilihan fitur adalah proses penentuan fitur yang paling sesuai


untuk merepresentasikan data

• Fitur atau ciri dari data tersebut akan menjadi pembeda antar
data satu dengan lainnya

• Sehingga, jika data direpresentasikan dengan fitur atau ciri yang


sesuai maka akurasi akan menjadi semakin baik

• Selain itu, jika jumlah fitur semakin sedikit maka kinerja akan
semakin baik pada data berdimensi sangat tinggi

2
20/04/2021

Pemilihan Fitur
Variansi

• Metode pemilihan fitur yang paling sederhana dan sering


dijadikan sebagai baseline adalah metode pemilihan fitur
berdasarkan nilai variansi, yaitu membuang semua fitur dengan
variansi yang tidak memenuhi suatu ambang batas tertentu

• Jika tidak diberikan nilai ambang batas, metode ini membuang


semua fitur dengan variansi nol, yaitu fitur-fitur yang memiliki
nilai sama untuk semua sampel

from sklearn.feature_selection import VarianceThreshold

Pemilihan Fitur
Scoring

• Metode pemilihan fitur berdasarkan suatu fungsi skor tertentu, misal


Chi kuadrat-test dan F-test untuk mengukur ketergantungan linear
antara dua variabel acak, dalam hal ini adalah suatu fitur dan
target/label

 SelectKBest memilih fitur-fitur dengan k skor tertinggi

 SelectPercentile memilih fitur-fitur dengan persentasi tertinggi

from sklearn.feature_selection import SelectKBest


from sklearn.feature_selection import SelectPercentile
6

3
20/04/2021

Pemilihan Fitur
Scoring

• Beberapa fungsi skor yang lain

 One-Dimensional Naïve Bayes

Salma D.F., Murfi H., Sarwinda D. (2019) The Performance of One-


Dimensional Naïve Bayes Classifier for Feature Selection in
Predicting Prospective Car Insurance Buyers. In: Tan Y., Shi Y. (eds)
Data Mining and Big Data. DMBD 2019. Communications in
Computer and Information Science, vol 1071. Springer, Singapore

Pemilihan Fitur
Scoring

• Beberapa fungsi skor yang lain

 Gram-Schmidt Orthogonalization

Yuni Rosita Dewi, Hendri Murfi, and Yudi Satri, "Gram-Schmidt


Orthogonalization for Feature Ranking and Selection — A Case
Study of Claim Prediction," International Journal of Machine
Learning and Computing vol. 10, no. 1, pp. 57-62, 2020

4
20/04/2021

Reduksi Dimensi

Reduksi Dimensi
Formulasi Masalah

• Diberikan himpunan data


{xn}, n = 1 sd N.
• Permasalahan : bagaimana
mendapatkan komponen
dari data sedemikian
sehingga komponen tersebut
dapat menjadi basis dari
ruang untuk
memproyeksikan data

10

5
20/04/2021

Latent Semantic Analysis

• Salah satu metode untuk masalah reduksi dimensi adalah latent


semantic analysis (LSA) dengan metode dasar truncated singular value
decomposition (truncated SVD)

11

Latent Semantic Analysis


Reduksi Dimensi

• Pada LSA, matriks H dapat dipandang sebagai matriks data dengan


dimensi lebih kecil (k << m), yaitu sebanyak latent semantics
• Sehingga, LSA dapat digunakan untuk masalah reduksi dimensi

12

6
20/04/2021

Latent Semantic Analysis


Implementasi: Scikit-Learn

import numpy as np
from sklearn.decomposition import TruncatedSVD

# X berdimensi n x m, n data dan m fitur


# X teridiri 2 data dengan 3 fitur
X = np.array([[1,0,1],[1,1,0]])

svd = TruncatedSVD(n_components=1).fit(X)
U = svd.components_
SV = svd.transform(X)

print "U : %s" %U


print "SV : %s" %SV

U : [[ 0.81649658 0.40824829 0.40824829]]


SV : [[ 1.22474487]
[ 1.22474487]]
13

Deep Autoencoder
Arsitektur

• Deep autoencoder adalah neural networks dengan beberapa lapisan


fully-connected yang digunakan untuk mempelajari representasi data
dengan dimensi lebih kecil (dimension reduction)

14

7
20/04/2021

Deep Autoencoder
Arsitektur

• Deep Autoencoder merupakan


perluasan dari arsitektur multi-layer
perceptron (encoder) dengan
inversnya (decoder), sehingga output
dari deep autoencoder sama dengan
inputnya
• Lapisan code umumnya memiliki
dimensi lebih rendah dibandingkan
lapisan input, sehingga deep
autoencoder dapat digunakan untuk
mereduksi dimensi atau penyaringan
noise dari data
• Setelah terbentuk, pereduksian
dimensi data dilakukan oleh encoder,
sementara deconder digunakan untuk
mengembalikan data ke dimensi awal
15

Deep Autoencoder
Tips Penggunaan

• Beberapa parameter yang sering dioptimasi pada deep


autoencoder adalah
 Jumlah lapisan tersembunyi
 Jumlah neuron pada lapisan tersembunyi
 Dimensi dari data tereduksi (code)

16

8
20/04/2021

Deep Autoencoder
Implementasi: Keras

17

Referensi

Dumais, S. T. (2005). Latent Semantic Analysis. Annual Review of


Information Science and Technology, vol. 38, pp. 188–230

Ian Goodfellow, Yoshua Bengio, Aaron Courville, (2016). Deep Learning. MIT
Press

18

Anda mungkin juga menyukai