BAB 2 LANDASAN TEORI 2.1
Tinjauan Pustaka
Setiap penelitian baru tidak lepas dari kajian hasil penelitian-penelitian terdahulu sebagai referensi atau bahan perbandingan. Topik penelitian yang dijadikan perbandingan dalam penelitian ini kriteria utamanya menggunakan data Instagram. Namun, jumlah penelitian mengenai data Instagram masih tergolong sedikit. Sampai akhir tahun 2015, dari hasil pencarian pustaka, hanya ditemukan beberapa paper saja yang menggunakan data Instagram. Penelitian umumnya lebih banyak menggunakan data Twitter. Penelitian berjudul ”A picture of Instagram is worth more than a thousand words: Workload characterization and application” dilatarbelakangi oleh kepopuleran Instagram sebagai Participatory sensing systems (PSS) di internet (Silva et al., 2013). Dengan dataset sebanyak 2,3 juta foto, peneliti menangkap karakter pengguna Instagram di dalam sistem bersifat large scale sensing, di mana dapat mencakup data dunia dan dapat diperoleh dengan sangat murah dan mudah. Di sisi lain, penelitian ini juga terbilang menantang, salah satunya karena frekuensi sharing yang tidak merata secara spasial dan temporal. Penelitian tersebut juga mengobservasi bahwa pola sharing foto temporal sangat baik digunakan sebagai indikator deteksi cultural behaviour dan sebagai sumber cerita di lokasi-lokasi tertentu. Di samping itu, dalam penelitian tersebut diterapkan bagaimana cara mengidentifikasi wilayah-wilayah di sebuah kota berdasarkan data yang diperoleh dari Instagram untuk menggambarkan dinamika sebuah kota. Satu tahun kemudian, ada penelitian yang menggunakan data Instagram yang bertujuan untuk menganalisis konten foto dan tipe pengguna Instagram (Hu et al., 6
7 2014). Penelitian ini dilatarbelakangi oleh beberapa hal, yaitu kebaruan mengenai cara pengguna melakukan sharing foto, pertumbuhan jumlah pengguna Instagram yang sangat cepat, dan sedikitnya atensi penelitian mengenai Instagram. Dalam penelitian tersebut digunakan analisis kualitatif dan kuantitatif. Teknik computer vision digunakan untuk memeriksa isi foto. Untuk mengidentifikasi beberapa tipe pengguna aktif dalam Instagram digunakan teknik clustering. Penelitian mereka menghasilkan tiga kesimpulan yang menarik yaitu: (1) terdapat delapan kategori foto populer dalam Instagram, (2) terdapat lima tipe pengguna Instagram, dan (3) pernyataan yang memberikan simpulan bahwa jumlah pengikut (followers) dari suatu akun pengguna tidak bergantung pada foto yang diunggah dalam Istagram. Pada tahun yang sama, satu penelitian lain mengenai Instagram yang berjudul It is not just a picture: Revealing some user practices in Instagram dilakukan (Souza Araujo et al., 2014). Adapun tujuan dari penelitian ini adalah untuk menginvestigasi praktik penggunaan Instagram. Metode yang diterapkan adalah dengan metode statistik seperti penggunaan formula rata-rata dan penyajian data seperti histogram frekuensi. Dari penelitian mereka disimpulkan bahwa pengguna Instagram cenderung banyak mengunggah foto ketika akhir pekan dan malam hari. Pengguna juga cenderung melakukan endorsement dengan memberikan likes dan komentar yang mendukung fenomena rich get richer. Mereka juga memahami bahwa tagar akan mempengaruhi jumlah likes dalam sebuah foto yang diunggah dan mempermudah pencarian konten. Fakta sedikitnya jumlah penelitian mengenai data Instagram ini memberikan peluang bagi para peneliti untuk mengeksplorasi data Instagram lebih mendalam. Namun, tidak dipungkiri bahwa fakta tersebut justru memberikan kesulitan karena sedikitnya referensi sebagai pembanding. Untuk mengurangi kesulitan tersebut digunakan referensi penelitian dari data-data media sosial lain seperti Twitter. Penelitian-penelitian yang relevan tersebut diantaranya 1) Analisis sentiment pada Twitter dengan metode hybrid (kombinasi antara corpus based dan dictionary
8 based) (Kumar & Sebastian, 2012), 2) Event Photo Mining from Twitter using Keyword Bursts and Image Clustering (Kaneko & Yanai, 2015), dan 3) Twitter User Profiling Based on Text and Community Mining for Market Analysis (Ikeda, Hattori, Ono, Asoh, & Higashino, 2013). Tabel 2.1 menunjukkan perbandingan penelitian menggunakan data Instagram dan Twitter secara lebih rinci.
2.2
Instagram
Instagram tergolong salah satu platform media sosial yang unik. Setiap pengguna dapat berkomunikasi berdasarkan foto atau video, di mana sebelum diunggah, foto dan video dapat diperindah dengan beberapa filter terlebih dahulu seperti yang diilustrasikan pada Gambar 2.1. Keunikan ini membuat Instagram dengan cepat masuk dalam jajaran aplikasi media sosial yang populer.
Gambar 2.1: Contoh Tampilan Foto Sebelum (Sebelah Kiri) dan Foto Sesudah Diedit (Sebelah Kanan) lewat Aplikasi Instagram (Golbeck, 2015)
Ikeda et al.
2013
2016*
2015
2014
2014
2013
Kumar et al.
2012
Objek Penelitian Sentiment Analysis on Twitter
Twitter Profiling Based on Text and Community Mining Silva et al. Instagram Photo Characterization Souza Araujo et al. Revealing Instagram User Practice Hu et al. Kategorisasi Foto Instagram dan Tipe Pengguna Instagram Kaneko et al. Photo Mining from Twitter and Image Clustering Kuncoro* Hobby Identification of Instagram Users
Peneliti
Tahun
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
v
Metode Mining Klasifikasi Clustering Statistik v v v
Tabel 2.1: Perbandingan Penelitian Terkait dengan Instagram
TF-IDF, k-NN, SVM, ANN
Keyword Bursts
k-Means, Computer Vision
Histogram, Distribusi Participatory Sensing System Histogram Frekuensi
Corpus based method (Scoring) SVM
Algoritma
9
10 Selain keunikan di atas, pengguna juga dapat mengunggah foto ke platform media sosial yang lain seperti Twitter, Facebook, dll, sebagai tambahan platform selain Instagram. Di samping itu, para pengguna dapat menambahkan captions dan komentar dengan tagar (simbol #) serta menge-tag atau memanggil pengguna lainnya dengan simbol @, yang akan secara otomatis membuat tautan ke akun pengguna lainya. Ilustrasi fitur ini dapat ditunjukkan pada Gambar 2.2
Gambar 2.2: Foto Unggahan Foto Instagram oleh @cristiano di Instagram
Sebagai tambahan lainnya, Instagram juga menyediakan sistem jaringan sosial yang mirip dengan Twitter di mana setiap pengguna secara default diizinkan untuk mem-follow pengguna lainnya. Para pengguna Instagram yang mem-follow pengguna Instagram lainnya disebut sebagai followers. Tipe jaringan sosial Instagram ini disebut sebagai asimetris, artinya jika pengguna A mem-follow B, B tidak perlu mem-follow balik A. Di samping itu, pengguna dapat mengeset aturan privasi seperti foto dan video yang di-post hanya dapat dilihat oleh followers yang telah mendapatkan persetujuan untuk menjadi follower-nya. Secara default, data yang diunggah bersifat publik, yang artinya data tersebut dapat dilihat oleh seluruh pengguna aplikasi Instagram ataupun web Instagram. Cara melakukan follow adalah
11 dengan menyentuh tombol ”follow” sedemikian sehingga tombolnya berubah menjadi ”following”, seperti terlihat pada Gambar 2.3.
Gambar 2.3: Contoh Tampilan Aplikasi Mobile Instagram (Golbeck, 2015)
Pengguna Instagram dapat melihat foto dan video terakhir dari semua akun yang diikutinya secara kronologis terbalik, di mana data yang muncul paling atas adalah yang terakhir diunggah. Mereka dapat mengesetnya sebagai favorit dan mengomentari postingan tersebut. Aksi-aksi tersebut dapat terlihat di halaman utama (home), sehingga pengguna dapat merunut apa saja yang telah di-likes dan dikomentari. Gambar 2.4 merupakan contoh tampilan halaman utama aplikasi mobile Instagram di platform Android.
12
Gambar 2.4: Contoh Tampilan Halaman Utama (Home) Sebuah Akun Instagram
Instagram juga memiliki fitur geotagging, di mana pengguna dapat menambahkan lokasi yang berasosiasi dengan foto yang diunggah. Foto-foto yang telah di-geotag dapat terlihat pada peta pengguna. Peta pengguna dapat dilihat dengan menyentuh tombol lokasi dengan icon yang terlihat pada Gambar 2.3, tepatnya tombol yang terletak di urutan ketiga dari kiri. Adapun tampilan peta dengan foto yang telah ditandai lokasinya tersebut dapat ditunjukkan pada Gambar 2.5. Instagram tidak menge-tag lokasi berdasarkan koordinat titik Global Positioning System, tetapi nama lokasi yang umum, misalkan Jakarta, atau yang lebih spesifik seperti Monumen Nasional, nama restoran, atau kampus. Dengan menyentuh tombol lokasi yang diberikan pada foto, Anda akan diperlihatkan pada sebuah halaman yang menyajikan foto-foto yang telah diunggah oleh pengguna lain di lokasi yang sama. Hal ini sangat berguna dalam mengidentifikasi orang-orang yang telah mengunggah dari lokasi yang sama (Golbeck, 2015).
13
Gambar 2.5: Tampilan Peta Pengguna Instagram pada Aplikasi Instagram Mobile yang Di-zoomout (Kiri) dan yang Di-zoom-in (Kanan)
Sejarah dan Perkembangan Instagram Instagram dibangun di San Fransisco, Amerika Serikat oleh Kevin Systrom dan Mike Krieger. Pada 5 Maret 2010, mereka berhasil membukukan nilai investasi senilai setengah juta USD. Berbekal investasi ditunjang dengan kreativitas tim, aplikasi Instagram ini akhirnya dapat diluncurkan pertama kali secara khusus untuk pengguna IOS (perangkat lunak iPhone dan iPod) pada 6 Oktober 2010. Kemudian pada 2 Februari 2011, Instagram mengumumkan bahwa dana sebesar tujuh juta USD berhasil dihimpun dari berbagai investor seperti Benchmark Capital, Jack Dorsey, Chris Sacc, dan Adam D’Angelo. Nilai akhir dari investasi Instagram adalah sebesar 25 juta USD. Guna memperluas cakupan pengguna, pada 3 April 2012, Instagram merilis aplikasinya di atas perangkat Android versi saat itu, yaitu versi 2.2 (Froyo). Peluncuran ini terbilang sangat berhasil karena hanya dalam
14 waktu kurang dari satu hari, sebanyak satu juta kali unduhan tercatat. Hal penting terjadi pada 12 April 2012, di mana Facebook mengakuisisi Instagram dengan nilai satu milyar USD dalam bentuk tunai dan saham, meskipun pada akhirnya dibayar dengan harga yang jauh lebih murah, yaitu senilai 400 juta USD. Seiring waktu pengguna aktif Instagram semakin meningkat pesat. Pada 27 Februari 2013 Instagram mengumumkan bahwa jumlah pengguna aktif Instagram telah mencapai 100 juta hanya dalam kurun waktu 2,5 tahun sejak pertama kali Instagram diluncurkan. Pada bulan Desember 2014 tercatat bahwa jumlah pengguna aktif Instagram sebanyak 300 juta pengguna. Data terakhir yang dirilis Instagram pada bulan September 2015, pengguna Instagram sudah mencapai 400 juta pengguna. Grafik perkembangan pengguna aktif Instagram Januari 2013 s.d. September 2015 dapat dilihat pada Gambar 2.6 (Instagram & Statista, 2015).
Gambar 2.6: Grafik Jumlah Pengguna Aktif Instagram sejak Januari 2013 sampai dengan September 2015 (Statista & Instagram, 2015)
Inovasi terus dilakukan oleh Instagram. Sejak bulan Oktober 2013 Instagram mulai meluncurkan iklan pada feeds foto pengguna. Iklan di Instagram ini diperbaharui sehingga dapat melakukan pembelian, peng-install-an aplikasi, dan pendaf-
15 taran melalui penggunaan tombol ”Shop Now”, ”Install Now”, dan ”Sign Up” di bagian bawah iklan. Iklan-iklan ini memanfaatkan data demografi dan Application Program Interface (API) untuk mengatur target yang dianggap lebih efisien. Langkah ini merupakan langkah besar Instagram yang menjembatani hubungan Business to Customers. Dengan adanya iklan ini, pendapatan Instagram diprediksi akan terus meningkat. Business Insider memprediksi pendapatan Instagram akan mencapai 2,39 milyar USD, naik 450% dari prediksi pendapatan tahun ini yang berada pada angka 595 juta USD (Oreilli, 2015). Berdasarkan prediksi tahun 2017, pendapatan iklan Instagram akan sedikit melebihi pendapatan iklan Google dan Twitter pada angka masing-masing 2,38 milyar USD dan 2,29 USD seperti diilustrasikan oleh Gambar 2.7.
Gambar 2.7: Prediksi Pendapatan Bersih dari Iklan Google, Twitter, dan Instagram pada 2015-2017 dengan Data Bersumber dari Laporan Perusahaan dan eMarketer, July 2015 (Oreilly, 2015)
2.3
Hobi
Hobi merupakan kegemaran; kesenangan istimewa pada waktu senggang, bukan pekerjaan utama (Hobi, 2013). Menurut Oxford Advanced Learner’s Dictionary
16 (Hobby, 2011), hobi adalah kegiatan yang Anda lakukan untuk kesenangan ketika Anda tidak bekerja. Contoh dari hobi antara lain berolah raga, melancong, berkuliner, memelihara hewan, bermusik, bernyanyi, dan lain-lain. Berdasarkan hasil penelitian yang dilakukan oleh Hu (Hu et al., 2014), ada lima tipe pengguna Instagram, yaitu 1) selfie, 2) suka menggunakan kata-kata bijak, 3) suka makanan, 4) suka bersosialisasi, dan 5) suka berkegiatan. Ada delapan kategori foto terbanyak yang diunggah, yaitu kategori friends, makanan, gawai, foto dengan teks, hewan peliharaan, aktivitas, selfie, dan fesyen. Berdasarkan pertimbangan apa saja tipe-tipe pengguna dan kategori foto Instagram tersebut, hobi kuliner, memelihara hewan, dan melancong dipilih sebagai objek kelas dalam penelitian ini.
2.4
Ekstraksi Ciri Citra Digital
Gonzalez & Woods (2008, pp 25-28) membagi metode pengolahan citra digital menjadi dua proses utama. Yang pertama adalah proses yang output-nya berupa citra. Yang kedua adalah proses yang output-nya berupa atribut. Metode yang output prosesnya berupa citra meliputi image acquisition, image enhancement, image restoration, color image processing, wavelets and multiresolution processing, dan compression. Sedangkan metode yang output prosesnya berupa atribut meliputi morphological processing, segmentation, representation and description, dan object recognition. 1. Image acquisition merupakan proses pengumpulan citra, seperti pengambilan foto lewat kamera. Proses pengubahan skala juga masuk dalam proses ini. 2. Image enhancement merupakan proses yang paling sederhana dalam pengolahan citra digital. Tujuan dari proses ini adalah untuk memperlihatkan detil yang samar-samar, dengan kata lain memberikan highlight untuk fitur tertentu pada citra. Sifat dari proses ini adalah subyektif. 3. Image restoration merupakan proses yang bertujuan untuk memperbaiki pe-
17 nampilan foto. Berbeda dengan image enhancement, proses ini bersifat obyektif. 4. Color image processing merupakan proses yang berhubungan dengan warna, di mana akan ada model-model warna yang terlibat seperti RGB (red, green, blue), CMY (cyan, magenta, yellow), CMYK (cyan, magenta, yellow, black), dan HSI (hue, saturation, intensity) sebagai dasar ekstraksi citra. 5. Wavelets merupakan dasar untuk merepresentasikan citra dari berbagai tingkat resolusi. 6. Compression, merupakan cara untuk mengurangi ukuran citra agar dapat menghemat storage, memory atau bandwidth. 7. Morphological processing berhubungan dengan representasi dan deskripsi bentuk. 8. Segmentation berhubungan dengan pemisahan beberapa bagian dari sebuah citra. Metode ini paling sulit diantara metode pengolahan citra digital yang lainnya. 9. Representation and description sebagian besar merupakan lanjutan dari keluaran proses segmentasi, yang biasanya merupakan data piksel mentah dalam suatu wilayah citra atau keseluruhan. 10. Recognition merupakan proses pemberian label (contoh: ”bunga”) pada suatu obyek berdasarkan pendeskripsi. Dari keseluruhan pemrosesan citra di atas, tidak perlu semua metode dilakukan, tetapi disesuaikan dengan kebutuhan. Dalam penelitian ini, keluaran yang diinginkan adalah identifikasi hobi. Hal yang paling logis dilakukan adalah melakukan kategorisasi citra setiap pengguna, agar setiap pengguna dapat diidentifikasi citra yang diunggah itu termasuk kategori apa saja. Jika kategori citra yang
18 diunggah sebagian besar adalah makanan, maka hobi pengguna cenderung ke hobi kuliner. Jika kategori citra yang diunggah sebagian besar adalah hewan peliharaan, maka hobi pengguna adalah memelihara hewan. Yang terakhir jika kategori citra yang diunggah sebagian besar adalah pemandangan, pantai, bangunan arsitektural, dan sejenisnya, maka hobi pengguna adalah melancong. Pengkategorian berdasarkan konten citra pada awalnya dilakukan dengan cara manual, di mana sangat memakan waktu lama dan melelahkan, terlebih apabila jumlah citra yang dilibatkan sangat banyak. Hal inilah yang mendorong lahirnya penelitian-penelitian yang fokus pada pengkategorian citra otomatis. Penelitian ”A system for automatic image categorization” memanfaatkan kombinasi karakter level tinggi dan level rendah (Moscato, Picariello, Persia, & Penta, 2009). Karakter level tinggi memanfaatkan anotasi citra yang diperoleh dari Flickr sebagai dataset dari penelitian, sedangkan level rendah menggunakan fitur warna, tekstur, dan bentuk. Penggabungan kedua jenis karakter tersebut dilakukan untuk menjawab permasalahan semantik gap antara anotasi yang dilakukan oleh manusia dan anotasi komputer. Penelitian lebih mutakhir mengenai klasifikasi citra juga menggunakan ketiga fitur utama, yaitu warna, tekstur, dan bentuk. Dalam penelitian itu digunakan klasifikator multi-kernel SVM dan gabungan multi fitur dengan pembobotan fitur (Xiang, Lv, & Zhang, 2014). Sebuah tool yang bernama Imagga Automated Image Categorization mampu melakukan kategorisasi citra berdasarkan konten citra secara otomatis. Sejumlah citra dapat dengan mudah dikategorisasikan menjadi beberapa kategori seperti citra hewan, bangunan, makanan, dan lain-lain. Algoritma yang terlibat adalah gabungan dari pemrosesan citra dan machine learning. Demo dari tool ini dapat diakses melalui web browser. Tersedia juga API yang dapat digunakan untuk berbagai keperluan kategorisasi citra secara lebih cepat. Input dari tool ini dapat berupa citra yang diunggah ataupun URL citra, sedangkan output dari tool ini adalah kategori dan derajat keyakinan yang memiliki kisaran skor 0 s.d. 100. Secara umum,
19 hasil kategorisasi citra dengan menggunakan Imagga ini cukup meyakinkan, terlihat dari derajat keyakinan yang umumnya lebih dari 90%, terutama untuk kategorikategori citra seperti citra makanan, pemandangan, hewan, dll. yang sangat diperlukan dalam penelitian ini. Imagga pada prinsipnya menggunakan algoritma deep learning dengan memanfaatkan Convolutional Neural Networks yang dilatih dan dioptimasi untuk berbagai macam kategori yang luas berdasarkan konten citra. Kategori citra yang mampu dikenali sudah ada secara default, seperti kategori citra food drinks, pets animals, streetview architecture, beaches seaside, sunrise sunset, dan lain-lain. Bahkan, kategori yang belum ada di dalam Imagga dapat ditambahkan. Pada kasus kategorisasi citra berbasis tekstur, pengguna dapat melakukan kategorisasi citra otomatis seperti pola tekstur solid, linear, geometric, dan graphic.
Gambar 2.8: Tampilan Website Imagga untuk Kategorisasi secara Otomatis yang Terdiri dari Tiga Area yaitu Pengunggahan Citra, Hasil Kategorisasi, dan API Scripting
2.5
Ekstrasi Fitur Teks
Dalam melakukan ekstraksi fitur teks, hal utama yang harus dilakukan adalah mengubah konten tulisan menjadi vektor fitur yang bersifat numerik atau biner.
20 Salah satu caranya adalah dengan menggunakan metode Term Frequency-Inverse Document Frequency (TF-IDF) yang pertama kali diperkenalkan pada 1988 oleh Salton dan Buckley. Meskipun tergolong metode lama, metode ini sangat sederhana dan efektif. Berikut ini adalah penjelasan mengenai metode TF-IDF. 1. TF didefinisikan sebagai berapa kali sebuah kata k muncul dalam setiap dokumen d. Rumus TF dalam simbol matematika dapat disajikan sebagai berikut:
TF(k, d) =
1 ∑ fr(x, k) N(x) x∈d
(2.1)
di mana k adalah kata yang muncul, x adalah setiap kata yang ada dalam dokumen, N(x) adalah jumlah kata-kata dalam dokumen, dan fr(x, k) adalah fungsi sederhana yang didefinisikan sebagai 1, if x = k fr(x, k) = 0, otherwise
2. IDF dalam persamaan matematika didefinisikan sebagai:
IDF(k) = log
N(d) 1 + |{d : k ∈ d}|
(2.2)
di mana N(d) adalah jumlah dokumen dan |{d : k ∈ d}| adalah jumlah dokumen di mana kata k muncul. Fungsi TF memenuhi TF(k, d) 6= 0, penambahan 1 pada penyebut dimaksudkan untuk menghindari pembagian dengan angka nol (0). 3. TF-IDF didefinisikan dengan persamaan:
TF-IDF(k) = TF(k, d) × IDF(k)
(2.3)
Nilai TF-IDF akan meningkat seiring banyaknya sebuah kata muncul dalam
21 dokumen secara proporsional, sesuai dengan jumlah keseluruhan kata dalam dokumen tersebut. Semakin sering beberapa kata muncul dalam dokumen, semakin signifikan sebuah kata merepresentasikan dokumen tersebut.
2.6
Visualisasi Data
Visualisasi data bertujuan untuk menyajikan data secara lebih jelas dan efektif melalui representasi grafis. Sudah banyak penerapan visualisasi data dilakukan, seperti dalam laporan kerja, operasi manajemen bisnis, dan penelusuran kemajuan tugas. Pada intinya, visualisasi data ini akan lebih memudahkan peneliti dalam memahami data, daripada hanya melihat data mentah (Han, Kamber, & Pei, 2011, p.57). Beberapa pendekatan visualisasi data dapat dilakukan dengan cara sebagai berikut: 1. Scatter Plot. Scatter plot merepresentasikan poin-poin data ke dalam koordinat Cartesius. Dimensi ketiga dapat ditambahkan dengan warna atau tanda yang berbeda-beda untuk merepresentasikan label yang berbeda. Biasanya untuk data n-dimensi (n ≥ 2) digunakan matriks scatter plot yang besarnya n × n, yang memberikan visualisasi setiap pasang dimensi data. Contoh dari matriks scatter-plot ditunjukkan pada Gambar 2.9. 2. Box Plot. Di dalam grafik box plot terdapat beberapa hal yang dapat disimpulkan, yaitu: interquartile range yang ditunjukkan pada ujung-ujung box, median yang ditunjukkan pada garis di dalam box, minimum dan maximum data yang ditunjukkan pada ujung sumbu-sumbu box plot, dan outlier yang ditunjukkan oleh titik-titik di luar box dan sumbu. Gambar 2.10 menunjukkan visualisasi dengan menggunakan box plot. 3. Principal Component Analysis (PCA) dan Scatter Plot. Prosedur PCA adalah sebuah prosedur pencarian k vektor ortogonal n-dimensi yang dapat digu-
22 nakan untuk merepresentasikan data, di mana k ≤ n. Dengan demikian data asli dapat diproyeksikan ke dalam dimensi yang lebih rendah dengan principal component. Dasar prosedur PCA adalah sebagai berikut: (a) Data input dinormalisasi jika ada satu atau beberapa atribut yang memiliki ketimpangan range. (b) Vektor-vektor ortonormal k yang menyediakan basis dari data yang ternormalisasi dihitung. Vektor-vektor tersebut disebut juga sebagai principal components. (c) Principal components diurutkan berdasarkan varians (significance) dari yang paling tinggi ke rendah. (d) Karena telah diurutkan dari tinggi ke rendah, pemangkasan komponen yang rendah dapat dilakukan. Dengan demikian representasi principal components ini memungkinkan rekonstruksi visualisasi data yang mendekati data aslinya.
23
Gambar 2.9: Contoh Visualisasi Data dengan Matriks Scatter Plot (Han, 2011, p.60)
Gambar 2.10: Contoh Visualisasi Data dengan Box Plot (Han, 2011, p.51)
24
2.7
Klasifikasi
Klasifikasi adalah salah satu bagian dari machine learning. Dalam machine learning, klasifikasi merupakan proses pembelajaran sebuah fungsi target f yang memetakan setiap himpunan atribut x ke salah satu label class y yang telah didefinisikan sebelumnya. Klasifikasi juga dapat diartikan sebagai suatu proses untuk menemukan suatu model atau fungsi mampu membedakan kelas data sedemikian sehingga model tersebut dapat dipergunakan untuk memprediksi kelas objek yang label kelasnya tidak diketahui. Proses pembelajaran klasifikasi ini dilakukan secara terbimbing (supervised learning), karena label dari setiap training sampel diketahui. Tahapan klasifikasi memiliki dua sub tahap besar, yaitu learning/training dan testing. Proses learning merupakan pembelajaran menggunakan data training, sedangkan proses testing dimaksudkan untuk menguji model dengan menggunakan data testing. Data training berisi atribut-atribut dan mempunyai label kelas dan digunakan untuk membangun model klasifikasi. Sedangkan data testing berisi atributatribut tanpa label class, yang kemudian digunakan untuk menguji model yang telah dibangun. Metode ini diilustrasikan pada Gambar 2.11. Tiga model klasifikasi yang akan digunakan pada penelitian ini adalah metode klasifikasi k-NN, SVM, dan ANN.
Gambar 2.11: Metode Klasifikasi dalam Machine Learning
2.7.1
Klasifikasi K-Nearest-Neighbor
Metode k-Nearest-Neighbor (k-NN) pertama kali diperkenalkan pada awal 1950-an. Metode ini belum mendapatkan perhatian sampai tahun 1960-an, mengingat sifat metode ini yang labor intensive ketika diberikan data training yang sangat
25 besar. Baru pada saat teknologi komputasi semakin maju, metode ini mulai banyak digunakan terutama pada bidang pattern recognition (Han et al., 2011, p. 348) Pada prinsipnya, tujuan dari algoritma k-NN adalah untuk mengklasifikasikan objek baru berdasarkan data training yang berupa atribut dan label. Algoritma ini bekerja berdasarkan jarak terpendek dari query instance ke data training. Perhitungan data yang dapat digunakan adalah euclidean distance, cosine similarity, dan manhattan. Rumus menghitung jarak untuk metode euclidean distance dapat dilihat pada persamaan 2.4. s distance(X1 , X2 ) =
m
∑ (x1i − x2i)2
(2.4)
k=1
di mana, X1 = salah satu data training, misal X1 = (x11 , x12 , ..., x1m ) X2 = salah satu data testing, misal X2 = (x21 , x22 , ..., x2m ) m = jumlah atribut Semakin besar hasil perhitungan jarak dari rumus di atas, maka semakin jauh tingkat kemiripan antara kedua objek dan sebaliknya jika hasil nilainya semakin kecil maka akan semakin dekat tingkat kemiripan antar objek tersebut. Berikut ini adalah algoritma untuk melakukan k-NN. 1. Tentukan nilai k. 2. Hitung jarak masing-masing objek terhadap training data yang diberikan. 3. Urutkan objek-objek tersebut ke dalam kelompok yang mempunyai jarak euclid terkecil. 4. Kumpulkan label kelas untuk sejumlah k data terdekat. 5. Tentukan label dari query instance berdasarkan label kelas yang mayoritas.
26 Dalam algoritma ini, tidak ada rumus baku untuk menentukan nilai k yang paling optimal. Beberapa penelitian merekomendasikan beberapa cara untuk menentukannya. Ada penelitian yang menyarankan nilai k sama dengan akar dari jumlah data training (neighbors) (Jonsson & Wohlin, 2004). Ada yang menyarankan dengan metode eksperimen, dengan memulai eksperimen dari nilai k = 1, 2, 3, dst., lalu dipilih nilai k yang menghasilkan akurasi terbaik (Han et al., 2011, p. 349). Ada pula penelitian yang memberikan rekomendasi nilai k sebaiknya bernilai ganjil dan bukan merupakan kelipatan dari jumlah kelas, yang dimaksudkan supaya proses algoritma berjalan lebih cepat, dengan menghindari kesempatan dua atau lebih kelas mendapatkan votes yang sama (Hassanat, Abbadi, Altarawneh, & Alhasanat, 2014). Klasifikator k-NN ini merupakan salah satu klasifikator neighborhood yang populer, karena tekniknya yang sangat simpel dan sangat efisien dalam bidang pattern recognition, data mining, machine learning, text categorization, pattern recognition, dll. Akan tetapi, metode ini memiliki keterbatasan terkait kebutuhan memori dan kompleksitas waktu, karena sangat bergantung pada jumlah sampel data training. Ada dua kekurangan k-NN, yaitu (Hassanat et al., 2014): 1. karena metode ini menggunakan seluruh data training dalam setiap test, tidak ada model output yang dihasilkan. 2. performa klasifikasi bergantung pada nilai jumlah neighbor (k) yang membedakan data sampel satu dan yang lainnya.
2.7.2
Klasifikasi Support Vector Machine
Support Vector Machine adalah sebuah algoritma yang bekerja dengan nonlinear mapping yang berfungsi untuk mentransformasikan data training awal ke dimensi baru yang lebih tinggi. Pada dimensi yang baru ini, SVM akan menemukan hyperplane linear yang optimum. Dengan melakukan nonlinear mapping
27 ke dimensi yang lebih tinggi, data dari dua kelas pasti akan selalu dapat dipisahkan oleh sebuah hyperplane. Metode ini akan menemukan hyperplane dengan menggunakan support vectors dan margins (Han et al., 2011, p.336). Metode ini pertama kali dipresentasikan pada tahun 1992 oleh Vapnik, Boser, dan Guyon pada Workshop on Computational Learning. Teori SVM memperkenalkan strategi baru dengan mencari hyperplane terbaik pada ruang input. Prinsip SVM mula-mula adalah linear classifier, tetapi SVM kemudian dikembangkan agar mampu bekerja pada masalah non-linear dengan memasukkan kernel. Perkembangan SVM ini menstimulasi minat penelitian di bidang pattern recognition dalam mengembangkan potensi kemampuan metode SVM baik dari segi teoretis maupun dari segi aplikasi. Dewasa ini SVM telah berhasil diaplikasikan dalam menyelesaikan masalah praktis. Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah dua buah kelas pada ruang input. Gambar 2.12 memperlihatkan beberapa pattern yang merupakan anggota dari dua buah kelas: +1 dan -1. Pattern yang tergabung pada kelas -1 disimbolkan dengan warna merah (kotak), sedangkan pattern pada kelas +1, disimbolkan dengan warna kuning (lingkaran). Masalah klasifikasi dapat diartikan sebagai usaha menemukan garis yang memisahkan antara kedua kelompok tersebut. Berbagai alternatif garis pemisah discrimination boundaries ditunjukkan pada Gambar 2.12 (a).
28
Gambar 2.12: Grafik SVM yang berusaha menemukan hyperplane terbaik yang memisahkan kedua class 1 dan +1
Hyperplane pemisah terbaik antara kedua kelas dapat ditemukan dengan mengukur margin hyperplane dan mencari titik maksimalnya. Margin adalah jarak antara hyperplane dengan pattern terdekat dari masing-masing kelas. Pattern yang paling dekat ini disebut sebagai support vector. Garis tengah cetak tebal pada Gambar 2.12 (b) menunjukkan hyperplane yang terbaik, yaitu yang terletak tepat pada tengah-tengah kedua kelas, sedangkan titik merah dan kuning yang berada dalam lingkaran hitam adalah support vector. Usaha untuk mencari lokasi hyperplane ini merupakan inti dari proses pembelajaran SVM. Data yang tersedia dinotasikan sebagai ~xi ∈ ℜd , sedangkan label masing-masing dinotasikan yi ∈ − 1, +1 untuk i = 1, 2, ..., l, yang mana l adalah banyaknya data. Diasumsikan kedua kelas -1 dan +1 dapat terpisah secara sempurna oleh hyperplane berdimensi d, yang didefinisikan sebagai
~w.~x + b = 0
(2.5)
Pattern ~xi yang termasuk kelas -1 (sampel negatif) dapat dirumuskan sebagai pattern yang memenuhi pertidaksamaan berikut:
~w.~x + b ≤ −1
(2.6)
29 Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara hyperplane dengan titik terdekatnya, yaitu
1 k~wk .
Hal ini dapat dirumuskan sebagai
Quadratic Programming (QP) problem, yaitu mencari titik minimal persamaan 2.7, dengan memperhatikan konstrain persamaan 2.8.
τ(w) =
min ~w
1 k~wk 2
yi (~xi · ~w + b) − 1 ≥ 0,
(2.7)
∀i
(2.8)
Masalah ini dapat dipecahkan dengan berbagai teknik komputasi, di antaranya Lagrange Multiplier.
L(~w, b, α) =
l 1 k~wk2 − ∑ αi (yi ((~xi · ~w + b) − 1)), 2 i
(i = 1, 2, ..., l)
(2.9)
Simbol αi adalah Lagrange multipliers yang bernilai nol atau positif (αi ≥ 0). Nilai optimal dari persamaan 2.9 dapat dihitung dengan meminimalkan L terhadap ~w dan b, dan memaksimalkan L terhadap αi . Dengan memperhatikan sifat bahwa pada titik optimal gradien L = 0, persamaan 2.9 dapat dimodifikasi sebagai maksimalisasi problem yang hanya mengandung αi saja, sebagamana persamaan 2.10 berikut. Maximize: l
1
l
∑ αi − 2 ∑
i=1
αi α j yi y j~xi ·~x j
(2.10)
i, j=1
Subject to: l
αi ≥ 0
(i = 1, 2, ..., l)
∑ αiyi = 0
(2.11)
i=1
Dari hasil dari perhitungan ini diperoleh α1 yang kebanyakan bernilai positif.
30 Data yang berkorelasi dengan α1 yang positif inilah yang disebut sebagai support vector. Penjelasan di atas didasarkan pada asumsi kedua kelas dapat terpisah secara sempurna oleh hyperplane. Akan tetapi, umumnya dua buah kelas pada ruang input tidak dapat terpisah secara sempurna. Hal ini menyebabkan konstrain pada persamaan 2.8 tidak dapat terpenuhi, sehingga optimisasi tidak dapat dilakukan. Untuk mengatasi masalah ini, SVM dirumuskan ulang dengan menggunakan teknik softmargin. Dalam softmargin, persamaan 2.8 dimodifikasi dengan memasukkan variabel slack ξi (ξi > 0) sebagai berikut.
yi (~xi · ~w + b) ≥ 1 − ξi ,
∀i
(2.12)
Dengan demikian persamaan 2.8 diubah menjadi:
min ~w
l 1 τ(~(w), ξ) = k~wk2 +C ∑ ξi 2 i=1
(2.13)
Paramater C dipilih untuk mengontrol trade-of antara margin dan error klasifikasi ξ. Nilai C yang besar berarti akan memberikan penalti yang lebih besar terhadap error klasifikasi tersebut. Kernel Trick dan Klasifikasi Non Linear pada SVM Masalah praktis pada umumnya jarang yang bersifat linear separable. Kebanyakan masalah bersifat nonlinear. Untuk menyelesaikan masalah tersebut, SVM dimodifikasi dengan memasukkan fungsi Kernel. Langkah pertama, data ~x dipetakan oleh fungsi Φ(~x) ke ruang vektor yang berdimensi lebih tinggi. Pada ruang vektor yang baru ini, hyperplane yang memisahkan kedua kelas tersebut dikonstruksikan. Hal ini sejalan dengan teori Cover yang menyatakan ”Jika suatu transformasi bersifat non linear dan dimensi dari feature space cukup tinggi, maka data pada ruang input dapat dipetakan ke ruang fitur yang baru, dimana pattern-pattern tersebut pada probabilitas tinggi dapat dipisahkan secara linear”.
31
Gambar 2.13: Ilustrasi Fungsi Φ pada SVM yang Memetakan Data ke Ruang Vektor yang Berdimensi Lebih Tinggi
Ilustrasi dari konsep ini dapat dilihat pada Gambar 2.13. Pada gambar bagian sebelah kiri diperlihatkan data pada kelas dengan tanda lingkaran dan data pada kelas dengan tanda kotak yang berada pada ruang input berdimensi dua tidak dapat dipisahkan secara linear. Sedangkan gambar yang sebelah kanan menunjukkan bahwa fungsi Φ memetakan tiap data pada ruang input tersebut ke ruang vektor baru yang berdimensi lebih tinggi (dimensi 3), dimana kedua kelas dapat dipisahkan secara linear oleh sebuah hyperplane. Notasi matematika proses mapping ini dituliskan oleh persamaan 2.14.
Φ : ℜd → ℜq
d
(2.14)
Pemetaan dalam SVM ini dilakukan dengan menjaga topologi data, dalam artian dua data yang berjarak dekat pada ruang input akan berjarak dekat juga pada ruang fitur, sebaliknya dua data yang berjarak jauh pada ruang input akan berjarak jauh pada ruang fitur. Proses pembelajaran pada SVM dalam menemukan titik-titik support vector hanya bergantung pada dot product dari data yang sudah ditransformasikan pada ruang baru yang berdimensi lebih tinggi, yaitu Φ(~xi ) · Φ(~x j ). Karena umumnya transformasi Φ ini tidak diketahui dan sangat sulit untuk dipahami, maka perhitungan dot product sesuai teori Mercer tersebut dapat digantikan dengan fungsi kernel K(~xi ,~x j ) yang mendefinisikan secara implisit transformasi Φ. Hal ini disebut
32 sebagai Kernel Trick, yang dirumuskan dalam persamaan berikut:
K(~xi ,~x j ) = Φ(~xi ) · Φ(~x j )
(2.15)
Kernel trick memberikan berbagai kemudahan, karena dalam proses pembelajaran SVM, untuk menentukan support vector, kita hanya cukup mengetahui fungsi kernel yang dipakai, dan tidak perlu mengetahui wujud dari fungsi non linear Φ . Berbagai jenis fungsi kernel dirangkum pada Tabel 2.2. Tabel 2.2: Jenis-Jenis Kernel pada SVM
Jenis Kernel
Definisi
Polinomial derajat p
K(~xi ,~x j ) = (~xi · ~x j + 1) p
Gaussian Radial Basis Function (RBF)
K(~xi ,~x j ) = exp −
Sigmoid
K(~xi ,~x j ) = tanh (α~xi · ~x j + β)
(k~xi −~x j k 2σ)
2
Selanjutnya hasil klasifikasi dari data ~x diperoleh dari persamaan berikut:
f (Φ(~x)) = ~w · Φ(~x) + b
(2.16)
n
f (Φ(~x)) =
∑
αi yi Φ(~x).Φ(~xi ) + b
(2.17)
αi yi K(~x,~xi ) + b
(2.18)
i=1,~xi ∈SV
n
f (Φ(~x)) =
∑
i=1,~xi ∈SV
SV pada persamaan di atas merupakan subset dari kumpulan data training yang terpilih sebagai support vector. Dengan kata lain data ~xi yang berkorespondensi pada αi ≥ 0. Karakteristik SVM adalah sebagai berikut: 1. Secara prinsip SVM adalah linear classifier
33 2. Pattern recognition dilakukan dengan mentransformasikan data pada ruang input ke ruang yang berdimensi lebih tinggi, dan optimisasi dilakukan pada ruang vector yang baru tersebut. Hal ini membedakan SVM dari solusi pattern recognition pada umumnya, yang melakukan optimisasi parameter pada ruang hasil transformasi yang berdimensi lebih rendah daripada dimensi ruang input. 3. Prinsip kerja SVM pada dasarnya hanya mampu menangani klasifikasi dua kelas. Dalam memilih solusi untuk menyelesaikan suatu masalah, kelebihan dan kelemahan masing-masing metode harus diperhatikan. Selanjutnya metode yang tepat dipilih dengan memperhatikan karakteristik data yang diolah. Walaupun berbagai studi telah menunjukkan kelebihan metode SVM dibandingkan metode konvensional lain, SVM juga memiliki berbagai kelemahan.
Kelebihan SVM
adalah sebagai berikut: 1. Generalisasi Generalisasi didefinisikan sebagai kemampuan suatu metode klasifikasi untuk mengklasifikasikan suatu pattern, pada data yang tidak termasuk dalam fase pembelajaran metode itu. 2. Statistika Sebagai metode yang berbasis statistik, SVM memiliki landasan teori yang dapat dianalisa dengan jelas, dan tidak bersifat black box. 3. Feasibility Implementasi SVM relatif mudah, karena proses penentuan support vector dapat dirumuskan dalam QP problem. Disamping kelebihannya, SVM memiliki kelemahan atau keterbatasan, antara lain:
34 1. Sulit dipakai dalam problem berskala besar. Skala besar dalam hal ini dimaksudkan dengan jumlah sample yang diolah. 2. SVM secara teoritik dikembangkan untuk problem klasifikasi dengan dua kelas. Tetapi dewasa ini SVM telah dimodifikasi agar dapat menyelesaikan masalah dengan kelas lebih dari dua, antara lain dengan strategi One versus rest dan strategi Tree Structure. Klasifikasi Multikelas pada SVM Masalah klasifikasi yang memiliki jumlah kelas lebih dari dua disebut multikelas. Sementara itu, SVM standar didesain untuk masalah klasifikasi dua kelas. Ada beberapa teknik yang memungkinkan penggunaan SVM standar dua kelas untuk masalah multikelas, misal K kelas (K = 1, 2, 3, ...), yaitu (Bishop, 2006, pp 338339): 1. One-vs-TheRest, yaitu membangun K buah SVM,dimana model ke-k, yaitu yk (x), dilatih dengan menggunakan data dari kelas Ck sebagai sampel positif (+1) dan data dari kelas yang lain sebagai sampel negatif (−1). Contoh: y1(x) akan memisahkan antara kelas 0 dan kelas-kelas lainnya (1,2,3,4) 2. One-vs-One, yaitu membangun K(K − 1)/2 buah SVM yang merupakan semua kemungkinan pasangan kelas, selanjutnya suatu data penguji akan diklasifikasikan ke kelas yang menang paling banyak. Contoh: y1 (x) akan memisahkan kelas 0 dan kelas 1, y2 (x) akan memisahkan kelas 1 dan kelas 2, dst.
2.7.3
Klasifikasi Artificial Neural Networks
Artificial Neural Networks (ANN) adalah prosesor tersebar paralel yang sangat besar dan memiliki kemampuan untuk menyimpan pengetahuan yang bersifat pengalaman dan membuatnya siap untuk digunakan untuk menerima dan mengolah input (Suyanto, 2014). ANN menyerupai otak manusia dalam dua hal, yaitu pengetahuan
35 diperoleh jaringan melalui proses belajar dan kekuatan hubungan antarsel syaraf (neuron) yang dikenal sebagai bobot-bobot sinaptik digunakan untuk menyimpan pengetahuan. ANN melibatkan waktu training yang panjang dan membutuhkan parameterparameter yang biasanya ditentukan secara empiris. Kelemahan ANN yang sering dikritik adalah sulitnya menjelaskan interpretasi knowledge dari ANN. Sangat sulit untuk manusia memahami arti simbol seperti bobot dan hidden layers di dalam ANN. Kelemahan ini membuat ANN awalnya kurang diminati (Han et al., 2011, p.327). Akan tetapi, ANN memiliki kelebihan yaitu tingginya toleransi terhadap data yang disertai derau dan kemampuannya untuk mengklasifikasikan object yang belum pernah di-training sebelumnya. ANN juga dapat digunakan ketika hanya sedikit pengetahuan (data training) tersedia dan cocok untuk input-output yang kontinu. Telah terbukti pula bahwa ANN berhasil diterapkan pada data dunia nyata, termasuk pengenalan karakter tulisan tangan, patologi kedokteran, dan pelatihan komputer untuk mengucapkan teks bahasa Inggris (Han et al., 2011, p.327). Model Sel Syaraf Topologi ANN dibuat seperti halnya sel syaraf (neuron) yang merupakan inti pemrosesan informasi. Terdapat tiga elemen utama pada model neuron seperti terlihat pada Gambar 2.14, yaitu: 1. Sekumpulan sinapsis atau jalur hubungan, di mana masing-masing sinapsis memiliki bobot atau kekuatan hubungan. 2. Suatu fungsi penjumlahan untuk menjumlahkan sinyal-sinyal (input) yang diberi bobot oleh sinapsis neuron yang sesuai. Operasi-operasi yang digambarkan di sini mengikuti aturan linear combiner. 3. Suatu fungsi aktivasi untuk membatasi amplitido output dari setiap neuron.
36
Gambar 2.14: Model Matematis Nonlinear dari Suatu Neuron(Suyanto, 2014)
Berdasarkan Gambar 2.14, setiap node pada masing-masing layer memiliki suatu error rate, yang akan digunakan untuk proses pelatihan. ANN dengan layerlayer memiliki konsep kerja sebagai berikut: input layer menunggu input dimasukkan ke masing-masing node. Input tersebut dikalikan dengan bobot menghasilkan penjumlahan bobot kali input, yang secara matematis dituliskan pada persamaan 2.19. p
uk =
∑ wk j x j
(2.19)
j=1
dan
yk = ϕ(uk − θk )
(2.20)
Di mana x1 , x2 , ..., x p adalah sinyal input; wk1 , wk2 , ..., wkp adalah bobot-bobot sinaptik dari neuron k; uk adalah linear combiner output; θk adalah threshold; ϕ(.) adalah fungsi aktivasi; dan yk adalah sinyal output dari neuron. Penggunaan threshold memberikan pengaruh adanya affine transformation terhadap output uk dari linear combiner pada model Gambar 2.14. Multilayer Feed-Forward Neural Network Ada banyak macam ANN dan algoritmanya. Yang paling terkenal pada 1980-an
37 adalah multilayer feed-forward neural network dengan algoritma backpropagation. Algoritma backpropagation secara berulang-ulang mempelajari set bobot-bobot untuk memprediksi label dari sejumlah objek yang dijadikan input. Dalam multilayer feed-forward neural network ini, ada beberapa macam layer yaitu sebuah input layer, satu atau beberapa hidden layer, dan sebuah output layer. Contoh dari jenis ANN ini ditunjukkan pada Gambar 2.15.
Gambar 2.15: Multilayer Feed-Forward Neural Network (Han et al., 2011)
Fungsi Aktivasi Fungsi aktivasi direpresentasikan dengan notasi ϕ(.) yang mendefinisikan nilai output dari suatu neuron dalam level aktivasi tertentu berdasarkan nilai output pengkombinasi linear uk . Ada beberapa macam fungsi aktivasi yang biasanya digunakan pada ANN, seperti fungsi linear, fungsi step, fungsi ramp, fungsi sigmoid, fungsi hyperbolic tangent, dan fungsi Gaussian. Berikut ini adalah beberapa contoh persamaan matematis fungsi aktivasi yang telah disebutkan.
38 1. Fungsi step (threshold function)
ϕ(v) =
1
jika
v≥0
0
jika
v<0
(2.21)
2. Fungsi piecewise-linear 1 ϕ(v) = v 0
v≥ 1 2
1 2
> v > − 12
(2.22)
v ≤ − 12
3. Fungsi Sigmoid ϕ(v) =
1 1 + exp(−αv)
(2.23)
Algoritma Backpropagation Sesuai dengan namanya, algoritma ini melakukan dua tahap perhitungan, yaitu perhitungan maju untuk menghitung error antara keluaran output aktual dan target, dan perhitungan mundur yang mempropagasikan balik error tersebut untuk memperbaiki bobot-bobot sinaptik pada semua neuron yang ada. Adapun algoritma dari backpropagation ini dapat dijelaskan dengan langkah-langkah sebagai berikut (Han et al., 2011, p. 330). 1. Inisialisasi bobot random dengan interval -1 s.d. 1, atau -0.5 s.d. 0.5. 2. Propagasikan nilai input. Untuk unit input, I j , output-nya adalah O j , dengan bobot-bobot yang dikalikan dan dijumlahkan sesuai dengan persamaan 2.24.
I j = ∑ wi j Oi + θ j ,
(2.24)
i
Di mana nilai wi j adalah bobot dari unit i dari layer sebelumnya ke unit j, Oi adalah output dari unit i dari layer sebelumnya; dan θ j adalah bias unit. Bias berperan sebagai threshold.
39 3. Setiap output dihitung sedemikian sehingga menghasilkan O j yang dapat dipilih sesuai dengan fungsi aktivasi, misalkan fungsi Sigmoid (Persamaan 2.23). 4. Hitung error untuk unit j (Err j ) dengan persamaan
Err j = O j (1 − O j )(T j − O j ),
(2.25)
di mana T j adalah nilai target. Sementara O j (1 − O j ) adalah turunan dari fungsi logistik. Untuk menghitung error sebuah hidden layer unit j digunakan Persamaan 2.26.
Err j = O j (1 − O j ) ∑ Errk w jk
(2.26)
k
Di mana w jk adalah bobot koneksi dari unit j ke unit k pada layer yang lebih tinggi, dan Errk adalah error unit k. Bobot-bobot diperbaharui dengan persamaan berikut, di mana ∆wi j adalah perubahan bobot wi j .
∆wi j = (l)Err j Oi
(2.27)
wi j = wi j + ∆wi j
(2.28)
Variabel l pada persamaan 2.27 adalah learning rate, sebuah konstanta yang memiliki nilai antara 0.0 dan 1.0. Algoritma backpropagation belajar dengan menggunakan metode gradient descent untuk mencari nilai bobot-bobot yang cocok dengan data training, sedemikian sehingga mean square error (MSE) antara prediksi dan target mencapai minimum. 5. Nilai bias diperbaharui dengan menggunakan persamaan berikut, di mana ∆θ j
40 adalah perubahan bias θ j .
∆θ j = (l)Err j
(2.29)
θ j = θ j + ∆θ j
(2.30)
Proses training akan berhenti ketika: 1. Semua ∆wi j pada epoch sebelumnya nilainya kurang atau sama dengan threshold, atau 2. Persentase objek yang misclassified pada epoch sebelumnya kurang dari threshold, atau 3. Maximum Epoch sudah tercapai. Pada umumnya, seratus bahkan seribu epoch diperlukan sebelum bobot-bobotnya konvergen. Parameter-Parameter ANN Terdapat paraemeter ANN yang sangat penting dan sensitif pada proses pelatihan, yaitu: 1. Jumlah neuron atau node pada hidden layer Sampai saat ini belum ada formula optimal yang dapat digunakan untuk menghitung jumlah neuron pada hidden layer. Ada yang menyarankan nilai dari hidden layer ini didapatkan melalui hasil eksperimen (Han et al., 2011). Ada banyak rule of thumbs untuk menenntukan jumlah hidden node. Salah satunya adalah jumlah hidden node sebaiknya 2/3 dari jumlah node input dan output layer (Heaton, 2008, p.159). 2. Learning rate Parameter ini sangat signifikan pengaruhnya terhadap proses pelatihan. Apabila terlalu besar, misalkan 0.99, maka akan mengakibatkan Mean Square Er-
41 ror (MSE) menurun tajam pada awal iterasi, tetapi akan mengakibatkan MSE berosilasi tidak terkendali. Sebaliknya nilai learning rate yang terlampau kecil (misalkan 0,000001) akan mengakibatkan MSE menurun dengan sangat pelan. Salah satu strategi yang dapat digunakan adalah dengan menggunakan learning rate yang besar pada awal iterasi dan menurunkannya secara gradual pada iterasi-iterasi berikutnya. 3. Jumlah Iterasi (Epoch) Jumlah iterasi merupakan batasan berapa kali pelatihan dilakukan. Misalkan jumlah iterasi adalah 100, maka pelatihan berulangnya maksimal adalah 100 kali. 4. Batasan Error Batasan error merupakan batasan berhentinya pelatihan berdasarkan error minimal yang diinginkan. Jika batasan error yang diinginkan terlalu kecil, maka kemungkinan overfit akan semakin tinggi, artinya akurasi tinggi untuk data training dan akurasi rendah pada data uji.
2.8
Pembagian Data
Ada beberapa macam cara untuk melakukan pembagian data guna membangun model klasifikasi dari data yang telah dikumpulkan. Beberapa metode di antaranya adalah sebagai berikut: 1. Data spliting Data splitting ini maksudnya adalah membagi data menjadi dua kelompok, yaitu kelompok data latih dan kelompok data uji. Data latih digunakan untuk melatih klasifikator, sedangkan data uji digunakan untuk memperkirakan error rate dari klasifikator yang telah dilatih. Gambar 2.16 mengilustrasikan bagaimana data dibagi menjadi dua kelompok.
42
Gambar 2.16: Metode Pembagian Data Menjadi Dua Kelompok Data
Kekurangan dari metode ini terutama adalah (a) untuk data yang jumlahnya sedikit, keleluasaan untuk menyisihkan data uji sangat sempit, (b) karena percobaan data latih- data uji ini hanya sekali, kemungkinan error rate yang tinggi akan sangat mungkin, terlebih apabila pembagian data kurang memberikan hasil yang maksimal. 2. Cross Validation Ada tiga macam metode cross validation, yaitu (a) Random Subsampling Random Subsampling dikenal sebagai metode Monte Carlo cross validation. Metode ini menggunakan data latih dan data uji yang dibagi secara random. Pemilihan data latih dan data uji secara acak pada dataset yang sama ini dapat dilakukan berulang-ulang, sehingga menghasilkan error estimasi rata-rata dari keseluruhan percobaan 1 s.d. i sebagaimana dituliskan pada persamaan 2.31 dan tergambar pada Gambar 2.17. Proporsi antara data latih dan data uji ditentukan terlebih dahulu.
E=
1 K ∑ Ei K i=1
(2.31)
43
Gambar 2.17: Metode Pembagian Data dengan Random Subsampling
(b) K-Fold Cross-Validation Dalam teknik ini data dibagi menjadi K bagian yang masing-masing memiliki jumlah yang sama. Bagian pertama digunakan sebagai data uji, bagian sisanya digunakan untuk data latih. Selanjutnya, bagian kedua digunakan sebagai data uji baru, bagian sisanya untuk data latih yang baru. Begitu seterusnya dilakukan berulang-ulang sebanyak K kali. Perhitungan nilai error rate sama seperti persamaan 2.31. Gambar 2.18 berikut mengilustrasikan prosedur dari K-Fold cross validation.
Gambar 2.18: Metode Pembagian Data dengan K-Fold Cross-Validation
Keuntungan dari metode ini adalah keseluruhan data pernah digunakan sebagai data latih dan data uji, sehingga hasil error rate atau performa
44 dari model dapat mewakili keseluruhan data. Tidak ada aturan khusus mengenai penentuan nilai jumlah fold (K) yang optimal. Nilai K yang direkomendasikan tergantung besarnya jumlah dataset. Untuk dataset yang besar, 3-Fold Cross Validation sudah cenderung akurat. Untuk dataset yang kecil, penggunaan leave-one out cross validation (lihat sub bab berikutnya) sangat disarankan, karena pelatihan dilakukan sebanyak mungkin. Pilihan yang umum untuk nilai K pada K-Fold Cross Validation adalah 10. (c) Leave-one-out Cross Validation Merupakan turunan dari metode K-Fold Crossvalidation, di mana K yang dipilih adalah sebesar jumlah data. Misalkan dataset yang memiliki N samples, maka percobaan dilakukan sebanyak N kali. Setiap percobaan menggunakan sebanyak N − 1 sample untuk data latih dan sisanya untuk pengujian. Ilustrasi prosedur ini dapat dilihat pada Gambar 2.19.
Gambar 2.19: Metode Pembagian Data dengan Leave-one-out Cross Validation
45
2.9
Evaluasi
Salah satu cara untuk mengevaluasi performa suatu klasifikator adalah dengan menggunakan confusion matrix. Confusion matrix merupakan alat yang sangat berguna untuk menganalisis seberapa baik klasifikator mengenali objek dari kelaskelas yang berbeda (Han et al., 2011, pp 304-305). Untuk jumlah kelas m ≥ 2, ukuran dari confusion matrix adalah sebesar m × m. Bentuk standard confusion matrix multi kelas ditunjukkan pada Tabel 2.3. Tabel 2.3: Confusion Matrix Multi Kelas secara Umum
Kelas Kelas Output Target 1 2 3 ... j 1 C11 C12 C13 ... C1 j 2 C21 C22 C23 ... C2 j 3 C31 C32 C33 ... C3 j ... ... ... ... ... ... Ci1 Ci2 Ci3 ... Ci j i Di mana Ci j merupakan jumlah objek dalam kelas i(i = 1, 2, 3, ...) yang diklasifikasikan ke dalam kelas j( j = 1, 2, 3, ...). Diagonal utama dalam matriks tersebut menandakan sejumlah objek dalam kelas i yang diklasifikasikan secara benar oleh sistem. Khusus untuk metode K-fold cross validation, confusion matrix yang dipakai adalah penjumlahan dari masing-masing confusion matrix tiap kali percobaan terhadap data test. Misalkan K = 10, maka confusion matrix dari metode ini adalah penjumlahan dari 10 confusion matrix (Elkan, 2012). Adapun parameter penting yang digunakan untuk mengukur performa berdasarkan confusion matrix adalah akurasi. Akurasi didefinisikan sebagai perbandingan antara jumlah diagonal utama confusion matrix dengan jumlah keseluruhan objek. Untuk jumlah kelas = m, di mana i, j = 1, 2, ..., m definisi akurasi ini dapat diformulasikan oleh Persamaan 2.32. Jika nilai akurasi semakin mendekati
46 100 %, maka performa klasifikator semakin tinggi.
akurasi =
∑m i Cii × 100% m m ∑i ∑ j Ci j
(2.32)
Nilai error rate (misclassification rate) (lihat Persamaan 2.33) sering juga dipakai untuk menentukan performa suatu sistem klasifikasi. Semakin tinggi nilai error rate, semakin buruk klasifikator. Sebaliknya, semakin rendah nilai errorrate, semakin baik klasifikator.
error rate = 1 − akurasi
(2.33)
Selain akurasi dan error rate, parameter yang berguna untuk menentukan performa model klasifikasi adalah F-skor. F-skor kelas i (F-Skori ) melibatkan nilai Precisioni dan Recalli seperti tertulis pada persamaan 2.34.
F-skori = 2 ·
Precisioni × Recalli Precisioni + Recalli
(2.34)
Di mana Precisioni merupakan perbandingan jumlah objek yang diklasifikasi secara benar sebagai kelas i oleh sistem terhadap jumlah objek yang diklasifikasikan sebagai kelas i. Sedangkan Recalli adalah perbandingan jumlah objek yang diklasifikasi secara benar sebagai kelas i oleh sistem terhadap jumlah objek kelas target i. Untuk jumlah kelas m, rumus Precisioni dan Recalli dapat ditulis seperti pada persamaan 2.35 dan 2.36.
Precisioni =
Cii m ∑ j=1 C ji
(2.35)
dan
Recalli =
Cii m ∑ j=1 Ci j
(2.36)