2. Machine Vision
LEARNING OUTCOMES
a. Peserta diharapkan memahami pendekatan unsupervised learning dan clustering untuk
mengelompokkan data berdasarkan karakteristik visualnya.
OUTLINE MATERI (Sub-Topic):
1. Unsupervised learning
2. Clustering
3. Machine Vision
ISI MATERI
Unsupervised Learning
Unsupervised learning adalah salah satu bentuk pembelajaran mesin yang mencoba
menarik kesimpulan dari sebuah dataset yang terdiri dari sampel data yang tidak memiliki
label. Metode unsupervised learning yang paling umum adalah analisis cluster, yang
memanfaatkan analisis data eksplanatori untuk menemukan pola/struktur tersembunyi atau
pengelompokkan pada data tidak berlabel. Karena data yang digunakan pada proses
pembelajaran tidak berlabel, maka output dari proses clustering tidak dapat dievaluasi
kebenarannya. Hal tersebut yang membedakan unsupervised learning dari supervised learning.
Beberapa alasan untuk melakukan unsupervised learning, diantaranya:
a. Proses memberi label pada pola dalam jumlah yang banyak membutuhkan waktu
b. Unsupervised learning dapat dilakukan pada data tidak berlabel, selanjutnya kelompok
data dengan berkarakteristik serupa diberi label sesuai dengan pengetahuan dari expert.
Data yang sudah diberi label kemudian dapat digunakan untuk proses training pada
supervised learning.
c. Melakukan ekstraksi fitur (Principal Component Analysis, Independent Component
Analysis, Singular Value Decomposition)
d. Analisis data ekspanatori pada unsupervised learning memberikan gambaran mengenai
struktur dari data.
Unsupervised learning memiliki memiliki relasi yang kuat dengan permasalahan
estimasi densitas pada statistika. Namun, usupervised learning juga dapat dimanfaatkan
untuk penarikan kesimpulan serta memberikan penjelasan tentang karakteristik utama dari
data. Beberapa pendekatan unsupervised learning, yaitu:
e. Clustering (k-means, mixture model, hierarchical clustering)
f. Hidden Markov Models
g. Teknik ekstraksi fitur untuk reduksi dimensi:
- Principal Component Analysis (PCA)
- Independent Component Analysis (ICA)
- Singular Value Decomposition (SVD)
4. Machine Vision
ISI MATERI
Clustering
Cluster analysis atau clustering adalah proses untuk mengelompokkan sekumpulan
obyek sedemikian sehingga obyek-obyek dalam kelompok yang sama (disebut cluster)
memiliki kemiripan yang lebih tinggi dibanding obyek-obyek pada kelompok lain. Clustering
merupakan proses utama dalam data mining, dan merupakan teknik yang secara umum
digunakan dalam analisis data secara statistik, juga digunakan pada banyak bidang seperti
pembelajaran mesin, pengenalan pola, analisis citra, temu kembali informasi, dan
bioinformatik.
Terdapat banyak pendekatan dalam melakukan clustering, masing-masing pendekatan
menggunakan model cluster dan algoritma berbeda. Beberapa model cluster sebagai berikut:
a. Model connectivity: contoh hierarchical clustering yang membangun model berdasarkan
distance connectivity.
b. Model centroid: contoh algoritma k-means yang merepresentasikan setiap cluster dengan
sebuah vektor mean.
c. Model distribusi: memodelkan cluster dengan distribusi statistik seperti distribusi normal
multivariate yang digunakan dalam algoritma Expectation-Maximization.
d. Model densitas: contoh DBSCAN dan OPTICS yang mendefiisikan cluser sebagai
connected dense region pada ruang data.
e. Model subspace: contoh Biclustering (dikenal juga sebagai Co-clustering atau two-mode-
clustering), dimana cluster dimodelkan oleh anggota cluster dan atribut-atribut yang
relevan.
f. Model graph: sebuah clique, yaitu subset dari node pada graph sedemikian sehingga
untuk setiap dua node dalam subset yang terkoneksi oleh sebuah edge dipertimbangkan
sebagai bentuk prototipe dari cluster.
Secara umum algoritma clustering bekerja berdasarkan salah satu dari dua pendekatan
berikut:
a. Iterative squared-error partitioning
b. Agglomerative hierarchical clustering
5. Machine Vision
Squared-Error Partitioning
Berikut algoritma clustering berdasarkan pendekatan squared-error partitioning:
Misalkan suatu data yang terdiri dari n pola akan dikelompokkan menjadi k cluster D1, ..., Dk.
Misalkan ni menyatakan jumlah sampel pada Di, dan misalkan mi adalah nilai rata-rata dari
sampel tersebut:
i
D
x
i
i x
n
m
1
Sum-of-square errors didefinisikan oleh:
k
i D
x
i
e
i
m
x
J
1
2
Untuk setiap cluster Di, mean vector mi atau disebut juga centroid, adalah representasi terbaik
dari semua sampel pada Di.
K-Means Clustering
Algoritma umum untuk iterative squered-error partitioning adalah sebagai berikut:
1. Tentukan jumlah cluster, misal k
2. Inisialisasi centroid dengan cara memilih k sampel secara acak
3. Tentukan keanggotaan tiap sampel ke dalam salah satu cluster dengan cara mencari jarak
terdekat ke centroid.
4. Tentukan centroid baru dengan cara menghitung mean vector dari masing-masing cluster.
5. Lakukan langkah 3 dan 4 hingga nilai optimal dari fungsi obyektif terpenuhi (misal:
hingga ditemukan local minimum atau jumlah iterasi dipenuhi).
6. Sesuaikan jumlah cluster dengan melakukan penggabungan atau pemisahan dari cluster
yang sudah terbentuk dengan cara menghapus cluster dengan jumlah anggotanya sedikit
atau merupakan outlier.
6. Machine Vision
Langkah 1 hingga 5 dikenal sebagai k-means clustering. Gambar berikut memperlihatkan
ilustrasi proses clustering terhadap 30 sampel data kedalam 3 cluster: (a) inisialisasi centroid
secara acak; (b) menentukan keanggotaan setiap cluster; (c) iterasi-1: menentukan centroid
baru dan anggotanya; (d) iterasi-2: menentukan centroid baru dan anggotanya; (e) iterasi-3:
menentukan centroid baru dan anggotanya. Pada iterasi ketiga posisi centroid sama dengan
iterasi kedua, sehingga proses clustering dapat dihentikan karena sudah konvergen.
(a) (b)
(c) (d)
(e)
7. Machine Vision
Proses komputasi K-means clustering sangat efisien dan dapat memberikan hasil yang baik
jika cluster bersifat kompak dan dapat dipisahkan dengan baik pada ruang fitur. Namun
pemilihan jumlah cluster atau nilai k yang tidak optimal akan menghasilkan pengelompokkan
yang tidak akurat. Pemilihan nilai k dapat dilakukan secara empiris maupun berdasarkan
pengetahuan sebelumnya mengenai data.
Hierarchical Clustering
K-means clustering menghasilkan deskripsi data yang bersifat flat, dimana setiap cluster
terpisah pada level yang sama. Pada aplikasi tertentu, sekelompok pola memiliki karakteristik
yang serupa jika dilihat pada level tertentu. Hierarchical clustering berusaha menangkap
pengelompokkan multi level tersebut menggunakan representasi bertingkat/hierarchical.
Berikut karakteristik hierarchical clustering dari data dengan n sampel:
a. Level pertama terdiri dari n cluster, dengan demikian tiap cluster beranggotakan sebuah
sampel.
b. Level kedua terdiri dari n-1 cluster
c. Level ketiga terdiri dari n-2 cluster
d. Dan selanjutnya hingga pada level terakhir (n) terdiri dari satu cluster dengan seluruh
sampel sebagai anggotanya.
Setiap dua sampel pada level tertentu akan dikelompokkan menjadi satu cluster dan akan
tetap akan bergabung sama pada level berikutnya. Hierarchical clustering biasanya
direpresentasikan sebagai tree atau dendogram, yang menunjukkan bagaimana setiap sampel
berkelompok. Berikut algoritma dari Agglomerative Hierarchical Clustering:
1. Tentukan jumlah cluster.
2. Tempatkan tiap sampel pada cluster.
3. Hitung jarak antar setiap cluster.
4. Gabungkan cluster yang memiliki jarak terdekat.
5. Lakukan langkah 3 dan 4 hingga tersisa satu cluster saja.
Berikut beberapa rumus yang umum digunakan untuk mengukur jarak antara dua cluster Di
dan Dj:
8. Machine Vision
j
i
j
i
mean
D
x D
x
j
i
j
i
avg
D
x
D
x
j
i
D
x
D
x
j
i
m
m
D
D
d
x
x
D
D
D
D
d
x
x
D
D
d
x
x
D
D
d
i j
j
i
j
i
)
,
(
#
1
)
,
(
max
)
,
(
min
)
,
(
'
,
,
max
,
min
Gambar berikut memperlihatkan tahapan proses hierarchical clustering terhadap 10
sampel data. Berikut penjelasan dari setiap tahapan tersebut:
(a) Bagi data menjadi 10 cluster yang masing-masing berisi satu sampel data.
(b) Cari dua cluster yang memiliki jarak terdekat kemudian gabungkan cluster tersebut
sehingga jumlah cluster hanya tinggal 9.
(c) Cari dua cluster yang memiliki jarak terdekat dengan menganggap cluster yang
sebelumnya sudah bergabung sebagai sebuah cluster kemudian gabungkan cluster
tersebut sehingga jumlah cluster tinggal 8.
(d) Ulangi langkah (c) hingga tersisa hanya satu cluster saja seperti diperlihatkan pada
gambar (i)
10. Machine Vision
SIMPULAN
1. Salah satu aplikasi utama dari unsupervised learning adalah pengelompokkan data
atau clustering.
2. Selain dapat digunakan untuk pengelompokkan data, unsupervised clustering juga
dapat dimanfaatkan untuk ekstraksi fitur dan reduksi dimensi.
3. Akurasi dari k-means clustering sangat dipengaruhi oleh pemilihan jumlah cluster
awal.
4. Hierarchical clustering memungkinkan pengelompokkan data secara
bertingkat/hierarchical, sehingga karakteristik pengelompokkan data dapat dilihat
pada setiap level-nya.
11. Machine Vision
DAFTAR PUSTAKA
1. Forsyth. (2011). Computer Vision a Modern Approach (2nd
Edition). Prentice Hall.
New Jersey. ISBN-10: 013608592X. ISBN-13: 978-0136085928.
2. Image Segmentation, http://www.kevinroper.org/image-segmentation/
3. A Tutorial on Clustering Algorithms,
http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/index.html
4. Introduction to K-means Clustering, https://www.datascience.com/blog/introduction-
to-k-means-clustering-algorithm-learn-data-science-tutorials
5. Hierarchical Clustering,
http://www.cs.princeton.edu/courses/archive/spr08/cos424/slides/clustering-2.pdf