Anda di halaman 1dari 11

TUGAS PENGENALAN POLA

K-Means Clustering

Oleh :

Idris Luthfi (06/197058/PA/11217)

PROGRAM STUDI ELEKTRONIKA DAN INSTRUMENTASI


JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2009
A. Pengertian Pengenalan Pola
Pengenalan pola merupakan bidang dalam pembelajaran mesin dan dapat
diartikan sebagai "tindakan mengambil data mentah dan bertindak berdasarkan
klasifikasi data". Dengan demikian, ia merupakan himpunan kaidah bagi
pembelajaran diselia (supervised learning).

Salah satu aplikasinya adalah pengenalan suara, klasifikasi teks dokumen


dalam kategori (contoh. surat-E spam/bukan-spam), pengenalan tulisan tangan,
pengenalan kode pos secara otomatis pada sampul surat, atau sistem pengenalan
wajah manusia. Aplikasi ini kebanyakan menggunakan analisis citra bagi pengenalan
pola yang berkenaan dengan citra digital sebagai input ke dalam sistem pengenalan
pola.

B. Teknik Pengenalan Pola


Pengenalan pola biasanya merupakan langkah perantaraan bagi proses lebih
lanjut. Langkah ini biasanya merupakan dapatan data (gambar, bunyi, teks, dll.) untuk
dikelaskan, pre-pemrosesan untuk menghilangkan gangguan atau menormalkan
gambar dalam satu cara (pemrosesan gambar (image processing), teks dll.), pengiraan
ciri-ciri, pengkelasan dan akhirnya post-pemrosesan berdasarkan kelas pengenalan
dan aras keyakinan.

Pengenalan pola itu sendiri khususnya berkaitan dengan langkah pengkelasan.


Dalam kasus tertentu, sebagaimana dalam jaringan syaraf (neural networks),
pemilihan ciri-ciri dan pengambilan juga boleh dilaksanakan secara semi otomatis
atau otomatis sepenuhnya.

Sementara terdapat banyak kaidah untuk pengkelasan, ia menyelesaikan satu


dari tiga masalah matematis berkaitan.

Pertama adalah mencari peta ruang ciri (feature space) (biasanya pelbagai
dimensi ruang vektor (vector space)) bagi set label. Secara bersamaan ia membagi
ruang ciri menjadi kawasan-kawasan, kemudian meletakkan label kepada setiap
kawasan. Algoritma yang demikian ini (contohnya the nearest neighbour algorithm)
biasanya belumlah menghasilkan kepercayaan atau class probabilities, sebelum
diterapkannya post-processing.

Masalah kedua adalah untuk menganggap masalah sebagai anggaran, dimana


matlamat adalah untuk menganggar fungsi bagi bentuk

dimana input vektor ciri adalah , dan fungsi f biasanya diparameter oleh sebagian

parameter . Dalam pendekatan statistik Bayesian bagi masalah ini, berlainan dengan

memilih satu vektor parameter , hasil dibentuk bagi kesemua thetas yang mungkin,
dengan turutan berat bagi ketepatan berdasarkan data latihan D:

Masalah ketiga terkait dengan masalah kedua, tetapi masalahnya adalah untuk

menganggar kebangkalian bersyarat (conditional probability) dan


kemudian menggunakan aturan Bayes untuk menghasilkan kemungkinan kelas
sebagaimana dalam masalah kedua.

Contoh algoritma klasifikasi termasuk:

* Klasifikasi linear

• Diskriminan linier Fisher

• Regresi Logistik

• Naive Bayes classifier


• Perceptron
* Metode Nearest neighbor
* Boosting
* Decision tree
* Jaringan Saraf Tiruan
* Jaringan Bayesian
* Mesin sokongan vektor (Support vector machine)
* Model Markov Tersembunyi (Hidden Markov model)

C. Domain Aplikasi
* komputer visi
• pengenalan karakter medis (Medical image analysis)]]
• Pengenalan karakter optis
* Pengenalan suara (speech recognition)
* Pengenalan tulisan tangan (handwritten recognition)
* Identifikasi biometrik
* klasifikasi dokuman
* Internet
* Credit scoring

D. Jaringan Saraf Tiruan


Jaringan saraf tiruan (JST) (Bahasa Inggris: artificial neural network (ANN),
atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut
neural network (NN)), adalah jaringan dari sekelompok unit pemroses kecil yang
dimodelkan berdasarkan jaringan saraf manusia. JST merupakan sistem adaptif yang
dapat merubah strukturnya untuk memecahkan masalah berdasarkan informasi
eksternal maupun internal yang mengalir melalui jaringan tersebut.

Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier.
JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan
output untuk menemukan pola-pola pada data.

Sejarah
Saat ini bidang kecerdasan buatan dalam usahanya menirukan intelegensi
manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari sisi
yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses
terjadinya intelegensi. Bidang ini disebut ‘Cognitive Science’. Dari teori dasar ini
dibuatlah suatu model untuk disimulasikan pada komputer, dan dalam
perkembangannya yang lebih lanjut dikenal berbagai sistem kecerdasan buatan yang
salah satunya adalah jaringan saraf tiruan. Dibandingkan dengan bidang ilmu yang
lain, jaringan saraf tiruan relatif masih baru. Sejumlah literatur menganggap bahwa
konsep jaringan saraf tiruan bermula pada makalah Waffen McCulloch dan Walter
Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk
memformulasikan model matematis sel-sel otak. Metode yang dikembangkan
berdasarkan sistem saraf biologi ini, merupakan suatu langkah maju dalam industri
komputer.

Pengertian Dasar
Tidak ada dua otak manusia yang sama, setiap otak selalu berbeda. Beda
dalam ketajaman, ukuran dan pengorganisasiannya. Salah satu cara untuk memahami
bagaimana otak bekerja adalah dengan mengumpulkan informasi dari sebanyak
mungkin scan otak manusia dan memetakannya. Hal tersebut merupakan upaya untuk
menemukan cara kerja rata-rata otak manusia itu. Peta otak manusia diharapkan dapat
menjelaskan misteri mengenai bagaimana otak mengendalikan setiap tindak tanduk
manusia, mulai dari penggunaan bahasa hingga gerakan.

Walaupun demikian kepastian cara kerja otak manusia masih merupakan


suatu misteri. Meski beberapa aspek dari prosesor yang menakjubkan ini telah
diketahui tetapi itu tidaklah banyak. Beberapa aspek-aspek tersebut, yaitu :

a. Tiap bagian pada otak manusia memiliki alamat, dalam bentuk formula kimia, dan
sistem saraf manusia berusaha untuk mendapatkan alamat yang cocok untuk setiap
akson (saraf penghubung) yang dibentuk.
b. Melalui pembelajaran, pengalaman dan interaksi antara sistem maka struktur dari
otak itu sendiri akan mengatur fungsi-fungsi dari setiap bagiannya.
c. Axon-axon pada daerah yang berdekatan akan berkembang dan mempunyai bentuk
fisik mirip, sehingga terkelompok dengan arsitektur tertentu pada otak.
d. Axon berdasarkan arsitekturnya bertumbuh dalam urutan waktu, dan terhubung
pada struktur otak yang berkembang dengan urutan waktu yang sama.
Berdasarkan keempat aspek tersebut di atas dapat ditarik suatu kesimpulan
bahwa otak tidak seluruhnya terbentuk oleh proses genetis. Terdapat proses lain yang
ikut membentuk fungsi dari bagian-bagian otak, yang pada akhirnya menentukan
bagaimana suatu informasi diproses oleh otak.

Elemen yang paling mendasar dari jaringan saraf adalah sel saraf. Sel-sel saraf
inilah membentuk bagian kesadaran manusia yang meliputi beberapa kemampuan
umum. Pada dasarnya sel saraf biologi menerima masukan dari sumber yang lain dan
mengkombinasikannya dengan beberapa cara, melaksanakan suatu operasi yang non-
linear untuk mendapatkan hasil dan kemudian mengeluarkan hasil akhir tersebut.

Dalam tubuh manusia terdapat banyak variasi tipe dasar sel saraf, sehingga
proses berpikir manusia menjadi sulit untuk direplikasi secara elektrik. Sekalipun
demikian, semua sel saraf alami mempunyai empat komponen dasar yang sama.
Keempat komponen dasar ini diketahui berdasarkan nama biologinya yaitu, dendrit,
soma, akson, dan sinapsis. Dendrit merupakan suatu perluasan dari soma yang
menyerupai rambut dan bertindak sebagai saluran masukan. Saluran masukan ini
menerima masukan dari sel saraf lainnya melalui sinapsis. Soma dalam hal ini
kemudian memproses nilai masukan menjadi sebuah output yang kemudian dikirim
ke sel saraf lainnya melalui akson dan sinapsis.
Penelitian terbaru memberikan bukti lebih lanjut bahwa sel saraf biologi
mempunyai struktur yang lebih kompleks dan lebih canggih daripada sel saraf buatan
yang kemudian dibentuk menjadi jaringan saraf buatan yang ada sekarang ini. Ilmu
biologi menyediakan suatu pemahaman yang lebih baik tentang sel saraf sehingga
memberikan keuntungan kepada para perancang jaringan untuk dapat terus
meningkatkan sistem jaringan saraf buatan yang ada berdasarkan pada pemahaman
terhadap otak biologi.

Sel saraf-sel saraf ini terhubung satu dengan yang lainnya melalui sinapsis.
Sel saraf dapat menerima rangsangan berupa sinyal elektrokimiawi dari sel saraf-sel
saraf yang lain. Berdasarkan rangsangan tersebut, sel saraf akan mengirimkan sinyal
atau tidak berdasarkan kondisi tertentu. Konsep dasar semacam inilah yang ingin
dicoba para ahli dalam menciptakan sel tiruan.

Definisi
Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel
dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis. Beberapa definisi
tentang jaringan saraf tiruan adalah sebagai berikut di bawah ini.

Hecht-Nielsend (1988) mendefinisikan sistem saraf buatan sebagai berikut:

"Suatu neural network (NN), adalah suatu struktur pemroses informasi yang
terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang
memiliki memori lokal dan beroperasi dengan informasi lokal) yang diinterkoneksi
bersama dengan alur sinyal searah yang disebut koneksi. Setiap elemen pemroses
memiliki koneksi keluaran tunggal yang bercabang (fan out) ke sejumlah koneksi
kolateral yang diinginkan (setiap koneksi membawa sinyal yang sama dari keluaran
elemen pemroses tersebut). Keluaran dari elemen pemroses tersebut dapat merupakan
sebarang jenis persamaan matematis yang diinginkan. Seluruh proses yang
berlangsung pada setiap elemen pemroses harus benar-benar dilakukan secara lokal,
yaitu keluaran hanya bergantung pada nilai masukan pada saat itu yang diperoleh
melalui koneksi dan nilai yang tersimpan dalam memori lokal".

Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation,


NY, Macmillan, mendefinisikan jaringan saraf sebagai berikut:
“Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan
mempuyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari
pengalaman dan membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai
kerja otak dalam dua hal yaitu: 1. Pengetahuan diperoleh oleh jaringan melalui suatu
proses belajar. 2. Kekuatan hubungan antar sel saraf yang dikenal dengan bobot
sinapsis digunakan untuk menyimpan pengetahuan.
Dan menurut Zurada, J.M. (1992), Introduction To Artificial Neural Systems,
Boston: PWS Publishing Company, mendefinisikan sebagai berikut:

“Sistem saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik yang
dapat memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari
pengalaman”.

DARPA Neural Network Study (1988, AFCEA International Press, p. 60)


mendefinisikan jaringan syaraf buatan sebagai berikut :

Sebuah jaringan syaraf adalah sebuah sistem yang dibentuk dari sejumlah
elemen pemroses sederhana yang bekerja secara paralel dimana fungsinya ditentukan
oleh stuktur jaringan, kekuatan hubungan, dan pegolahan dilakukan pada komputasi
elemen atau nodes.

E. Algoritma K-Means Clustering

K-Means merupakan metode klasterisasi yang paling terkenal dan banyak


digunakan di berbagai bidang karena sederhana, mudah diimplementasikan, memiliki
kemampuan untuk mengklaster data yang besar, mampu menangani data outlier, dan
kompleksitas waktunya linear O(nKT) dengan n adalah jumlah dokumen, K adalah
jumlah kluster, dan T adalah jumlah iterasi. K-means merupakan metode
pengklasteran secara partitioning yang memisahkan data ke dalam kelompok yang
berbeda. Dengan partitioning secara iteratif, KMeans mampu meminimalkan rata-rata
jarak setiap data ke klasternya. Metode ini dikembangkan oleh Mac Queen pada
tahun 1967.

Dasar algoritma K-means adalah sebagai berikut :

1. Tentukan nilai k sebagai jumlah klaster yang ingin dibentuk.

2. Bangkitkan k centroid (titik pusat klaster) awal secara random.

3. Hitung jarak setiap data ke masing-masing centroid menggunakan rumus korelasi


antar dua objek yaitu Euclidean Distance dan kesamaan Cosine.
4. Kelompokkan setiap data berdasarkan jarak terdekat antara data dengan
centroidnya.

5. Tentukan posisi centroid baru ( k C ) dengan cara menghitung nilai rata-rata dari

data-data yang ada pada centroid yang sama.

Dimana k n adalah jumlah dokumen dalam cluster k dan i d adalah dokumen


dalam cluster k.

6. Kembali ke langkah 3 jika posisi centroid baru dengan centroid lama tidak sama.

Adapun karakteristik dari algoritma K-Means salah satunya adalah sangat


sensitif dalam penentuan titik pusat awal klaster karena K-Means membangkitkan
titik pusat klaster awal secara random. Pada saat pembangkitan awal titik pusat yang
random tersebut mendekati solusi akhir pusat klaster, K-Means mempunyai
posibilitas yang tinggi untuk menemukan titik pusat klaster yang tepat. Sebaliknya,
jika awal titik pusat tersebut jauh dari solusi akhir pusat klaster, maka besar
kemungkinan ini menyebabkan hasil pengklasteran yang tidak tepat. Akibatnya K-
Means tidak menjamin hasil pengklasteran yang unik. Inilah yang menyebabkan
metode K-Means sulit untuk mencapai optimum global, akan tetapi hanya minimum
lokal. Selain itu, algoritma K-Means hanya bisa digunakan untuk data yang atributnya
bernilai numeric.

Seperti yang kita tau bahwa metode K-means ini menggunakan nilai rata-rata
yang diambil dari setiap cluster. Maka berikut adalah cara bagaimana K-means
menghitung rata-rata dari setiap cluster

Ck adalah nilai rata-rata dari cluster K (contoh: C1 adalah nilai rata-rata dari cluster

yang pertama). adalah semua anggota dari cluster K.

Pertanyaaan berikutnya adalah, bagaimana cara memilih anggota dari suatu


cluster? Cara memilihnya mudah. Andaikan ada suatu data, kita ingin mengetahui ke
dalam anggota cluster manakah data tersebut paling cocok dimasukkan. Caranya
adalah dengan menghitung selisih antara data dan setiap nilai rata-rata cluster.
Cluster yang nilai rata-ratanya yang memiliki selisih terkecil dengan data tersebut
merupakan cluster dimana data tersebut dikategorisasikan. Secara matematis dapat
didefinisikan sebagai berikut.

X adalah data yang sedang kita tentukan ke cluster mana harus dimasukkan. Ck
adalah nilai rata-rata dari cluster k. K adalah jumlah cluster. Jadi, Cluster T
merupakan cluster yang paling cocok untuk data X, karena cluster T memiliki selisih
terkecil.

Bagaimana cara menghitung selisih? Kita bisa menggunakan berbagai macam


metode seperti Eucledian distance, Mahalanobis distance, Manhattan distance,
Normalised Cosines distance. Metode yang paling populer adalah dengan
menggunakan Eucledian distance.

Kita sudah mengetahui bagaimana algoritma menghitung mean dari masing-


masing cluster, dan bagaimana algoritma mengelompokan data ke dalam cluster-
cluster yang ada. Pertanyaan berikutnya adalah, ketika pertama kali algoritma
dijalankan, kita hanya punyai adalah jumlah cluster yang akan dihasilkan (K). Nah!
untuk menghitung nilai rata-rata dari setiap cluster diperlukan anggota, dan untuk
menentukan anggota, kita memakai informasi nilai rata-rata. Ini mirip dengan
masalah ayam dan telur, yang mana yang lebih dahulu. Untuk mengatasinya, kita
akan menentukan terlebih dahulu nilai rata-rata dari setiap cluster. Bagaimana
caranya? Ada banyak cara, untuk artikel singkat ini, kita akan menentukannya secara
acak (random). Tentunya dalam menentukan angka acak kita tidak sembarangan
sebab ini akan membuat algoritma tidak berjalan dengan baik. Cara yang paling
mudah adalah memilih data yang ada sebagai nilai rata-rata dari suatu cluster.
Sebagai contoh, misalkan ada 3 data yaitu (1,0), (1,2), (1,4). K kita tentukan K = 2.
Jadi ada dua nilai rata-rata yang perlu kita tentukan diawal. Secara acak kita memilih
C1 = (1,0) dan C2 = (1,4).

Setelah kita menentukan nilai rata-rata awal dari setiap cluster, selanjutnya
algoritma akan meng-update keanggotaan dari setiap cluster. Setelah itu algoritma
akan menghitung kembali nilai rata-rata dari setiap cluster berdasarkan anggotanya
yang baru saja di-update.
Pertanyaan berikutnya, kapan berhenti? Algoritma akan berhenti ketika tidak ada
perubahan keanggotaan dari setiap cluster.

Daftar Pustaka :
http://id.wikipedia.org/wiki/Pengenalan_pola
http://www.ittelkom.ac.id/library/index.php?
view=article&catid=20%3Ainformatika&id=183%3Aalgoritma-k-
means&option=com_content&Itemid=15
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html