bab 2 tinjauan referensi 2.1 machine learning

26
7 BAB 2 TINJAUAN REFERENSI 2.1 Machine Learning Machine learning merupakan sebuah gabungan antara ilmu dan seni dari sebuah pemrograman komputer sehingga machine learning dapat belajar dari data (G Aurelien, 2017). Menurut Aurelien Geron (2017) machine learning tepat digunakan ketika: Masalah yang membutuhkan solusi dengan banyak rules code. Machine learning dapat menyederhanakan code dan bahkan menghasilkan performa yang lebih baik • Masalah yang kompleks yang tidak ada solusinya ketika menggunakan pendekatan tradisional. Dengan machine learning dapat menemukan solusinya. • Lingkungan yang berubah-ubah. Machine learning dapat beradaptasi dengan data baru maupun data yang berjumlah besar dan mendapatkan insight tentang masalah yang kompleks Pendekatan machine learning dapat dikelompokkan menjadi tiga kategori yaitu berdasarkan (G Aurelien, 2017): • Training berdasarkan pengawasan manusia atau tidak (supervised, unsupervised, semisupervised, reinforcement learning) • Cara belajar, apakah dapat belajar secara bertahap atau tidak (online atau batch learning) • Cara mengeneralisasi, apakah bekerja dengan membandingkan titik data baru dengan titik data yang diketahui, atau sebaliknya mendeteksi pola dalam data pelatihan dan membangun model prediksi (instance-based atau model-based)

Upload: khangminh22

Post on 13-Jan-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

7

BAB 2

TINJAUAN REFERENSI

2.1 Machine Learning

Machine learning merupakan sebuah gabungan antara ilmu dan seni

dari sebuah pemrograman komputer sehingga machine learning dapat belajar

dari data (G Aurelien, 2017). Menurut Aurelien Geron (2017) machine

learning tepat digunakan ketika:

• Masalah yang membutuhkan solusi dengan banyak rules code.

Machine learning dapat menyederhanakan code dan bahkan

menghasilkan performa yang lebih baik

• Masalah yang kompleks yang tidak ada solusinya ketika

menggunakan pendekatan tradisional. Dengan machine learning

dapat menemukan solusinya.

• Lingkungan yang berubah-ubah. Machine learning dapat

beradaptasi dengan data baru maupun data yang berjumlah besar

dan mendapatkan insight tentang masalah yang kompleks

Pendekatan machine learning dapat dikelompokkan menjadi tiga

kategori yaitu berdasarkan (G Aurelien, 2017):

• Training berdasarkan pengawasan manusia atau tidak (supervised,

unsupervised, semisupervised, reinforcement learning)

• Cara belajar, apakah dapat belajar secara bertahap atau tidak (online

atau batch learning)

• Cara mengeneralisasi, apakah bekerja dengan membandingkan titik

data baru dengan titik data yang diketahui, atau sebaliknya

mendeteksi pola dalam data pelatihan dan membangun model

prediksi (instance-based atau model-based)

8

2.1.1 Supervised Learning

Pada supervised learning data yang dimasukkan kedalam

algoritma machine learning merupakan data yang memiliki solusi di

dalamnya atau biasa disebut label. (G Aurelien, 2017)

Gambar 2.1 Data Yang Berlabel Untuk Dilatih

Sumber: Aurelien Geron, 2017

Gambar 2.1 menjelaskan tugas dari supervised learning

biasanya klasifikasi. Contohnya filter spam training dengan banyak

data email yang memiliki label spam dan bukan spam. Nantinya harus

dapat memprediksi sebuah email baru.

2.1.2 Unsupervised Learning

Pada unsupervised learning sebuah sistem belajar untuk

training tanpa menggunakan label atau belajar sendiri.

Gambar 2.2 Data Yang Tidak Berlabel Untuk Unsupervised Learning

Sumber: Aurelien Geron, 2017

9

Unsupervised learning memiliki contoh yaitu mengenai

pengunjung suatu blog. Gambar 2.2 menjalankan algoritma clustering

untuk mencoba mendeteksi kelompok pengunjung yang serupa namun

tanpa kita memberitahu algoritma menentukan grup mana pengunjung

berasal, nantinya ia akan menemukan koneksi antar pengunjung tanpa

bantuan manusia. (G Aurelien, 2017).

2.1.3 Semisupervised Learning

Pada semisupervised learning menggunakan sebagaian data

yang berlabel. Biasanya perbandingan data yang berlabel lebih sedikit

dibanding yang tidak berlabel. Contoh yang paling sederhana adalah

photo hosting service seperti Google Photos ketika kita mengupload

foto keluarga, ia dapat mengidentifikasi orang pada foto keluarga

terdapat di foto lainnya. Kebanyakan algoritma semisupervised

learning merupakan kombinasi dari algoritma unsupervised dan

supervised. Contohnya, deep belief network (DBN) didasarkan pada

komponen unsupervised yaitu restricted boltzman machine (RBM).

RBM dilatih secara berurutan dengan cara unsupervised learning, dan

seluruh sistem disesuaikan dengan menggunakan supervised learning

(G Aurelien, 2017).

2.1.4 Reinforcement Learning

Sistem pembelajaran, yang disebut agen dalam konteks ini,

dapat mengamati lingkungan, memilih dan melakukan tindakan.

Ketika agen memilih jalan yang salah akan mendapat penalty lalu ia

harus belajar dengan sendirinya, untuk mendapatkan reward (jika

memilih jalan yang benar) terbanyak dari waktu ke waktu. Suatu

policy menentukan tindakan apa yang harus dipilih agen ketika berada

dalam situasi tertentu (G Aurelien, 2017).

Sebagai contoh, DeepMind’s AlphaGo program menjadi berita

utama ketika mengalahkan juara dunia Lee Sedol dalam permainan

Go. AlphaGo belajar dengan cara menganalisis jutaan game, dan

kemudian melawan dirinya sendiri. Ketika dalam pertandingan

10

melawan juara dunia AlphaGo hanya bermain berdasarkan analisis

game yang telah dipelajarinya.

2.1.5 Batch Learning

Dalam batch learning, machine learning model dilatih

menggunakan seluruh dataset yang tersedia. Ketika sudah memiliki

model yang bagus dalam test set maka model sudah dapat digunakan.

Proses ini sering juga disebut offline learning. Namun jika ada

penambahan data maka sebuah model harus dilatih menggunakan

seluruh dataset ditambah data yang baru (B Ekaba, 2019).

Untungnya, seluruh proses pada machine learning dapat

diotomatiskan, sehingga batch learning pun dapat beradaptasi

terhadap perubahan yang ada. Training menggunakan banyak data

dapat memakan waktu yang lama, oleh karena itu jika menggunakan

batch learning, training untuk memperbarui data dilakukan sehari

atau seminggu sekali. Ketika memiliki data dengan jumlah yang besar

dan mengotomatiskan sistem untuk training dari awal setiap hari,

pada akhirnya akan menghabiskan resources. Sangat tidak mungkin

untuk menggunakan algoritma batch learning (B Ekaba, 2019).

2.1.6 Online Learning

Dalam online learning, data yang dilatih kedalam sistem

secara bertahap baik secara individu maupun kelompok kecil. Online

learning sangat cocok ketika data dihasilkan secara berkelanjutan dan

ketika kita membutuhkan data yang real-time untuk memprediksi

sebuah model (B Ekaba, 2019).

Online learning sangat bagus untuk sistem yang menerima

data secara berkelanjutan. Online learning merupakan opsi yang baik

ketika mempunyai sumber daya komputasi yang terbatas. Ketika

sebuah online learning telah mempelajari tentang data baru, maka

data tersebut dapat dibuang. Ini dapat menghemat banyak memori.

Algoritma online learning juga dapat digunakan untuk melatih sistem

pada kumpulan data besar yang tidak dapat ditampung dalam memori

utama (B Ekaba, 2019).

11

2.1.7 Instance Based Learning

Dalam instance based learning cara machine learning

mengeneralisasi adalah dengan menggunakan hati kemudian

mengeneralisasikannya kedalam kasus-kasus baru menggunakan

pengukuran kesamaan. Alih-alih hanya menandai email yang identik

dengan spam, filter spam dapat diprogram untuk juga menandai email

yang sangat mirip dengan email spam yang dikenal. Ini membutuhkan

parameter kesamaan antara dua email. Kesamaan antara dua email

bisa dilihat dari jumlah kata yang mereka miliki. Sistem akan

menandai email sebagai spam jika memiliki banyak kata yang sama

dengan email spam yang dikenal. Ini disebut instance based learning,

sistem mengeneralisasikan kasus baru dengan menggunakan

parameter kesamaan (G Aurelien, 2017).

2.1.8 Model Based Learning

Dengan menggunakan model based maka cara

mengeneralisasi yaitu dengan membangun model, lalu menggunakan

model tersebut untuk memprediksi (G Aurelien, 2017).

Gambar 2.3 Model Based Learning

Sumber: Aurelien Geron, 2017

Contoh, ketika kita ingin mengetahui apakah uang dapat

membuat orang bahagia, maka yang harus dilakukan adalah

mengunduh data better life index dari website OECD dan GDP per

12

kapita dari website IMF. Lalu gabungkan kedua data tersebut seperti

pada tabel 2.1

Table 2.1 Data Gabungan Antara GDP Per Kapita Dan Kesejahteraan

Hidup

Gambar 2.4 Data Tren GDP Per Kapita Dan Kesejahteraan Hidup

Sumber: Aurelien Geron, 2017

Walaupun data terlihat noisy/random, dapat dilihat kesejahteraan hidup

meningkat sejalan dengan kenaikin GDP per kapita. Oleh karena itu pemodelan

kesejahteraan hidup sebagai fungsi linear dari GDP per kapita. Langkah ini

disebut pemilihan model (G Aurelian, 2017).

Country GDP per capita(USD) Life

satisfaction

Life satisfaction

Hungary 12,240 4.9

Korea 27,195 5.8

France 37,675 6.5

Australia 50,962 7.3

United States 55,805 7.2

13

2.2 Natural Language Processing

Natural language processing (NLP) merupakan serangkaian metode

untuk membuat bahasa manusia dapat diakses komputer. Tujuan dari NLP

adalah untuk merancang dan membuat aplikasi yang dapat memfasilitasi

interaksi antar manusia dengan mesin dan device lain melalui penggunaan

natural language. Terdapat beberapa sektor dalam kehidupan sehari-hari

yang telah mengimplementasikan natural language processing seperti:

google translate, klasifikasi email, mesin pencarian google, dan chatbot (E

Jacob, 2018). Pustejovsky dan Stubbs (2012) menjelaskan bahwa ada

beberapa area utama penelitian pada NLP, diantaranya:

• Question Answering Systems (QAS) adalah kemampuan sebuah

komputer dalam menjawab pertanyaan yang diberikan oleh

pengguna. Dibandingkan memasukkan kata kunci ke dalam

browser pencarian, dengan QAS, pengguna bisa langsung bertanya

dalam bahasa natural yang digunakannya, baik itu bahasa Inggris,

Mandarin, ataupun Indonesia.

• Summarization merupakan pembuatan ringkasan dari sekumpulan

konten dokumen atau email. Dengan menggunakan teknologi ini,

user dapat dengan mudah mengkonversikan dokumen teks

kedalam bentuk slide presentasi.

• Machine Translation merupakan sebuah aplikasi yang dapat

memahami bahasa manusia dan menterjemahkannya ke dalam

bahasa lain. Salah satunya, Google Translate yang

menterjemahkan bahasa secara real time.

• Speech Recognition merupakan cabang ilmu NLP. Bahasa yang

sering digunakan adalah berupa pertanyaan dan perintah.

• Document Classification adalah area penelitian NLP. Pekerjaan

yang dilakukan aplikasi ini adalah menentukan dimana tempat

terbaik dokumen yang baru dimasukkan ke dalam sistem.

Contohnya, pada aplikasi spam filtering, news article

classification, dan movie review.

14

2.3 Analisis Sentimen

Analisis sentimen meliputi analisis, deteksi, dan evaluasi pemikiran

manusia terhadap kejadian, layanan, masalah, dan kebutuhan lainnya. Pada

bidang tujuan utamanya adalah mendapatkan sentimen dan emosi

berdasarkan pada tanggapan-tanggapan yang didapatkan dari tulisan,

mimik wajab, cara bicara, musik, pergerakan, dan hal lainnya (Yadollahi,

Shahraki, Zaiane, 2017).

Analisis sentimen mengarah kepada proses dalam mengidentifikasi

suatu informasi penting dan subjektif berdasarkan tanggapan orang yang

mengandung informasi. Proses ini dapat diimplementasikan pada sumber

teks yang beragam serta pada tingkat perincian yang berbeda dimulai dari

dokumen hingga kalimat individu atau bahkan kata-kata. Secara khusus,

analisis sentimen bisa bisa dibagi menjadi beberapa kategori, teks yang

positif, negatif, dan kadang netral (Giatsoglou et al, 2017:8). Klasifikasi

sentimen merupakan suatu cara dalam mendeteksi apakah suatu teks

mengekspresikan opini yang positif atau negatif terhadap hasil ulasan

produk. Blog, artikel, partai politik, atau suatu kebijakan. (Martinez-

Camara et al dalam Nakov et al, 2016:1).

Analisis sentimen sudah menjadi bagian penting dalam aplikasi

pada umummnya dengan menyediakan beberapa keuntungan bagi sejumlah

domain yang berbeda-beda. Contohnya, analisis sentimen penting dalam

meningkatkan penjualan suatu produk serta menentukan strategi pemasaran

suatu produk, mengidentifikasi perubahan pandangan ideologis dan

menganalisis tren dalam perencanaan strategi politik, atau memprediksi

pergerakan pasar saham berdasarkan berita yang terdapat di media sosial.

(Giatsoglou et al., 2017).

Algoritma dalam analisis sentimen yaitu proses natural language

processing dengan menggunakan sumber tambahan seperti kamus

sentimen untuk merepresentasikan dokumen-dokumen yang ada. Fitur

dokumen penting dalam mengidentifikasi sentimen. Fitur-fitur yang

digunakan, seperti terms frequency, parts of speech, kata dan frasa yang

sudah dilabel opininya, dan keberadaan negasi dan kata-kata penting

(Giatsoglou et al., 2017). Kemudian, identifikasi sentimen dilanjutkan

15

dengan menandakan dokumen berdasarkan polaritas positif, negatif atau

netral. Berbagai teknik dapat digunakan untuk identifikasi sentimen, seperti

supervised dan unsupervised (Giatsoglou et al., 2017).

2.4 Recurrent Neural Network

Recurrent neural network adalah bagian dari neural network yang memproses

sejumlah data yang bersambung (sequential data). Secara umum, manusia tidak membuat

keputusan dari awal setiap saat. Manusia selalu memperhitungkan informasi masa lalu dalam

membuat keputusan. Seperti halnya manusia, Recurrent Neural Network menyimpan

informasi dari masa lalu dengan melakukan looping dalam arsitekturnya seperti yang terlihat

dalam gambar 2.5 yang secara otomatis membuat informasi dari masa lalu tetap tersimpan.

Gambar 2.5 Proses Perulangan Informasi Pada RNN

Sumber: Olah, 2015

Pada gambar 2.5, Xt sebagai input, Ht sebagai output dan terdapat alur perulangan

yang memungkinkan informasi dilewatkan dari satu langkah jaringan ke langkah berikutnya.

Recurrent Neural Network dapat dianggap sebagai banyak salinan dari jaringan yang sama.

Masing-masing jaringan mengirimkan pesan kepada jaringan berikutnya seperti terlihat pada

gambar 2.6.

Gambar 2.6 RNN Terdiri Dari Banyak Salinan Jaringan Yang Sama

Sumber: Olah, 2015

16

2.5 Long Short-Term Memory

Long Short-Term Memory (LSTM) merupakan salah satu variasi

dari Recurrent Neural Network yang dibuat untuk menghindari

ketergantungan mengingat dalam jangka waktu yang pendek pada Recurrent

Nueral Network (RNN). LSTM memiliki kelebihan dalam mengingat

informasi jangka panjang. Pada RNN perulangan jaringan hanya

menggunakan satu layer sederhana, yaitu tanh layer seperti pada gambar 2.7.

Gambar 2.7 Layer tanh Pada RNN

Sumber: Olah, 2015

Persamaan tanh diuraikan pada persamaan 2.1

tanh(�) = 2�(2�) – 1 (2.1)

Dimana:

� = fungsi aktivasi sigmoid

� = data input

Sedangkan, LSTM memiliki empat layer pada perulangan modelnya seperti pada

gambar 2.8

17

Gambar 2.8 Perulangan Dengan Empat Layer Pada LSTM

Sumber: Olah, 2015

Persamaan metode LSTM menurut Hochreiter & Schmidhber (1997) diuraikan pada

persamaan 2.2

�� = �(��. [h�−1, ��] + �� (2.2)

�� = �(��. [h�−1, ��] + ��)

��̅ = ��h(��. [h�−1, ��] + ��)

�� = �� ∗ ��−1 + �� ∗ ��̅ )

�=�(� .[h�−1,��]+� ) h�= �∗tanh(��)

Kunci utama pada LSTM adalah cell state. Cell state merupakan garis

horizontal yang menghubungkan semua output layer pada LSTM, dengan

hanya beberapa interaksi linear yang minor. Sangat mudah bagi informasi

untuk mengalir tanpa berubah. seperti pada gambar 2.9

Gambar 2.9 Cell State Pada LSTM

Sumber: Olah, 2015

18

LSTM memiliki kemampuan untuk menambah dan menghapus

informasi dari cell state. Kemampuan LSTM tersebut dinamakan gates. Gates

sebagai pintu dalam mengatur apakah informasi akan diteruskan atau

diberhentikan. LSTM terdapat 3 jenis gates yaitu forget gate, input gate, dan

output gate. Forget gate merupakan gate yang bertanggung jawab ketika

informasi akan dihapus dari cell. Input gate merupakan gate yang bertanggung

jawab ketika nilai dari input akan diperbarui pada state memori. Output gate

merupakan gate yang bertanggung jawab terhadap hasil output apakah sesuai

dengan input dan memori pada cell.

Gambar 2.10 Forget Gate Pada LSTM

Sumber: Olah, 2015

Langkah pertama dari LSTM adalah pada gambar 2.10 memutuskan

informasi apa yang akan kita buang dengan menggunakan sigmoid layer,

dapat juga disebut sebagai forget gate. Sigmoid Layer menghasilkan nilai 0

yang artinya mengabaikan elemen tersebut dan 1 artinya menyimpan elemen

tersebut.

19

Gambar 2.11 Input Gate Pada LSTM

Sumber: Olah, 2015

Setelah mendapatkan hasil dari forget gate dan input gate. Pada

gambar 2.11 input gate akan mengupdate pada bagian cell state yg dimana

akan melakukan perkalian pada bagian forget gate dengan konteks yang

lama. Dan juga pada bagian input gate bertugas untuk menghitung berapa

banyak informasi yang akan diteruskan ke cell state.

Gambar 2.12 Update Cell State Pada LSTM

Sumber: Olah, 2015

Pada langkah selanjutnya, pada gambar 2.12 hasil dari input dan

forget gate akan diperbaruhi kedalam cell state dengan informasi yang baru.

20

Gambar 2.13 Output Gate Pada LSTM

Sumber: Olah, 2015

Tahap selanjutnya merupakan penentuan hasil output. Pada gambar

2..13 terlihat bahwa output didasarkan pada nilai dalam konteks yang

dilewatkan ke suatu filter. Pertama informasi akan melewati ke sigmoid layer

yang dimana untuk memutuskan bagian-bagian mana dari konteks yang akan

dihasilkan. Kemudian akan dilewatkan ke tanh layer dan hasil dari tahn layer

akan dikalikan dengan sigmoid layer tadi sehingga akan menghasilkan bagian

mana yang ingin dijadikan output.

2.6 Dropout

Dropout adalah salah satu teknik regularisasi untuk mencegah

terjadinya overfitting dan juga mempercepat proses pelatihan. Overfitting

adalah kondisi dimana data yang telah melewati proses pelatihan mendapatkan

hasil akurasi yang baik tetapi terjadi ketidaksesuaian pada proses prediksi.

Dalam sistem kerja nya teknik yang digunakan pada Dropout adalah beberapa

neuron akan dipilih secara acak dan neuron tidak dipakai selama pelatihan atau

bisa dibilang dibuang secara acak.

Dapat dilihat pada gambar 2.14 (a) adalah standard neural network

dimana mempunyai 2 hidden layer yang belum di aplikasikan dengan dropout.

Tetapi di gambar 2.14 (b) dapat dilihat bahwa beberapa neuron tidak dipakai

lagi dalam proses. Sehingga data noise yang ada dalam proses pelatihan model

dapat diabaikan untuk mendapatkan hasil akurasi dan proses prediksi dengan

benar.

21

Gambar 2.14 Dropout

Sumber: cs231n.github.io

2.7 Word Embedding

Word embedding merupakan nama kolektif dari suatu model bahasa

dan teknik pembelajaran dari suatu fitur dalam pemrosesan bahasa dimana

kata-kata dari vocabulary yang disediakan akan dipetakan menjadi vektor

bilangan ril. Menurut penelitian (Yepes, 2017) menunjukan word embedding

meningkatkan performa akurasi dari suatu model dan memungkinkan juga

digunakan pada pengklasifikasian teks dengan LSTM. Terdapat dua metode

yang digunakan dalam penelitian ini yaitu Word2vec dan GloVe Embedding

yang akan dijelaskan pada 2.6.1 dan 2.6.2

22

2.6.1 Word2Vec

Word2Vec merupakan model yang populer digunakan, terdiri

atas dua jenis, yaitu Continuous Bag-of Words (CBOW) dan Skip-

Gram. Beda antara Skip-Gram dan CBOW terletak pada arsitektur

Neural Network dan cara pembentukan model dari masing-masing

jenis. Skip-Gram memberikan masukan kata dan meminta Neural

Network untuk menebak kata-kata yang muncul di sekitar kata

masukan. Untuk arsitektur CBOW, Neural Network digunakan untuk

menebak sebuah kata dengan masukan adalah kata sekitar dari kata

yang ditebak. Dapat dilihat pada gambar 2.10 dan gambar 2.11 untuk

arsitektur CBOW dan Skip-Gram

Gambar 2.10 Arsitektur CBOW

Pada gambar 2.10 input layer berisi kata yang berbentuk

vector. hidden layer berisi neuron sebanyak N dan output layer

merupakan panjang vector pada input layer dengan elemen berisi

softmax value.

23

Gambar 2.11 Arsitektur Skip-Gram

Pada gambar 2.11 terlihat seperti multiple-context pada

CBOW namun terbalik, kita memasukkan target kata ke dalam

jaringan. Model ini akan mengeluarkan distribusi probabilitas dari

suatu kata. Antara CBOW dan Skip-Gram memiliki kelebihan dan

kekurangannya masing-masing. Menurut Tomas Mikolov (2013)

Skip-Gram dapat bekerja dengan baik dengan data yang kecil

sedangkan CBOW dapat lebih cepat dalam komputasi untuk

merepresentasikan kata.

2.6.2 GloVe

GloVe termasuk algoritma unsupervised learning untuk

mendapatkan representasi vektor untuk kata-kata. Pelatihan dilakukan

pada agregat statistik gabungan kata-kata global gabungan dari sebuah

korpus, dan representasi yang dihasilkan menunjukan substruktur

linear dari vektor kata.

24

Tujuan utama yang mendasari model ini adalah pengamatan

sederhana bahwa rasio probabilitas kemunculan kata-kata memiliki

potensi untuk mengkodekan beberapa bentuk makna. Model GloVe

dilatih tentang entri dari matriks kata-kata global, mengenai seberapa

sering kata-kata muncul bersamaan satu sama lain dalam sebuah

corpus yang diberikan. Untuk mengisi matriks dalam GloVe

dibutuhkan satu kali melewati seluruh korpus untuk mengumpulkan

statistik. Untuk korpus besar, ketika melewati seluruh korpus dapat

membebani komputasi, tetapi ini hanya dilakukan satu kali.

2.8 Activation Function

Gambar 2.12 Neuron Pada Neural Network

Activation function merupakan sebuah fungsi yang

mengkombinasikan antara input pada z yang tertera pada gambar 2.12 lalu

menerapkan fungsi terhadap z lalu mengeluarkan output. Activation function

menentukan keadaan suatu neuron dengan menghitung fungsi aktivasi pada

input gabungan. Activation function dibutuhkan karena ketika jika nilai input

tidak dihitung dengan menggunakan activation function maka nilai output

akan menjadi infinity. Kedua jaringan pada neural network akan sia-sia

karena jaringan tidak akan belajar sama sekali, jika activation function adalah

linear function atau tidak ada activation function, maka turunan dari linear

25

function akan menjadi 0 yang akan menimbulkan masalah karena jika pada

saat training algoritma akan membantu memberikan feedback kepada network

jika ada kesalahan dalam mengklasifikasikan serta membantu neuron untuk

menyetal weights berdasarkan turunan dari linear function. Dapat

disimpulkan jika hasil dari turunan linear function adalah 0 maka sebuah

network akan kehilangan kemampuan dalam belajar artinya sama saja

memiliki 1 layer neural network dengan n layer neural network. Setidaknya

kita harus memiliki activation function pada setiap hidden layer yang kita

miliki agar jaringan dapat belajar dengan benar. Activation function yang

paling umum digunakan adalah sigmoid (M Jojo, 2019). Sigmoid akan

dijelaskan pada 2.7.1

2.7.1 Sigmoid Activation Function

Gambar 2.13 Sigmoid Activation Function Output

Fungsi akan menampilkan output antara 0 sampai dengan 1

seperti pada gambar 2.13. Output nonlinear seperti pada gambar 2.13

meningkatkan proses pembelajaran dengan sangat baik, karena sangat

mirip dengan prinsip lower influence low output, and higher influence

high output serta menjaga output di rentang 0 hingga 1 (M Jojo,

2019).

26

2.9 Loss Function

Loss function merupakan metrik yang membantu jaringan memahami

apakah jaringan sudah belajar ke arah yang benar. Cara kerja loss function,

anggap sebagai nilai ujian yang dicapai dalam suatu ujian. Jika dalam beberapa

ujia pada subjek yang sama loss function mendapat skor 56, 60, 78, 90, dan 96

dari 100 dalam lima ujian berturut-turut. Maka akan terlihat dengan jelas

bahwa peningkatan skor ujian merupakan indikasi seberapa baik sebuah model

belajar. Seandainya nilai ujian menurun, maka keputusannya bahwa kinerja

model menurun dan model perlu mengubah metode belajar. Loss function

mengukur loss dari suatu target, dapat dikatakan ketika mengembangkan

sebuah model untuk memprediksi nilai mahasiswa apakah lulus atau tidak

lulus, maka kesempatan mahasiswa lulus atau tidak lulus ditentukan oleh

probabilitas. 1 menggambarkan lulus dan 0 menggambarkan tidak lulus. Model

belajar dari data dan memprediksi skor 0.87 untuk mahasiswa lulus maka nilai

loss adalah 1.00 – 0.87 = 0.13. Jika model mengulangi latihan dengan

memperbaruhi parameter lalu nilai loss menjadi 0.40 maka sebuah model

belajar bahwa perubahan yang dilakukan tidak memberikan efek. Sebaliknya

jika nilai loss menjadi 0.05 maka model belajar bahwa perubahan yang dibuat

memberikan efek. Terdapat beberapa pilihan untuk loss function yang

disediakan oleh Keras API salah satunya untuk menghasilkan output

kategorikal yaitu yes atau no maka menggunakan Binary cross-entrophy (M

Jojo, 2019).

2.10 Optimizer

Bagian terpenting dari pelatihan model adalah optimizer. Jika sebuah

model sudah mempelajari apakah perubahan parameter yang dilakukan selama

pelatihan mengarah baik atau buruk disini adalah perang loss function. Maka

langkah selanjutnya bagaiamana suatu model melakukan perubahan untuk

menimilasir model disini peran optimizer diperlukan. Dalam kalkulus untuk

melakukan perubahan bobot pada neuron diperlukan mengetahui berapa

banyak perubahan yang terdapat pada loss function (M Jojo, 2019).

27

2.9.1 Adam

Adam merupakan singkatan dari Adaptive Moment

Estimation, sejauh ini merupakan optimizer yang paling populer dan

banyak digunakan pada deep learning. Teknik optimisasi adam

menghitung tingkat pembelajaran adaptif untuk setiap parameter.

Dengan mendefinisikan momentum dan varians dari gradien loss dan

memanfaatkannya untuk memperbarui parameter weight. Momentum

dan varians membantu memperlancar kurva belajar dan secara efektif

meningkatkan proses pembelajaran (M Jojo, 2019).

2.11 Trip Advisor

Trip Advisor merupakan sebuah platform travel terbesar di dunia yang

membantu hampir 460 juta wisatawan setiap bulan. Wisatawan di seluruh

dunia menggunakan situs dan aplikasi Trip Advisor untuk menelusuri lebih

dari 830 juta ulasan dan opini meliputi 8,6 juta akomodasi, restoran,

pengalaman, maskapai penerbangan, dan kapal pesiar. Wisatawan beralih ke

Trip Advisor untuk membandingkan harga di hotel, penerbangan, dan kapal

pesiar. Serta membandingkan kepuasaan tur dan objek wisata populer

(TripAdvisor, 2020).

2.12 Python

Bahasa pemrograman Python merupakan sebuah urutan command

(statements) untuk dieksekusi oleh Python interpreter. Statements pada Python

meliputi seperti print output untuk ditampilkan ke layar, menerima input dari

pengguna, kalkulasi angka matematika, dan mengeksekusi statements yang

berurutan Python dikenal sebagai bahasa yang dinamis dan berorientasi pada

objek. Selain kemudahan yang terdapat pada bahasa pemrograman Python

memungkinkan programmer dapat dengan mudah membuat prototype.

Kumpulan library yang kuat membuatnya sangat cocok pada proyek rekayasa

perangkat lunak yang tingkat produksinya termasuk skala besar. John M Zelle

(2004).

Python mempunyai kelebihan yang dapat digunakan tanpa haru

berbayar, dan tersedia bagi semua platform dan semua orang yang ingin

menggunakannya. Selain itu, Python juga mudah untuk dipelajari dan

28

digunakan, karena tersedia banyak library, list, dan kamus yang dapat

membantu dalam mencapai tujuan masing-masing programmer. Python

memiliki struktur program yang mudah untuk dimengerti, sehingga sangat

mudah jika ingin melakukan debug terhadap program. (Colliau, T., Rogers, G.,

Hughes, Z., Ozgur, C.,2016).

2.13 NLTK

Natural Language Toolkit (NLTK) adalah library dalam Python, yang

menyediakan basis untuk pemrosesan dan klasifikasi teks. Operasi seperti

tokenization, filtering, manipulasi teks dapat dilakukan dengan menggunakan

NLTK (Gupta et al., 2017).

Library NLTK digunakan untuk membuat model bag-of word, yang

merupakan jenis model unigram untuk teks. Dalam model ini, jumlah

kemunculan setiap kata dihitung. Sehingga data setiap bobot kata yang

diperoleh dapat digunakan untuk melatih model classifier.

2.14 NumPy

NumPy adalah paket mendasar yang diperlukan untuk komputasi ilmiah

dengan menggunakan Python. Paket ini berisi:

• Objek array N-dimensi yang kuat

• Fungsi canggih (penyiaran)

• Fungsi aljabar linier dasar

• Transformasi Fourier dasar

• Kemampuan angka acak canggih

• Alat untuk mengintegrasikan kode Fortran

• Alat untuk mengintegrasikan kode C / C ++

Selain dalam penggunaan ilmiah, NumPy dapat digunakan sebagai

tempat untuk data generik multidimensi yang efisien. Dengan tidak

menginisialisasi tipe data NumPy dapat menentukannya oleh karena itu

NumPy dapat dengan cepat berintegrasi. NumPy merupakan penerus dari dua

library Python yang sebelumnya yaitu: Numeric dan Numarray (NumPy,2020).

29

Array NumPy merupakan sebuah kumpulan elemen multidimensi dan

homogen (yaitu, semua elemen menempati jumlah byte yang sama dalam

memori). Array dapat dilihat dari jenis elemen yang dikandungnya. Contohnya,

sebuah matriks dapat direpresentasikan sebagai larik dalam bentuk M × N yang

berisi angka, seperti floating-point atau bilangan kompleks. Tidak seperti

matriks, array NumPy dapat memiliki hingga 32 dimensi. Array NumPy

mungkin juga mengandung jenis elemen lain (atau bahkan kombinasi elemen),

seperti Boolean atau tanggal. Array NumPy hanya cara yang lebih mudah

dalam menggambarkan satu atau lebih blok memori komputer sehingga angka-

angka yang diwakilkan dapat dengan mudah dimanipulasi (Edwin S. S, Ricky

H, 2019).

2.15 Keras

Keras merupakan API jaringan saraf tingkat tinggi, ditulis dengan

Python dan mampu berjalan di TensorFlow, CNTK, atau Theano. Keras

dirancang untuk manusia, bukan mesin. Oleh karena itu user experience sangat

dikedepankan oleh Keras. Keras menawarkan API yang konsisten &

sederhana, meminimalkan jumlah tindakan pengguna yang diperlukan untuk

kasus penggunaan umum, dan memberikan feedback yang jelas terhadap user

error. Keras dikembangkan dengan fokus untuk eksperimen yang bersifat

cepat. Keras memiliki beberapa keuntungan yaitu (Keras, 2020):

• Memungkinkan untuk prototyping yang mudah dan cepat

• Mendukung jaringan convolutional dan recurrent networks, serta

kombinasi keduanya.

• Berjalan mulus di CPU dan GPU.

2.16 Accuracy

Accuracy merupakan pengukuran yang digunakan untuk menentukan

model mana yang paling baik dalam mengidentifikasi hubungan dan pola antar

variabel. Accuracy merupakan proporsi pengamatan yang diprediksi dengan

benar (A Chris, 2018):

(2.3)

30

• TP adalah jumlah kelas positif. Pengamatan yang merupakan bagian

dari kelas yang diprediksi positif

• TN adalah jumlah kelas negatif. Pengamatan yang merupakan

bagian dari kelas yang diprediksi negatif

• FP adalah jumlah kelas yang diprediksi positif namun sebenarnya

kelas negatif

• FN adalah jumlah kelas yang diprediksi negatif namun sebenarnya

kelas positif

2.17 Related Works

Penelitian mengenai pariwisata telah dilakukan oleh (G Jinfeng, Y

Ruxian, L Han, dan C Ting-Cheng, 2019) yang menganalisis komentar tourist

pada portal scenic spot. Penelitian ini menggunakan Jieba tokenizer dengan

metode Convolutional Neural Network (CNN) dan Long Short Term Memory

(LSTM) satu layer dengan penambahan layer dropout untuk mereduce over-

fitting serta dilakukan proses word embedding menggunakan google word2vec

menhasilkan akurasi 82,7% dan 82,5% pada CNN dan LSTM.

Berikutnya penelitian (L Pengfei, H Xiaxu, H Zhirui, N Duxian, Z

Weifeng, H Keijing) mengenai analisis sentimen terhadap komentar wisata

tiongkok dengan data yang telah dikumpulkan oleh Professor Tan Songbo dari

University of Chinese Academy of Sciences menggunakan metode LSTM

dengan menggunakan Boosting menghasilkan akurasi 90,5%. LSTM

menggunakan penambahan fitur Boosting sangat efisien pada data yang tidak

balance antara positif dan data negatif. Metode LSTM dengna Boosting lebih

akurat digunakan untuk emotional classification dan menghasilkan performa

lebih baik dibandingan traditional machine learning model. Ketika jumlah

iterasi meningkat, keakuratan prediksi model LSTM berdasarkan penambahan

Boosting terus meningkat, dan akurasi rata-rata akhirnya meningkat menjadi

lebih dari 90,5%. Namun, waktu pelatihan model yang sesuai akan meningkat.

Selain itu, mengingat bahwa kalimat ulasan online umumnya lebih pendek dan

panjang urutan memori lebih lama, waktu perhitungan lebih lama, makalah ini

menetapkan panjang urutan memori sebagai yang solid. Nilai tetap, dan tidak

31

secara bertahap menyesuaikan panjang untuk meningkatkan akurasi. Dalam

aplikasi praktis, panjang urutan yang wajar dapat diatur sesuai dengan situasi

aktual, sehingga kompromi antara keakuratan model dan waktu pelatihan dapat

diperoleh.

Berikutnya penelitian yang dilakukan oleh (P Subarno, Dr. Soumadip

Ghosha, Dr. N Amitava) menganalisis ulasan movie berdasarkan IMDB

dataset yang terdiri dari dari data positif dan negatif. Dengan metode

conventional LSTM, deep LSTM, dan bidirectional deep LSTM menghasilkan

akurasi masing-masing 81%, 81,3%, 83%.

Penelitian lain mengenai analisis sentimen komentar pada situs JD.com

dan Ctrip dengan membandingkan metode LSTM dan RNN. Metode yang

digunakan pada penelitian ini yaitu LSTM. Hasil klasifikasi analisis sentimen

dikategorikan menjadi 3 kategori, yaitu kategori positif, negatif dan netral.

Menghasilkan akurasi 88% pada RNN dan 90% pada LSTM.

Penelitian sejenis akan diuraikan pada tabel secara singkat pada tabel

2.2

Table 2.2 Tabel Related Works

No Judul, Nama Peneliti,

Tahun Penelitian

Metode Keterangan

1 Jinfeng Gao, Ruxian

Yao, Han Lai, Ting-

Cheng Chang

Convolutional Neural Network (CNN)

dan Long Short Term Memory (LSTM)

Menganalisis

komentar tourist pada

portal scenic spot dan

menghasilkan akurasi

dengan menggunakan

LSTM yaitu 82,5%

sedangkan dengan

menggunakan CNN

yaitu 82,7%

2 Pengfei Liu, Xiaxu He,

Zhirui Huang, Duxian

Nie, Weifeng Zhang,

Long Short Term Memory (LSTM)

dengan fitur Boosting

Menganalisis

komentar tourist yang

terdiri dari 10000 data

32

Keijing He komentar

menghasilkan akurasi

analisis sentimen yang

didapatkan mencapai

tingkat akurasi 90.5%.

3 Subarno Pala, Dr.

Soumadip Ghosha, Dr.

Amitava Naga

Conventional Long Short Term

Memory (LSTM), Deep LSTM, dan

Bidirectional Deep LSTM.

Membandingkan nilai

akurasi menggunakan

conventional LSTM,

deep LSTM, dan

bidirectional LSTM

menghasilkan rata-

rata akurasi di atas

80%

4 Dan Li, Jiang Qian Recurrent Neural Network (RNN) dan

Long Short Term Memory (LSTM)

Menganalisis data

koementar pada

platform Ctrip

menghasilkan akurasi

analisis sentimen

berdasarkan data

JD.com dan Ctrip

memiliki perbedaan

rata-rata dengan

metode RNN yaitu

88% sedangkan

menggunakan LSTM

yaitu 90%