• Tidak ada hasil yang ditemukan

Course: Machine Learning | Dr. rer. nat. Hendri Murfi 9 SVM untuk Ranking

N/A
N/A
Protected

Academic year: 2017

Membagikan "Course: Machine Learning | Dr. rer. nat. Hendri Murfi 9 SVM untuk Ranking"

Copied!
21
0
0

Teks penuh

(1)

SVM untuk Ranking

Departemen Matematika, Universitas Indonesia – Depok 16424

Dr. rer. nat. Hendri Murfi

Intelligent Data Analysis (IDA) Group

Intelligent Data Analysis (IDA) Group

Telp. +62-21-7862719/7863439, Fax. +62-21-7863439, Email. hendri@ui.ac.id MMA10991 Topik Khusus - Machine Learning

2

Model Linear

• Model dasar yang akan digunakan adalah model linear, yaitu model yang merupakan kombinasi linear dari fungsi basis, yaitu:

Dimana x = (x1, x2, ..., xD)T adalah variabel input, dan w = (w

0, w1, ..., wD) T

adalah parameter, φ(x) adalah fungsi basis, M adalah jumlah fungsi basis

• Pada banyak metode φ0(x) = 1, sehingga w0 berfungsi sebagai bias

(2)

3

Model linear memiliki sifat-sifat yang penting baik dari aspek

komputasi maupun analitik. Penggunaan model linear dengan

pendekatan parametrik pada metode klasik memiliki keterbatasan

pada aplikasi praktis disebabkan oleh kutukan dimensi

(curse of

dimensionality)

untuk model beorde M, maka pertumbuhan jumlah parameter w

proposional dengan D

M

Model Linear

Kutukan Dimensi

4 4 Solusi Praktis

Untuk menerapkan metode ini pada masalah skala besar, pendekatan

umum yang dilakukan adalah membuat fungsi basis dapat beradaptasi

dengan data pembelajaran, dan mengeset data pembelajaran tersebut

sebagai pusat fungsi basis. Selanjutnya, memilih sebagian dari data

pembelajaran tersebut selama proses training (nonparametrik).

Dasarnya adalah bahwa data real biasanya memiliki sifat mulus,

artinya perubahan sedikit pada data input hanya akan memberikan

sedikit perubahan pada output

Penggunaan fungsi kernel sebagai fungsi basis adalah salah satu

contoh pendekatan seperti ini yang banyak digunakan saat ini.

(3)

5

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 dari ruang input ke ruang

fitur

Dengan kata lain, fungsi kernel adalah fungsi perkalian dalam

(

inner product

) pada ruang fitur.

Fungsi Kernel: Definisi

Metode Kernel

6 • Salah satu contoh fungsi kernel yang banyak digunakan adalah fungsi

Gaussian, yaitu:

k(x,x') = exp(-||x-x'||2 / 2σ2)

dimana x' adalah „inti“ yang biasanya dipilih dari data pembelajaran.

• Misal untuk data x=5 dengan target t=0.04, maka data tsb dapat digambarkan dengan fungsi basis sbb:

y(x) = 0.04 * exp(-||x-5||2 / 2σ2)

(4)

Fungsi Kernel: Keuntungan

• Fungsi kernel memungkinkan kita untuk mengimplementasikan suatu model pada ruang dimensi lebih tinggi (ruang fitur) tanpa harus mendefinisikan fungsi pemetaan dari ruang input ke ruang fitur

• Sehingga, untuk kasus yang non-linearly separable pada ruang input, diharapkan akan menjadi linearly separable pada ruang fitur

• Selanjutnya, kita dapat menggunakan hyperplane sebagai decision boundary secara efisien

7

Metode Kernel

Metode Kernel

Secara umum, ada dua cara penggunaan metode kernel

pada

machine learning

, yaitu:

Penggunaan langsung, yaitu fungsi kernel digunakan

sebagai fungsi basis dari model machine learning

tersebut, contoh:

radial basis function

Penggunaan tidak langsung melalui

kernel trick

, yaitu

merepresentasikan suatu model ke dalam representasi

dual yang mengandung

inner product

dari fungsi

pemetaan, contoh:

support vector machine

,

kernel

linear regression

,

kernel Perceptron

,

kernel PCA

, dll

(5)

9 Klasifikasi dan Regresi

Support Vector Machine

9

Klasifikasi

tn bernilai diskrit (kelas) berhingga tidak terurut (skala nominal)

– Permasalahan: menentukan

decision boundary yang dapat mengklasifikasi data dengan benar

Regresi

ti bernilai kontinu (bilangan real)

– Permasalahan: menentukan fungsi regresi yang dapat memprediksi nilai data dengan benar

Diberikan data pembelajaran {x

– Terdapat urutan diantara elemen tn (skala ordinal) seperti regresi

– Permasalahan: menentukan fungsi regresi ordinal yang dapat mengklasifikasikan data dengan benar

Diberikan data pembelajaran {x

(6)

11 Ranking

Support Vector Machine

11

Ranking

tn bernilai real yang menyatakan urutan (ranking) dari data

– Permasalahan: menentukan fungsi ranking yang dapat mengurutkan data dengan benar

Diberikan data pembelajaran {x

n, tn}, n = 1 sd N

12 Learning to Rank

12Learning to Rank adalah suatu bidang penelitian yang bertujuan membangun

fungsi ranking dengan mengunakan machine learning

• Misal xi adalah suatu item/dokumen, qj adalah suatu query, f adalah suatu fungsi ranking, maka Learning to Rank dapat diilustrasikan sbb:

(7)

13 Bentuk Umum

Model linear yang akan digunakan sebagai fungsi regresi ordinal

memiliki bentuk umum sbb:

y(

x

) =

w

T

φ

(

x

)

dimana

x

adalah vektor input,

w

adalah parameter bobot, dan

φ

(

x

)

adalah fungsi pemetaan

SVM untuk Ranking

14 Formulasi Masalah

• Diberikan data pembelajaran {x(qk,dn), t}, dimana x(qk,dn) ϵ RD adalah

suatu vektor dimana dimensi/fitur merupakan parameter-parameter kemiripan antara query qk ϵ RS, k=1..K dan item/dokumen d

nϵ R

S, n=1..N,

dan tϵ {r1, r2, ..., rP} adalah suatu skala ordinal.

SVM untuk Ranking

• Permasalahan adalah menentukan fungsi y(x) sedemikian sehingga untuk sembarang pasangan data training (xi , ti) dan (xj , tj) maka

y(xi) > y(xj) <==> ti > tj

Contoh: Diberikan data training (x1, 4), (x2, 3), (x3, 2), (x4, 1), maka

(8)

15 Formulasi Masalah

• Misal Pk adalah himpunan dari pasangan (i,j) untuk suatu query

qk, dimana xi memiliki ranking yang lebih tinggi dari xj:

Pk = {(i,j) : ti > tj}

Contoh: dari contoh sebelumnya, maka P1 = {(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)}

SVM untuk Ranking

16 Formulasi Masalah

• Maka penentuan fungsi y(x) harus memenuhi kondisi berikut ini:

∀ i , j ∈P1 :wTxq1,di wT xq1,dj ∀ i , j ∈ P2 :wTxq2,di w

T

xq2,dj ⋮

(9)

• Asumsikan semua data dapat di ranking dengan benar (linearly rankable), maka jarak antara proyeksi dua data x(qk, di) dan x(qk, dj) pada w adalah:

• Margin (δi) adalah jarak terdekat dari proyeksi dua data training pada vektor bobot w. Sehingga, memaksimumkan margin dapat dideskripsikan sbb:

arg max

w

{ 1 ∥wmini , j

[wTxqk, di−xqk, dj]}

wTxqk, di−xqk, dj ∥w

17 Formulasi Masalah

SVM untuk Ranking

18 Formulasi Masalah

wTxqk, di−xqk, dj =1

wTxqk, di−xqk, dj 1 •

(10)

19

• Pada formulasi sebelumnya, semua data diasumsikan linearly rankable pada ruang fitur φ(x).

• Dalam aplikasi praktis, kondisi tersebut sering tidak dapat terpenuhi bahkan setelah data di transformasi ke ruang fitur φ(x).

• Masalah ini diatasi dengan membuat margin lunak (soft margin) yang memungkinkan beberapa data pada „urutan yang salah“

(11)

21 Soft Margin: Formulasi Masalah

• Untuk merealisasikan soft margin ini, diperkenalkan variabel slack, ξijk≥ 0 untuk masing-masing pasangan data pembelajaran

• Variabel slack tersebut bernilai

• Sehingga, ξijk = 0 adalah pasangan data yang terletak pada margin, 0 < ξijk ≤ 1 adalah pasangan data yang terletak didalam margin, dan ξijk > 1 adalah pasangan data yang salah ranking

∀ i , j ∈Pk :wT[xqk, di−wTxqk, dj] =1−ijk

SVM untuk Ranking

22 Soft Margin: Formulasi Masalah

y( )

(12)

23 • Masalah optimisasi diatas tampak ekivalen dengan masalah optimisasi dari

SVM untuk klasifikasi, dimana setiap vektor diganti dengan pasangan vektor jarak [φ(x(qk,di)) - φ(x(qk,dk))]. Sehingga penyelesaian masalah optimasi ini dapat mengadaptasi pendekatan yang digunakan oleh SVM untuk klasifikasi

Solusi Masalah: Lagrange Multipliers

SVM untuk Ranking

24

Misal diberikan himpunan data

{

x

(

q

new,

d

1

),

x

(

q

new,

d

2

), ...,

x

(

q

new,

d

N

)}

, maka ranking dari data tersebut ditentukan

berdasarkan fungsi ranking

y(

x

)

, yaitu:

x

i

x

j

jika y(

x

i

) > y(

x

j

)

dimana

didefiniskan „memiliki ranking yang lebih tinggi“

Prediksi Data Baru

(13)

25

Ada beberapa algoritma dan perangkat lunak yang telah

dikembangkan untuk memecahkan masalah optimasi pada

SVM untuk Ranking, antara lain:

SVM

light

[1][2] (

http://svmlight.joachims.org

)

SVM

rank

[3] (

http://svmlight.joachims.org

)

Algoritma & Perangkat Lunak

SVM untuk Ranking

26

Information Retrieval

untuk meranking dokumen/web yang

relevan dengan suatu query yang diberikan oleh pengguna

Machine Translation

untuk meranking sekumpulan hipotesis

translasi

Computational Biology

untuk meranking kandidat struktur

3-D dari suatu protein

Recommender System

untuk meranking artikel berita terkait

dengan berita yang sedang dibaca oleh pengguna

Aplikasi

(14)

27 Learning to Rank for Information Retrieval

SVM untuk Ranking

27

Contoh arsitektur dari suatu machine-learned search engine (sumber: www.wikipedia.org)

28

• Salah satu data training yang sering digunakan adalah LETOR, yaitu koleksi data yang diorganisasi oleh Microsoft yang menyimpan penentuan relevansi web terhadap query yang diberikan oleh

pengguna pada mesin pencari Microsoft Bing (http://www.bing.com)

• Pada contoh kasus ini akan digunakan data LETOR 4.0 MQ2008 (http://research.microsoft.com/users/LETOR/)

Data Training

(15)

29

• Masing-masing data training terdiri dari 46 fitur yang merupakan tingkat kemiripan (similarity) antara query dan web

Data Training: Fitur

SVM untuk Ranking

30 Data Training: Fitur

SVM untuk Ranking

30

Diberikan suatu himpunan dokumen {d1, d2, .., dN} dan suatu query q

Term Frequency (TF)

TF(q, di) = jumlah kata-kata (terms) dari query q pada dokumen di

Inverse Document Frequency (IDF)

IDF(q, di) = log (N/DF(q, di)

dimana DF(q, di) = jumlah dokumen yang mengandung kata-kata (terms) dari query q

Term Frequency * Inverse Document Frequency (TFIDF)

(16)

31 Satuan Ukuran Akurasi: P@n

SVM untuk Ranking

Satuan Ukuran Akurasi: MAP

SVM untuk Ranking

Mean Average Precision (MAP):

Misal himpunan dokumen yang relevan terhadap query qj

Q

adalah {d1, d2, .., dmj}, dan Rjk adalah himpunan hasil retrival yang diranking dari atas sampai ke dokumen dk, maka:

(17)

33 Satuan Ukuran Akurasi: MAP

SVM untuk Ranking

– Sehingga Average Precision (AP) adalah (1+4/5+1+1)/4 = 0.95

– Dan MAP 0.95/1 = 0.95, karena hanya ada satu query

34 Satuan Ukuran Akurasi: NDCG@n

SVM untuk Ranking

Normalized Discount Cumulative Gain at Position n (NDCG@n)

Misal R(j,m) adalah nilai relevansi dari suatu dokumen urutan ke-m untuk query qj, maka:

(18)

35 Satuan Ukuran Akurasi: NDCG@n

SVM untuk Ranking

Contoh:

Diberikan nilai relevansi beberapa URL untuk suatu query sbb:

Tentukan nilai NDCG@5 untuk urutan {d1, d5, d2, d3, d4} ?

URL Relevansi

d1 http://abc.go.com/ Perfect: 5

d2 http://abcnews.go.com/sections/ Excellent: 4

d3 http://www.abc.net.au/ Excellent: 4

d4 http://abcnews.go.com Excellent: 4

d5 http://www.abcteach.com/ Fair: 2

36 Satuan Ukuran Akurasi: NDCG@n

SVM untuk Ranking

(19)

37 Satuan Ukuran Akurasi: NDCG@n

SVM untuk Ranking

– Discounting Factor: Log(2) / log(1 + rank)

38 Satuan Ukuran Akurasi: NDCG@n

SVM untuk Ranking

(20)

39 Satuan Ukuran Akurasi: NDCG@n

SVM untuk Ranking

– Normalized Discounting Cumulative Gain

40

• Eksperimen menggunakan 5-fold Cross Validation dengan statistik data sbb:

Desain Eksperimen

(21)

41

• Tingkat akurasi metode SVM untuk Ranking dengan menggunakan perangkat lunak SVMRank

Hasil Eksperimen

SVM untuk Ranking

sumber: http://research.microsoft.com/en-us/um/beijing/projects/letor/letor4baseline.aspx

Referensi

(1)T. Joachims. Optimizing Searching Engines Using Clickthrough Data. Proceeding of the ACM Conference on Knowledge Discovery and Data Mining, 2002

(2)T. Joachim. Making Large-Scale SVM Learning Practical. In B.

Schoelkopf, C. J. C. Burges, and A. J. Smola (Eds), Advances in Kernel Methods – Support Vector Learning, pp. 169-184, MIT Press, 1999

Referensi

Dokumen terkait

L’UTILISATION DU SUPPORT AUDIOVISUEL DANS L’APPRENTISSAGE DE LA PRODUCTION ÉCRITE D’UN TEXTE DESCRIPTIF.. Universitas Pendidikan Indonesia |

Perjalanan kerja dengan pola ini dimulai pada dini hari pedagang berangkat dari rumah dengan kendaraan angkutan umum atau motor menuju Pasar Ungaran untuk mendapatkan

Tabel 10 Data hasil perhitungan efisiensi aktual dan teoritis destilasi air energi surya jenis absorber kain menggunakan kaca tunggal berpendingin udara pada variasi debit aliran

Menurut Ibu dan bapak saya penguburan tembuni adalah perlakuan kepada ari-ari atau tali pusat yang harus dilakukan agar anak yang lahir akan tumbuh dengan baik, jauh

dan (2) Jabatan Fungsional. Jabatan struktural adalah kedudukan yang menunjukkan tugas, tanggung jawab, wewenang dan hak dalam rangka memimpin satu satuan

Klor aktif dapat merusak struktur protein pada telur Aedes sp dengan cara mengoksidasi (membakar) protein yang berperan dalam proses metabolisme sel telur sehingga perkembangan

Untuk membuat media menjadi peka isu dan mau melakukan pemberitaan yang ramah anak, bahkan ambil bagian pada advokasi, jelas diperlukan pendekatan pressuasif kepada media..

PERUM PERMATA GRIYA ASRI BLOK I 011/003 Surabaya Sungai Serut Kota Bengkulu Bengkulu 38119 BNI00000020050 SYAHRUL RAMADANI KOMPLEK PASAR MINGGU BLOK F NO... BNI00000017582 DEDEK