Senin, 29 Mei 2017

AdaBoost for Machine Learning

AdaBoost termasuk algoritma machine learning yang menggunakan beberapa ciri fitur lemah yang digabung secara linear menjadi ciri fitur kuat. Menggunakan teknik iterasi dalam melakukan update bobot ditiap iterasi. Berikut  perhitungan secara matematikanya.
Diberikan
 (x1,y1),…..(xm,ym);xi∈X,yi∈{-1,+1}



Yang artinya diberikan sebuah data x1 dengan x1 termasuk sebuah himpunan X yaitu ciri fitur dengan y1 adalah target dengan himpunan terdiri dari anggota {-1, +1} dan m adalah jumlah data.
Maka nilai bobot yaitu
D1(i)=1/m

Sehingga


Cara menentukan weak Threshold untuk ciri fitur bisa menggunakan teknik regresi linear.  Kita akan menentukan nilai threshold yaitu 1:1:9 yang diambil dari nilai maksimal dan minimal.
Kita akan membandingkan nilai label yaitu +1 dan -1 terhadap nilai threshold, misalkan kita pilih untuk +1  dan -1 pada threshold 3 pada x1 menghasilkan



Artinya akan melakukan thresholding,
a.    jika kita mengambil +1 maka setiap x1>=threshold akan diberikan +1 dengan lainnya -1
b.    jika kita mengambil -1, maka setiap x1<threshold akan diberikan +1 dengan lainnya -1
disinilah letak mengenai weak learner nya yaitu memilah fitur-fitur lemah. Dilanjut kita mencari error yaitu dengan membandingkan hasil point a atau b dengan y. Berikut contoh cara menghitung error pada point a


Untuk point b


Bisa dilihat error a+b akan menghasilkan 1, maka bila kita sudah mengetahui nilai a,
maka untuk nilai b = 1-b
sehingga bisa disimpulkan error terkecil yaitu b<a, error ini disebut error iterasi.
Error iterasi akan berhenti jika
∈_t>  1⁄2
Terlihat bahwa nilai 0.27272 masih dibawah ½ sehingga nilai ∈_t = 0.27272
Kemudian akan terjadi update pada nilai berikut
Alpha
α_t=  1⁄(2 ) log⁡((1-∈_t)/∈_t )
Nilai alpha menjadi α_t = 0.4904

Bobot D

D_(t )=D_(t )*exp⁡(-α_t*y*weakLearner)
D_(t )= D_(t )/sum(D_(t ))


Pada pada kasus diatas nilai b atau 0.2727  sebagai nilai terkecil, sehingga nilai weakLearner sebagai berikut tetap menggunakan label = -1


Sehingga nilai


Bila ingin lebih jelas, lihatlah rumus berikut
a.    Freund, Y.: Boosting a weak learning algorithm by majority. Information and Computation 121(2), 256–285 (1995)
b.    Freund, Y.: An adaptive version of the boost by majority algorithm. Machine Learning 43(3), 293–318 (2001)
c.    Freund, Y., Schapire, R.E.: A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences 55(1), 119–139 (1997)


Agak sulit bila menjelaskan menggunakan persamaan matematika secara umum karena sifatnya general sekali.



Posting Komentar