5 BAB II
TINJAUAN PUSTAKA 2.1 Twitter
Twitter merupakan salah satu platform yang dibuat oleh Jack Dorsey pada tahun 2006. Telah aktif sejak Juli 2006, dan URL-nya http://www.twitter.com masih aktif sampai sekarang. Twitter adalah antarmuka pemrograman aplikasi yang memungkinkan pengembang untuk mengembangkan aplikasi sesuai dengan kebutuhan mereka. Anda dapat mengakses informasi tentang API Twitter di https://developer.twitter.com/. Ada beberapa jenis API Twitter:
1. Twitter Streaming API
Menurut Monarizqa (2014), Twitter streaming API berguna untuk pengambilan data. Dengan API ini, kita bisa mendapatkan banyak informasi secara real time.
2. Twitter Rest API
API ini dibagi menjadi 2 yaitu, Twitter REST berguna untuk mencari informasi inti serta objek inti tersebut. Pencarian Twitter dapat membantu menemukan tren dan contoh objek Twitter.
2.2 Natural Language Processing
Natural Language Processing (NLP) adalah cabang dari kecerdasan buatan dan bahasa (linguistik) yang berkaitan dengan interaksi komputer dengan bahasa manusia, termasuk bahasa Inggris dan bahasa lainnya. NLP membantu menciptakan sistem yang dapat memahami bahasa manusia dan memberikan respons yang diperlukan [28].
2.3 Analisis Sentimen
Sentimen analisis ialah suatu bidang yang digunakan untuk menganalisis pandangan pada sebuah platform/atau aplikasi yang akan diteliti berupa pendapat, evaluasi dari produk, emosi orang pada suatu produk atau layanan , organisasi maupun peristiwa yang sedang terjadi . Pada saat yang sama, menurut [29], analisis sentimen dalam ulasan adalah proses mempelajari ulasan yang terdapat di internet maupun suatu ulasan yang sedang terjadi dengan tujuan untuk memilih keseluruhan tampilan serta perasaan produk. Analisis sentimen merupakan bidang perkembangan yang sangat menarik di dunia digital, karena saat ini orang biasanya mengungkapkan perasaan, pendapat, dan pemikirannya dalam bahasa teks melalui
6 dunia maya, dan pembaca terkadang salah paham ketika menerjemahkan perasaan yang terkandung di dalamnya. Tentu saja dengan menganalisis sentimen publik, mendapatkan hasil yang bisa diolah kembali, yang juga dapat diproses untuk membuat informasi yang berguna.
Gambar 2.1 Ilustrasi Analisis Sentimen 2.4 Text Mining
Penambangan teks merupakan teknik mengekstraksi pola (informasi dan pengetahuan) dari serangkaian yang tidak memiliki struktur data. Text mining memiliki dua input yaitu data tidak terstruktur dan data terstruktur [30].
Penambangan teks berguna meningkatkan efisienasi dari kegiatan sehari hari yang dilakukan manusia .Penambangan teks biasanya digunakan dalam teknik seperti klasifikasi, ekstraksi entitas, dan analisis sentimen. Teknik ini berguna mengenali wawasan serta pola tren dalam sejumlah besar yang dimiliki oleh struktur data.
Media sosial adalah sumber potensial dari data terstruktur dan sumber informasi pasar dan pelanggan yang berharga. Banyak perusahaan menggunakan penambangan teks untuk menganalisis atau memprediksi kebutuhan pelanggan dan mengidentifikasi kesadaran merek mereka. Analisis teks dapat memecahkan masalah dengan menganalisis sejumlah besar data terstruktur, mengekstraksi opini, emosi dan perasaan, serta koneksi ke merek dan produk.
7 Gambar 2.2 Diagram Venn Interaksi Text Mining dengan Bidang Lain[31]
Ada banyak teknik data mining yang tersedia yang dapat diterapkan untuk analisis data teks [32]. Gambar 2.2 menunjukkan bagaimana diagram Venn teknologi text mining dan hubungannya dengan fungsi intinya. Klasifikasi Dokumen (Klasifikasi Teks Standarisasi Dokumen), Pengambilan Informasi (Pencarian Kata Kunci/Kueri dan Indeks) Pengelompokan Dokumen (Pengelompokan Frase) Pemrosesan Bahasa Alami (Koreksi Ejaan, Kosakata, Analisis Tata Bahasa dan Disambiguasi Semantik) Ekstraksi Informasi (Ekstraksi Hubungan) ), Analisis Tautan ) dan Web Mining (Analisis Tautan Web) [33]. Hubungan antara berbagai teknik text mining yang telah digambarkan di gambar 2.3.
Gambar 2.3 Hubungan Antara Berbagai Teknik Dalam Text Mining [31]
8 Penambangan teks (Text Mining) umumnya digunakan untuk membantu dalam analisis informasi, membantu dalam proses pengambilan keputusan, dan mengelola sejumlah besar informasi teks. Data akan diproses melalui beberapa metode seperti ranking, clustering, dan analisis sentimen. Penambangan teks termasuk dalam penambangan data, tetapi memiliki tahapan proses yang berbeda dan lebih banyak tahapan daripada penambangan data. Hal ini dikarenakan text mining mengolah data berupa teks dan karakteristiknya lebih kompleks dibandingkan dengan data konvensional atau terstruktur. Oleh karena itu, dalam text mining perlu disiapkan beberapa tahap awal untuk mengubah struktur teks [34]. Berbagai tahapan proses text mining dapat diamati di Gambar 2.4.
Gambar 2.4 Tahapan Text Mining [35]
Pada text mining terdapat tahap awal sebelum melakukan pengolahan data yaitu pre-processing. Proses Pre-processing bertujuan untuk dapat mengolah data yang awalnya masih berupa teks diubah terlebih dahulu agar sesuai dengan format yang dibutuhkan. Pada Text preprocessing terdapat beberapa tahapan yang dapat dilakukan, yaitu Data Cleansing, Tokenizing, dan Stopword.
2.3.1 Cleansing
Cleansing merupakan tahapan untuk menghilangkan tweet dari kata yang tidak dibutuhkan agar meminimalisir gangguang. Kata yang dihapus yaitu katakunci, emoji, hashtag (#), username (@username), url (http://alamat.com), dan surel ([email protected]) [36].
9 2.3.2 Tokenizing
Tokenisasi ialah proses pengubahkan kalimat ke dalam bentuk kata.Secara umum, ini membagi kumpulan karakter teks menjadi kata-kata. Misalnya, spasi putih, seperti input, dan spasi putih tabular dianggap sebagai jeda kata.
2.3.3 Stopword
Stopword berghuna untuk menghapus kata yang tidak berguna dalam sebuah kalimat . Terdapat beberapa contoh stopwords dalam bahasa Indonesia seperti:, juga, saya, aku, ini, itu, tersebut, pada, atau, dan, hanya dan sebagainya [37].
2.5 TF-IDF
Binding adalah proses mengubah teks menjadi nilai numerik yang dapat dibaca oleh komputer. Salah satu algoritma yang dapat digunakan adalah tf-idf. Penimbangan menggunakan fungsi tf-idf (Term Frequency dan Inverse Document Frequency), yaitu proses penskoran suatu kata yang digunakan pada data training. Diberikannya bobot nilai pada tf-idf tergantung besarnya jumlah kemunculan kata pada dokumen [38].
Jika ditimbang dengan fungsi tf-idf, rumus yang digunakan untuk menghitung nilai (W) setiap dokumen dengan kata kunci dengan rumus pada persamaan 2.1[39]:
𝑊𝑊𝑊𝑊𝑊𝑊 = 𝑇𝑇𝑇𝑇𝑊𝑊𝑊𝑊 ∗ (𝐼𝐼𝐼𝐼𝑇𝑇𝐼𝐼𝑊𝑊 + 1) (2.1) Keterangan:
𝑊𝑊𝑊𝑊𝑊𝑊 = nilai dokumen ke-d pada kata ke-t
𝑇𝑇𝑇𝑇𝑊𝑊𝑊𝑊 = jumlah kata yang dicari dalam suatu dokumen 𝐼𝐼𝐼𝐼𝑇𝑇𝐼𝐼𝑊𝑊 = Inverse Document Frequency (log ( 𝑑𝑑𝑑𝑑𝑁𝑁 )) N = jumlah dokumen
𝑊𝑊𝐼𝐼 = jumlah dokumen yang mengandung kata yang dicari 2.6 Machine Learning
Kecerdasan buatan biasa disebut dengan Artificial Intelligence (AI) yang berguna untuk system belajar dari data latih atau suatu program dengan secara otomatis meningkatkan tanpa harus menambah program baru. Pada konteks ini difokuskan untuk mengenali serta membangun suatu program yang bisa mengenali dari data kemudian dapat mengoperasikan data yang akan dipelajari secara mandiri berdasarkan data yang terlah ditentukan.
10 Data akan diamati di awal proses pembelajaran, seperti pengalaman atau instruksi langsung, untuk menemukan pola dalam data dan membuat keputusan yang lebih tepat berdasarkan contoh masa depan. Dirancang untuk mendukung pembelajaran mesin dan menyiapkan tindakan otomatis tanpa bantuan manual.
2.7 Naïve Bayes
Naïve Bayes ditemukan oleh Thomas Bayes, dan klasifikasi Naïve Bayesian adalah klasifikasi statistik yang dapat digunakan untuk memprediksi kemungkinan berada di kelas. Klasifikasi Naive Bayesian didasarkan pada organisasi Bayesian, yang memiliki fungsi klasifikasi yang mirip dengan pohon keputusan dan jaringan saraf. Klasifikasi Naive Bayesian telah terbukti sangat akurat dan cepat dalam hal database big data. [40]. Klasifikasi menggunakan metode naive bayesian biasanya dilakukan dengan menggunakan pendekatan probabilistik atau stokastik. Algoritma ini memprediksi potensi masa depan berdasarkan pengalaman masa lalu..
Rumus yang digunakan pada Algoritma Naïve Bayes classification dijadikan sebagai tolak ukur dalam perhitungan nilai probabilitas serta pengambilan keputusan, adapun rumus yang digunakan adalah pada 2.2.
𝑃𝑃(𝑋𝑋|𝐻𝐻) = 𝑃𝑃�𝐻𝐻�𝑋𝑋�,𝑃𝑃(𝑋𝑋)
𝑃𝑃(𝐻𝐻) (2.2)
X : Data dengan class yang belum diketahui
H : Hipotesis data X merupakan suatu class spesifik P(H|X) : Probabilitas hipotesis H berdasarkan kondisi X P(H) : Probabilitas hipotesis H
P(X|H) : Probabilitas X berdasarkan kondisi pada hipotesis P(X) : Probabilitas X
2.7.1 Gaussian Naïve Bayes
Perpanjangan dari Naïve Bayes disebut Gaussian Naïve Bayes. Gaussian Naïve Bayes hanya perlu mengestimasi mean dan standar deviasi dari data latih, sehingga dapat digunakan untuk mengestimasi sebaran data. Perhitungan probabilitas pada representasi Gaussian Naïve Bayes didasarkan pada nilai input dari masing-masing kelas menggunakan frekuensi. Anda dapat menggunakan input ini untuk menghitung mean dan standar deviasi untuk setiap kelas dan meringkas distribusi. Artinya, Anda perlu menghitung mean dan standar deviasi dari setiap
11 variabel input di setiap kelas, selain probabilitas setiap kelas. Rumus untuk menghitung rata-rata dapat ditemukan pada Persamaan 2.3 di bawah.
𝑥𝑥̅ = 𝑛𝑛∑𝑥𝑥1 (2.3) Dimana:
X = Mean (X).
n = Jumlah contoh.
X = Nilai untuk variabel input dalam data latihan.
Sedangkan persamaan untuk menghitung standard deviasi dapat dilihat pada persamaan 2.4 di bawah ini.
𝑆𝑆 = �𝑛𝑛1∑(𝑥𝑥𝑖𝑖− 𝑥𝑥���) 2 (2.4) Dimana:
S = Standard deviasi.
n = Jumlah contoh.
X = Rata-rata nilai untuk variabel input dalam data latihan.
Xi = Nilai spesifik dari variabel x.
2.6.2 Multinomial Naïve Bayes
Probabilitas dari sebuah dokumen d yang berada di kelas c dapat dihitung dengan persamaan 2.5 di bawah ini:
𝑃𝑃(𝑐𝑐|𝑊𝑊) ∝ 𝑃𝑃(𝑐𝑐)∏1≤𝑘𝑘≤𝑛𝑛𝑊𝑊 𝑃𝑃(𝑊𝑊𝑘𝑘|𝑐𝑐) (2.5) Dimana:
P(c) = probabilitas sebelumnya dari dokumen yang terkandung dalam kelas c.
<t1,t2,...,tnd> = satu set token dalam dokumen d yang merupakan bagian dari kamus yang digunakan untuk mengklasifikasikan dan mengukur token dalam dokumen d. Untuk memperkirakan probabilitas sebelumnya P (c) Persamaan 2.5 sebagai berikut:
Dimana:
Nc = Jumlah dari dokumen training dalam kelas c.
N = Jumlah keseluruhan dokumen training dari seluruh kelas.
12 Untuk memperkirakan conditional probability P(t|c) persamaan yang digunakan, yaitu:
𝑃𝑃(𝑊𝑊𝑘𝑘|𝑐𝑐) =∑ 𝑡𝑡𝑇𝑇′𝑐𝑐𝑐𝑐𝜖𝜖𝜖𝜖𝑇𝑇+1
𝑐𝑐𝑐𝑐′ (2.6)
Dimana:
𝑇𝑇𝑐𝑐𝑐𝑐 = Jumlah kemunculan term t dalam sebuah dokumen training dari kelas c.
∑ 𝑊𝑊′𝜖𝜖𝜖𝜖𝑇𝑇𝑐𝑐𝑐𝑐′ = Jumlah total dari keseluruhan term yang terdapat dalam sebuah dokumen training dari kelas c.
Proses yang dihasilkan memiliki Masalah untuk memperkirakan nilai dari conditional probabilities pada persamaan (2.6) adalah didapatkanya nilai 0 pada kombinasi (term|class) data training. Sehingga, persamaanya adalah :
𝑃𝑃(𝑊𝑊𝑇𝑇𝑊𝑊|𝑈𝑈𝑈𝑈) = 0 (2.7)
Untuk menghilangkan nilai nol, gunakan penambahan unit atau pemulusan Laplace. Proses ini menambahkan satu (1) nilai ke setiap nilai Tct saat menghitung probabilitas bersyarat. Dengan demikian, persamaan untuk probabilitas bersyarat mengambil bentuk :
𝑃𝑃(𝑊𝑊𝑘𝑘|𝑐𝑐) =�∑ 𝑡𝑡′𝜖𝜖𝜖𝜖𝑇𝑇𝑇𝑇𝑐𝑐𝑐𝑐+1
𝑐𝑐𝑐𝑐′�+𝐵𝐵′ (2.8)
Dimana:
B' = term istilah yang digunakan untuk semua data unik untuk seluruh kelas. Untuk mendapatkan nilai probabilitas akhir dokumen uji dengan data, apakah dokumen uji termasuk dalam kelas negatif, positif, atau digunakan persamaan:
𝑃𝑃 = 𝑁𝑁𝑁𝑁𝑐𝑐𝑥𝑥�∑ 𝑡𝑡′𝜖𝜖𝜖𝜖𝑇𝑇𝑇𝑇𝑐𝑐𝑐𝑐+1
𝑐𝑐𝑐𝑐′�+𝐵𝐵′ (2.9)
2.6.3 Bernoulli Naïve Bayes
Pembagian terstruktur mengenai Bernoulli Naïve Bayes ialah salah satu contoh yang menentukan adalah vector atribut biner yang membagikan kata yg timbul serta yang tidak terdapat pada dokumen [41]. Model Bernoulli hanya memperhatikan kemunculan kata-kata dalam dokumen dan memperhatikan frekuensi data asli yang tersedia. [42] menyatakan bahwa dalam kasus analisis
13 terjemahan Bernoulli tentang Naïve Bayes, probabilitas dokumen dalam kategori ini adalah :
𝑃𝑃(𝑐𝑐|𝑊𝑊) ∝ 𝑃𝑃(𝑐𝑐) � 𝑃𝑃(𝑊𝑊|𝑐𝑐)
1≤𝑖𝑖≤𝑀𝑀
(2.10)
dengan 𝑃𝑃(𝑊𝑊|𝑐𝑐) adalah probabilitas bersyarat dan 𝑃𝑃(𝑐𝑐) adalah probabilitas sebelumnya dari dokumen dalam kategori kategori c[42].
Kategori terbaik pada klasifikasi Bernoulli Naive Bayesian adalah kategori yang memiliki nilai maximum posterior (MAP) untuk kelas Cmap:
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = arg 𝐶𝐶𝐶𝐶𝑥𝑥 𝑃𝑃(𝑐𝑐|𝑊𝑊) (2.11) berikut merupakan formula dari prior probability :
𝑃𝑃(𝑐𝑐) =𝑁𝑁𝑁𝑁𝑐𝑐 (2.12)
𝑁𝑁𝑐𝑐 sebagai jumlah dokumen dari kategori c, dan N adalah jumlah dokumen dari semua data dalam kategori. Probabilitas bersyarat berapa banyak dokumen pendidikan dalam kategori c yang mengandung istilah (dalam posisi apa pun dan dapat muncul beberapa kali) akan dihitung menggunakan persamaan:
𝑃𝑃(𝑊𝑊|𝑐𝑐) = ∏1≤𝑖𝑖≤𝑀𝑀(𝐵𝐵𝑖𝑖𝑡𝑡𝑃𝑃(𝑒𝑒𝑖𝑖|𝑐𝑐) + ((1 − 𝐵𝐵𝑖𝑖𝑡𝑡)�1 − 𝑃𝑃(𝑒𝑒𝑖𝑖|𝑐𝑐)�) (2.13) dengan 𝑃𝑃(𝑒𝑒𝑒𝑒|𝑐𝑐) ini adalah probabilitas bahwa istilah tersebut akan muncul dalam dokumen kategori c (di mana saja dan dapat muncul beberapa kali). memiliki nilai 0 jika istilah tidak muncul, dan 1 jika istilah muncul dalam dokumen [41]. Tidak adanya term dalam model Bernoulli merupakan faktor yang diperhitungkan sehingga akan mempengaruhi hasil klasifikasi. [42].
𝑃𝑃(𝑒𝑒𝑖𝑖|𝑐𝑐) =𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑖𝑖′+1+2 (2.14)
𝑊𝑊𝐼𝐼′ jumlah total dokumen kategori c dan 𝑊𝑊𝐼𝐼𝑒𝑒 adalah jumlah dokumen pendidikan kategori c yang memuat istilah tersebut. Angka 2 adalah nilai konstanta yang menunjukkan ada dan tidaknya suatu istilah. Menambahkan angka 1 berfungsi sebagai pemulusan Laplace untuk menghindari kemungkinan nol [42].
14 2.8 ANN (Artificial Neural Network)
Jaringan saraf tiruan ialah salah satu rancangan dari aksi neuron di otak manusia. Semua neuron di otak manusia saling berhubungan, dan masing-masing neuron ini menghasilkan informasi. Neuron terdiri dari tiga bagian penting. Dengan kata lain, badan sel saraf mengarahkan semua aktivitas ke jantung, proyeksi, yang mengirimkan impuls yang diterima ke badan sel saraf, dan akson, yang mengirimkan impuls dari badan sel ke jaringan lain 2.5. Suatu proses di otak manusia dapat mengirimkan sinyal yang dihasilkan oleh badan sel melalui tindakan setelah neuron menerima stimulus dari neuron lain melalui dendritnya. Akson neuron ini berkomunikasi dengan proyeksi neuron lain dengan mengirimkan impuls melalui sinapsis bercabang. Struktur 4.444 neuron dan fungsi otak manusia membentuk konsep dasar pembangunan jaringan syaraf tiruan (JST). JST terdiri dari neuron yang mengandung penambah dan fungsi aktivasi yang mengandung beberapa bobot atau sinapsis jika di otak manusia dan beberapa vektor input atau proyeksi jika ada di otak manusia. Setiap neuron menerima input, melakukan operasi titik menggunakan bobot, dan menambahkannya (jumlah bobot) untuk menambah bias. Hasil dari operasi ini adalah parameter fungsi aktivasi yang digunakan sebagai keluaran neuron.
Gambar 2.5 Ilustrasi dengan model Matematis [43]
2.9 Arsitektur Neural Network
Struktur jaringan syaraf tiruan merupakan gambaran penempatan neuron dan komponen hirarki input dan output yang terhubung dengan fungsi aktivasi bobot dan fungsi pembelajaran. Perceptrons dan multilayer perceptrons adalah dasar dari jaringan syaraf tiruan. Perceptron adalah algoritma klasifikasi biner yang memodelkan fungsi otak manusia, dan bertujuan untuk meniru neuron. Meskipun
15 persepsi adalah struktur sederhana, mereka mampu mempelajari dan memecahkan masalah yang sangat kompleks. Jaringan saraf yang paling populer adalah jaringan umpan-maju perceptron multi-layer yang dilatih melalui algoritma backpropagation kesalahan [44].
Gambar 2.6 Perception Input dan Ouput [45]
MLP (Multilayer Perceptron) adalah sekelompok perceptron yang tersusun dalam beberapa lapisan yang dapat memecahkan masalah yang kompleks. Setiap perceptron di lapisan pertama atau lapisan input mengirimkan sinyal ke semua perceptron di lapisan kedua atau tersembunyi. MLP berisi lapisan input, setidaknya satu lapisan tersembunyi dan lapisan output.
Gambar 2.7 Ilustrasi Neural Network
Pada Gambar 2.7, proses pelatihan untuk setiap bobot dan defleksi setiap neuron terus diperbarui untuk menghasilkan keluaran yang diharapkan. Setiap iterasi
16 menjalankan proses penilaian untuk proses dapat berhenti berdasarkan data training.
2.10 Recurrent Neural Network
Recurrent Neural Network (RNN) merupakan bagian dari pembelajaran mendalam dimana proses akan dilakukan secara berulang untuk memproses input (umumnya data sekuensial) [46]. RNN adalah model analisis sentimen yang efektif.
RNN menggunakan blok memori yang dapat menangkap informasi panjang urutan [26]. Karakteristik data urutan adalah bahwa sampel diproses secara berurutan (misalnya, waktu) dan urutan antar sampel terkait erat. RNN memproses input secara berurutan, satu sampel pada satu waktu. Hasil setiap proses tidak hanya didasarkan pada fungsi sampel, tetapi juga pada kondisi internal, yaitu hasil dari proses pengambilan sampel sebelum (atau sesudah) RNN dua arah [46].
Gambar 2.8 RNN
Sebuah jaringan memiliki lapisan x, lapisan tersembunyi s (juga disebut lapisan konteks atau keadaan), dan lapisan keluaran y. Masuk ke jaringan tepat waktu, output dilambangkan sebagai yt, dan st adalah status jaringan (lapisan tersembunyi). Vektor input t dibangkitkan menggunakan objek vektor w yang mewakili kata saat ini dan output dari neuron di lapisan konteks pada waktu t - 1[46]. Lapisan input, tersembunyi dan output kemudian dihitung sebagai berikut:
𝑥𝑥𝑊𝑊 = 𝑤𝑤𝑊𝑊 + 𝑠𝑠𝑊𝑊−1 (2.23)
𝑠𝑠𝑊𝑊 = tanh(𝑈𝑈 . 𝑥𝑥𝑊𝑊 + 𝑊𝑊 . 𝑠𝑠𝑊𝑊−1) (2.24) 𝑦𝑦𝑊𝑊 = 𝑠𝑠𝑠𝑠𝐼𝐼𝑊𝑊𝐶𝐶𝐶𝐶𝑥𝑥 (𝑉𝑉 . 𝑠𝑠𝑊𝑊) (2.25)
Tanh dan softmax adalah fungsi aktivasi, di mana tanh adalah fungsi aktivasi yang ditemukan di lapisan st dan softmax serta lapisan yt. Fungsi softmax pada layer digunakan untuk memastikan bahwa output akan membentuk distribusi probabilitas yang valid, yaitu semua output lebih besar dari 0 dan jumlahnya 1[47]
17 Gambar 2.9 Arsitektur RNN
Tujuan dari model pembelajaran RNN adalah untuk mendapatkan nilai parameter U, V dan W yang menghasilkan nilai loss minimum menggunakan algoritma backpropagation in time (BPTT). Istilah BPTT berasal dari arsitektur RNN. Oleh karena itu, untuk menghitung kemiringan langkah waktu t, kita perlu menghitung turunan pada langkah t-1, t-1, t-2, t-3 hingga waktu t = 1. Jadi, jaringan saraf menyimpan informasi waktu pada layer masking saat menarik BPTT. RNN memiliki masalah yang disebut memori jangka pendek. Dalam urutan yang lebih panjang, RNN mengalami kesulitan mengkomunikasikan informasi kemudian di tahap waktu awal. Dalam proses BPPT, salah satu tantangan yang dihadapi oleh RNN adalah masalah gradien yang hilang. Gradien adalah nilai yang digunakan untuk menimbang jaringan saraf. Masalah dengan gradien memudar adalah bahwa mereka lancip dari waktu ke waktu sebagai kesalahan menyebar kembali. Jika nilai gradien sangat kecil, nilai ini tidak memberikan kontribusi yang signifikan terhadap proses pembelajaran. Ketika RNN menerima nilai gradien kecil, lapisan terakhir memulai proses pembelajaran [48]. Saat berhenti belajar, RNN dapat melupakan informasi dalam urutan yang lebih panjang, yang menyebabkan masalah memori jangka pendek [49].
2.11 Fungsi Aktivasi
Fungsi aktivasi beguna untuk menhubungkan antara tingkat aktivitas internal denhan kemungkinan akan membentuk fungsi linear maupun fungsi non linear.
Pada fungsi tersebut fungsi aktivasi memiliki tujuan untuk menentukan neuron akan digunakan atau tidak.
18 1. Sigmoid
Fungsi sigmoid adalah fungsi non-linear. Gaya-gaya dalam fungsi aktivasi ini adalah bilangan bulat serta keluaran dari fungsi tersebut memiliki rentang 0 hingga 1.[6][7].
𝑔𝑔(𝑥𝑥) =1 (2.26)
Fungsi sigmoidal mengubah rentang nilai input x akan dijadikan rentang 0 hingga 1. Jika inputnya sangat negatif, maka outputnya adalah 0, sedangkan jika inputnya sangat positif, outputnya berada di. dari nilai keluaran neuron yang berada pada range 0 atau 1, gradien pada daerah ini hampir 0. Maka keluaran sigmoid tidak terpusat pada nol[6][7].
2. Tanh
Fungsi aktivasi Tanh adalah aktivasi non-linier. Input ke fungsi trigger ini adalah bilangan real, dan range hasil dari fungsi ini adalah -1 sampai 1. Seperti fungsi sigmoidal, terdapat kelemahan yaitu dapat mematikan gradien, tetapi fungsi aktivasi nol dari output tanh dari fungsi ini tanh juga memiliki zero centered. Ada beberapa opsi dalam fungsi aktivasi, tetapi fungsi Tan lebih disukai daripada fungsi sigmoid. [50].
3. Softmax
Fungsi aktivasi softmax memiliki rentang probabilitas keluaran, nilai dari 0 hingga 1, maka jumlah semua probabilitas akan menjadi 1. Fungsi softmax untuk beberapa model kelas akan mempersempit probabilitas satu sama lain untuk target.
[52].
2.12 Optimasi Adam
Adam adalah algoritma yang digunakan untuk meminimalkan atau memaksimalkan fungsi tujuan (juga disebut fungsi kesalahan), yang merupakan fungsi matematika yang bergantung pada parameter internal yang dapat dilatih dalam model pelatihan. Parameter internal ini digunakan untuk menghitung nilai target (y) dari variabel prediktif (x) yang digunakan dalam model. Misalnya, bobot jaringan saraf dan nilai bias disebut parameter internal yang dapat digunakan dengan penelitian untuk menghitung nilai output. Kedua nilai tersebut
19 meminimalkan nilai kerugian dari proses pelatihan jaringan dan diteliti serta diperbarui dengan solusi yang optimal.[52].
Adam (Adaptive Moment Estimation) adalah salah satu metode optimasi stokastik efisien yang hanya membutuhkan langkah-langkah dengan kebutuhan memori minimal. Metode ini berguna untuk menghitung tingkat pembelajaran adaptif individu dari berbagai parameter sesuai dengan perkiraan momen pertama dan kedua dari gradien. Beberapa kelebihan Adam adalah ukuran parameter tanggal tidak berubah berdasarkan skala gradien, tetapi ukurannya menyesuaikan dengan ukuran parameter hiper. Tidak memerlukan target tetap, cocok untuk gradien yang jarang dan secara alami melakukan anil ukuran langkah [53].
2.13 Batch Size dan Epoch
Epoch adalah proses pelatihan seluruh dataset dalam jaringan saraf sampai kembali ke awal dalam satu siklus. Pada neural network, learning epoch terlalu lama karena semua data masuk dalam proses pembelajaran, sehingga membutuhkan waktu yang lama. Untuk mempermudah dan mempercepat proses pembelajaran, kecepatan data biasanya dibagi menjadi paket-paket (packet size). Ukuran paket adalah jumlah sampel data yang akan didistribusikan dalam jaringan saraf. Untuk kumpulan data besar, ukuran paket adalah perkiraan. menentukan ukuran lot biasanya terserah peneliti melihat beberapa sampel [54].