Fast Domain Generalization with Kernel Methods – Part 4 (Scatter Component Analysis)


Ini merupakan seri terakhir dari tulisan saya mengenai metode kernel pada domain adaptation/generalization. Akhirnya summer project kali ini ditutup dengan men-submit sebuah paper ke International Conference on Machine Learning (ICML). Kami merancang sebuah algoritma transfer learing / domain adaptation yang dinamakan Scatter Component Analysis (SCA) pada aplikasi object recognition.

Ide utama dari algoritma ini adalah mengekstrak representasi (features) yang memiliki 3 buah sifat berikut ini:

  1. Persebaran data (total variance) maksimum
  2. Perbedaan antar domain (domain mismatch) minimum
  3. Persebaran representasi berdasarkan kategori / kelas maksimum

Kesemua sifat tersebut dapat dicapai dengan menggunakan sebuah tool bernama scatter.

Continue reading

Advertisements

Berdansa Bersama Papa


Music by Ghifary and Lyrics by Syva

Verse 1

Indah musik mengalun merdu
Ingin menari fikirku
Ku kenakan gaun princess ku
Ku cari papa ku

Verse 2

Kulihatnya sedang bekerja
Ayo dansa papa ku pinta
Papa pun langsung bergaya
Seakan di ruang pesta

Reff

M’langkah berputar
Badan melayang
Kaki dan tangan gerak berirama
Sungguh asyiknya
Sungguh senangnya
Berdansa bersama papa

Verse 2 -> Reff -> break -> Reff (2x)

Fast Domain Generalization with Kernel Methods – Part 3 (PCA, KPCA, TCA)


Walaupun teori tentang Principal Component Analysis (PCA) dari sudut pandang statistics ataupun information theory dapat ditelusuri hingga tahun 1901, penggunaannya secara praktis dimulai pada tahun 1980an seiring dengan perkembangan teknologi komputer. Saat ini PCA merupakan metode yang sangat populer di berbagai bidang seperti signal processing, neurosciencemachine learning, finance, hingga ke social science. Secara umum, PCA digunakan untuk mencari atau menganalisis pola dari data yang berdimensi banyak. Salah satu hal yang disukai dari PCA adalah proses komputasi yang relatif efisien.

Di berbagai aplikasi, seringkali kumpulan data yang berdimensi banyak dapat dijelaskan hanya dengan beberapa variabel saja (mulai saat ini kita sebut variabel tsb dengan istilah variabel latent). Ambil contoh kasus heart disease prediction untuk mendeteksi apakah seseorang mengidap penyakit jantung diberikan sejumlah variabel. Terdapat 76 variabel yang perlu dianalisis dimulai dari usia, jenis kelamin, tekanan darah, detak jantung, dsb. Pertanyaan yang sering diajukan pertama kali adalah mampukah prediksi tersebut dilakukan dengan menggunakan lebih sedikit variabel dengan hanya memilih variabel-variabel paling informatif ? Hal ini mungkin dilakukan secara manual oleh human experts. Namun demikian, akan lebih elegan apabila komputer dapat mengidentifikasi variabel latent secara otomatis. Di Machine Learning, permasalahan ini dikaji secara intensif dalam sub-bidang yang dikenal sebagai Dimensionality Reduction.

Saat ini PCA telah berkembang menjadi berbagai bentuk. Pada kesempatan kali ini saya coba bermain-main dengan PCA beserta 2 variannya: Kernel Principal Component Analysis (KPCA) dan  Transfer Component Analysis (TCA). Yang terakhir ini khusus dirancang untuk aplikasi transfer learning / domain adaptation.

Continue reading

Fast Domain Generalization with Kernel Methods – Part 2 (SSSL)


Pada dasarnya, jika ada berbagai pilihan solusi untuk pemecahan suatu masalah, saya sangat tertarik solusi yang paling simpel (salah satu interpretasi dari Occam’s razor). Di semi-supervised learning, algoritma Simple Semi-Supervised Learning (SSSL) (Ji et al., ICML2012) saya anggap termasuk dalam kategori ini. Bahkan dalam banyak kasus SSSL mampu menghasilkan performa yang lebih baik dibandingkan dengan salah satu metode yang sebelumnya dianggap sebagai yang terbaik.

Continue reading

Fast Domain Generalization with Kernel Methods – Part 1


Sekarang saya sedang melakukan riset tentang bagaimana mempercepat algoritma machine learning dalam konteks domain adaptation/generalization (bisa lihat di bab 2 pada tulisan saya sebelumnya untuk memahami istilah tersebut). Basis dari ide project kali ini berdasarkan paper-paper berikut:

  1. Domain Generalization via Invariant Feature Representation, ICML 2013
  2. Using the Nystrom Method to Speed Up Machines, NIPS 2000
  3. Correlated random features for fast semi-supervised learning, NIPS 2013
  4. A Simple Algorithm for Semi-supervised Learning with Improved Generalization Error Bound, ICML 2012
  5. Random Features for Large-Scale Kernel Machines, NIPS 2007

Rencananya adalah bagaimana mempercepat metode [1] dengan salah satu atau kombinasi dari metode [2] – [5].

Setelah saya eksplorasi, secara umum inti dari metode-metode dibahas pada [2]-[5] adalah mengaproksimasi matriks kernel dengan matriks yang berukuran lebih kecil. Oleh karena itu, penting untuk memahami apa itu kernel berikut properti-propertinya, yang merupakan komponen utama dari berbagai algoritma machine learning arguably paling efektif saat ini, seperti Support Vector Machines, Kernel PCA, Kernel Ridge Regression, etc). Kumpulan dari algoritma-algoritma berbasis kernel belakangan ini populer dengan istilah kernel machines.

Walaupun metode kernel ini bukan hal yang benar-benar baru bagi saya, dalam 1 minggu pertama sebagian besar waktu saya habiskan untuk mengeksplorasi kernel agar benar-benar memahami sifat-sifatnya lebih lanjut.

Di tulisan ini saya ingin membahas definisi beserta beberapa contoh fungsi kernel, dan aplikasinya pada algoritma ridge regression.

Continue reading

Domain Generalization for Object Recognition with Multi-task Autoencoders


Di tulisan ini saya ingin berbagi informasi mengenai research project yang saya kerjakan 3-3.5 bulan terakhir. Judul di atas merupakan judul paper terbaru saya yang di-submit ke konferensi CVPR . Konferensi ini bisa dibilang yang terbaik dan tersulit untuk paper kita diterima di bidang Computer Vision, Machine Learning, atau Pattern Recognition. Microsoft menempatkannya di urutan yang pertama. Ada yang bilang bahwa submit paper ke CVPR itu seolah-olah paper kita akan di-review oleh Einstein, Feynmann, Schrödinger-nya di Computer Vision. So, saya tidak terlalu berekspektasi agar paper saya diterima di konferensi ini. Mendapatkan review dari para world leading researchers di bidang ini (bisa dilihat di sini atau ini) akan merupakan pengalaman yang sangat berharga buat saya. Continue reading

Jalan-Jalan di Italia (Part 3) – Vatican City


Masih tentang cerita di Roma, dari Pantheon saya melanjutkan perjalanan berjalan kaki ke Vatican City. Kaki pegal-pegal dan perut lapar membuat saya berhenti sejenak di area yang tak kalah menariknya, bernama Piazza Navona. Di sana ramai sekali dengan restoran-restoran, stand-stand makanan, pedagang kaki lima, dan musisi jalanan. Saya jadi teringat Gazibu di Bandung, bedanya ini semacam ‘pasar sabtu sore’. Saya pun akhirnya bersantai dulu di restoran Pizza sambil menikmati musik jazz yang dibawakan oleh para musisi jalanan.

Continue reading