Diskusikan tentang:
1. Klasifikasi Bayes
Klasifikasi Naïve Bayes (Bayesian Classification) merupakan salah satu metode
klasifikasi dalam data mining menggunakan metode probabilitas dan statistik yang
dikemukakan oleh ilmuwan Inggris Thomas Bayes , yaitu memprediksi peluang di masa
depan berdasarkan pengalaman di masa sebelumnya. Ciri utama dari Naïve Bayes
Classifier ini adalah asumsi yg sangat kuat (naïf) akan independensi dari masing-masing
kondisi / kejadian.
Keuntungan penggunan Klasifikasi Naïve Bayes adalah bahwa metoda ini hanya
membutuhkan jumlah data pelatihan ( training data ) yang kecil untuk menentukan
estimasi parameter yang diperlukan dalam proses pengklasifikasian.
Keterangan
X : Data dengan class yang belum diketahui
H : Hipotesis data merupakan suatu class spesifik
P(H|X) : Probabilitas hipotesis H berdasar kondisi X
P(H) : Probabilitas hipotesis H
P(X|H) : Probabilitas X berdasarkan kondisi pada hipotesis H
P(X) : Probabilitas X
Contoh Kasus
2. Decision Tree
Decision tree merupakan metode klasifikasi data mining. Decision tree dalam istilah
pembelajaran merupakan sebuah struktur pohon dimana setiap node pohon
mempresentasikan atribut yang telah diuji. Setiap cabang merupakan suatu pembagian
hasil uji dan node daun (leaf) mempresentasikan kelompok kelas tertentu. Level node
teratas dari sebuah Decision Tree adalah node akar (root) yang biasanya berupa atribut
yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. Pada umumnya
Decision Tree melakukan strategi pencarian secara top-down untuk solusinya. Pada
proses mengklasifikasi data yang tidak diketahui, nilai atribut akan diuji dengan cara
melacak jalur dari node akar (root) sampai node akhir (daun) dan kemudian akan
diprediksi kelas yang dimiliki oleh suatu data baru tertentu.
Model Decision Tree:
Decision tree adalah flow-chart seperti struktur tree, dimana tiap internal node
menunjukkan sebuah test pada sebuah atribut, tiap cabang menunjukkan hasil dari test,
dan leaf node menunjukkan class-class atau class distribution. Selain karena
pembangunannya relatif cepat, hasil dari model yang dibangun mudah untuk dipahami.
Pada decision tree terdapat 3 jenis node, yaitu:
a. Root Node, merupakan node paling atas, pada node ini tidak ada input dan bisa tidak
mempunyai output atau mempunyai output lebih dari satu.
b. Internal Node, merupakan node percabangan, pada node ini hanya terdapat satu
input dan mempunyai output minimal dua.
c. Leaf node atau terminal node, merupakan node akhir, pada node ini hanya terdapat
satu input dan tidak mempunyai output.
Contoh dari model pohon keputusan yaitu seperti pada gambar berikut:
Entropy total
Entropy Outlook
Outlook = Sunny
Outlook = Cloudy
Outlook = Rainy
Entropy = ( −1
5 )(
1 −4
log 2 +
5 5
4
)
log 2 = 0,72
5
Entropy Temperature
Temperature = Hot
Temperature = Mild
Temperature = Cool
Entropy Humadity
Temperature = High
Temperature = Normal
Entropy Windy
Temperature = False
Temperature = True
((
= 0,86 −
4
14 )(
0,00 +
5
14
0,72 +)(5
14 ))
0,97 = 0,26
((
= 0,86 −
4
14 )(
0,00 +
4
14
1,00 +)(6
14 ))
0,92 = 0,18
Huma
dity
High Normal
???? Yes
Humadity
High Normal
Outlook Yes
Cloudy Sunny
Rainy
Ulangi proses yang sama untuk setiap cabang sampai semua kasus pada cabang
memiliki kelas yang sama
Dari tabel, gain tertinggi adalah Windy dan menjadi Node cabang atribut Rainy.
Karena semua kasus sudh masuk dalam kelas. Didapatkan pohon keputusan seperti
dibawah ini:
Humadity
High Normal
Outlook Yes
Cloudy Sunny
Rainy
Yes No
Jaringan neuron buatan terdiri atas kumpulan grup neuron yang tersusun dalam
lapisan yaitu;
1) Lapisan Input (Input Layer) berfungsi sebagai penghubung jaringan ke dunia luar
(sumber data). Neuron-neuron ini tidak melakukan apapun pada data, hanya
meneruskan data ini kelapisan berikutnya.
2) Lapisan Tersembunyi (Hidden Layer). Suatu jaringan dapat memiliki lebih dari satu
hidden layer atau bahkan tidak bisa punya sama sekali. Jika jaringan memiliki
beberapa lapisan tersembunyi, maka lapisan tersembunyi paling bawah yang
menerima dari input dari input layer.
3) Lapisan Output (Output Layer). Prinsip kerja pada lapisan ini sama dengan prinsip
kerja pada hidden layer dan ini juga digunakan fungsi sigmoid. Tetapi keluaran dari
lapisan ini sudah dianggap dari keluaran proses
Kemampuan ANN
Klasifikasi: bisa memilih satu data input ke dalam kategori yang sudah ditentukan.
Asosiasi: bisa menggambarkan satu objek secara menyeluruh dalam bagian objek
yang lain.
Selfs-organizing: mempunyai kemampuan pengolah data input yang tidak harus
punya targetan.
Optimasi: bisa menemukan satu jawaban yang sangat terbaik sehingga bisa mampu
mengecilkan biaya.
Dari gambar di atas, ada sejumlah data point yang terbagi menjadi dua kelas yaitu A
(biru) dan B (kuning). Misalnya ada data baru (hitam) yang akan kita prediksi kelasnya
menggunakan algoritma KNN. Dari contoh di atas, nilai K yang digunakan adalah 3.
Setelah dihitung jarak antara titik hitam ke masing-masing data point lainnya, didapatkan
3 titik terdekat yang terdiri dari 2 titik kuning dan satu titik biru seperti yang
diilustrasikan di dalam kotak merah, maka kelas untuk data baru (titik hitam) adalah B
(kuning).
Untuk menghitung jarak antara dua titik pada algoritma KNN digunakan metode
Euclidean Distance yang dapat digunakan pada 1-dimensional space, 2-dimensional
space, atau multi-dimensional space. 1-dimensional space berarti perhitungan jarak
hanya menggunakan satu variabel bebas (independent variable), 2-dimensional-space
berarti ada dua variabel bebas, dan multi-dimensional space berarti ada lebih dari dua
variabel.
Secara umum, formula Euclidean distance pada 1-dimensional space adalah sebagai
berikut.
Formula di atas dapat digunakan jika jumlah independent variable hanya ada satu
variabel. Jika ada lebih dari satu, kita dapat menjumlahkannya seperti di bawah ini.
Agar dapat lebih memahami cara kerja algoritma KNN menggunakan Euclidean
distance, mari kita coba terapkan pada contoh kasus.
Contoh kasus
Misalnya kita memiliki data customer seperti di bawah ini.
Dari tabel di atas, ada 6 data yang sudah berlabel dan 1 satu data baru yang harus
kita tentukan kelasnya dengan detail informasi sebagai berikut:
Ada 2 kelas yaitu A dan B
Age dan Income adalah independent variables atau variabel yang nilainya tidak
dipengaruhi oleh variabel lain dan akan digunakan untuk menghitung jarak
Class merupakan dependent variable, variabel yang nilainya dipengaruhi oleh
variabel lain (Age dan Income)
Menentukan nilai K
Penentuan nilai K ini tidak ada rumus pastinya. Namun satu tips yang dapat
dipertimbangkan, yakni jika kelas berjumlah genap maka sebaiknya nilai K-nya
ganjil, sebaliknya jika kelas berjumlah ganjil maka sebaiknya nilai K-nya genap. jadi
kita akan langsung tentukan nilai K yang digunakan yaitu K=3.
Pada gambar diatas, gambar (a) merupakan contoh logika tegas (Crisp Logic),
sedangkan gambar (b) merupakan logika fuzzy. Pada gambar (a) apabila X lebih dari
atau sama dengan 10 baru dikatakan benar yaitu bernilai Y=1, sebaliknya nilai X
yang kurang dari 10 adalah salah yaitu Y=0. Maka angka 9 atau 8 atau 7 dan
seterusnya adalah dikatakan salah. Sedangkan pada gambar (b) nilai X = 9, atau 8 atau 7
atau nilai antara 0 dan 10 adalah dikatakan ada benarnya dan ada juga salahnya.
Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu :
a. Variabel fuzzy
Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy.
Contoh : umur, temperatur, permintaan, dsb.
b. Himpunan fuzzy
Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan
tertentu dalam suatu variabel fuzzy.
Contoh :
a. Muda = [0,40] artinya seseorang dikatakan muda dengan umur 0
hingga 40
b. Parobaya = [30,50] artinya seseorang dikatakan parobaya dengan umur 30
hingga
c. Tua = [40,+] artinya seseorang dikatakan tua
Fungsi Keanggotaan
Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik-titik input
data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan)
yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk
mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa
fungsi yang bisa digunakan :
a) Pada representasi linear, pemetaan input ke derajat keanggotaannya digambarkan
sebagai suatu garis lurus. Ada 2 keadaan himpunan fuzzy yang linear, yaitu :
Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat
keanggotaan nol (0) bergerak ke kanan menuju ke nilai domain yang memiliki
derajat keanggotaan lebih tinggi.
derajat keanggotaan 𝜇(𝑥)
Keteragan :
𝑥 = Nilai keanggotaan yang dibahas
𝑎 = Nilai anggota terendah
𝑏 = Nilai anggota tertinggi
Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada
sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat
keanggotaan lebih rendah.
Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada
sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat
keanggotaan lebih rendah.
derajat keanggotaan 𝜇(𝑥)
Pada umumnya ada 3 metode sistem inferensi fuzzy yang digunakan dalam logika
fuzzy, yaitu : Metode Tsukamoto, Mamdani, dan Sugeno.
1. Metode Tsukamoto
Metode Tsukamoto merupakan perluasan dari penalaran monoton. Setiap
konsekuen pada aturan yang berbentuk JIKA-MAKA harus dipresentasikan dengan
suatu himpunan fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasilnya,
output hasil inferensi dari tiap-tiap aturan diberikan secara tegas (crisp) berdasarkan
α-predikat. Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot.
2. Metode Mamdani
Untuk metode ini, pada setiap aturan yang berbentuk implikasi (“sebab akibat”)
anteseden yang berbentuk konjungsi (AND) mempunyai nilai keanggotaan
berbentuk minimum (MIN), sedangkan konsekuen gabungannya berbentuk
maksimum (MAX), karena himpunan aturanaturannya bersifat independent (tidak
saling bergantung).
3. Metode Sugeno
Penalaran dengan Metode Sugeno hampir sama dengan penalaran Mamdani,
hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan
berupa konstanta atau persamaan linear. Metode ini diperkenalkan oleh Takagi-
Sugeno Kang pada tahun 1985, sehingga metode ini sering dinamakan dengan
Metode TSK.
7. Ensemble Learning
Metode ensemble adalah algoritma dalam pembelajaran mesin (machine learning)
dimana algoritma ini sebagai pencarian solusi prediksi terbaik dibandingkan dengan
algoritma yang lain karena metode ensemble ini menggunakan beberapa algoritma
pembelajaran untuk pencapaian solusi prediksi yang lebih baik daripada algoritma yang
bisa diperoleh dari salah satu pembelajaran algoritma kosituen saja.
Sampel Sampel
Sampel2 Average
1 3
44 39 67 50
Sampel
Sampel2 Sampel3 VotePredict
1
1 0 1 1
Weight Rata-rata: Dalam hal ini, bobot yang berbeda diterapkan pada prediksi dari
beberapa model kemudian mengambil rata-rata yang berarti memberikan manfaat tinggi
atau rendah ke keluaran model tertentu.
Sampel
Sampel2 Sampel3 WeightAverage
1
Predict 44 39 67 48
Klasifikasi
1. Bagging
Bagging merupakan metode yang dapat memperbaiki hasil dari algoritma
klasifikasi machine learning dengan menggabungkan klasifikasi prediksi dari
beberapa model. Hal ini digunakan untuk mengatasi ketidakstabilan pada model
yang kompleks dengan kumpulan data yang relatif kecil. Bagging adalah salah satu
algoritma berbasis ensemble yang paling awal dan paling sederhana, namun efektif.
Bagging paling cocok untuk masalah dengan dataset pelatihan yang relatif kecil.
Bagging mempunyai variasi yang disebut Pasting Small Votes. cara ini dirancang
untuk masalah dengan dataset pelatihan yang besar, mengikuti pendekatan yang
serupa, tetapi membagi dataset besar menjadi segmen yang lebih kecil. Penggolong
individu dilatih dengan segmen ini, yang disebut bites, sebelum menggabungkannya
melalui cara voting mayoritas.
Figure Bagging
2. Boosting
Boosting merupakan cara untuk menghasilkan beberapa model atau
penggolongan untuk prediksi atau klasifikasi, dan juga menggabungkan prediksi dari
berbagai model ke dalam prediksi tunggal. Boosting adalah pendekatan iteratif untuk
menghasilkan pengklasifikasi yang kuat, yang mampu mencapai kesalahan training
seminimal mungkin dari sekelompok pengklasifikasi yang lemah. yang masing-
masing hampir tidak dapat melakukan lebih baik daripada tebakan acak.
Boosting di rancang untuk masalah kelas biner, menciptakan kumpulan dari tiga
klasifikasi yang lemah pada satu waktu. klasifikasi pertama (atau hipotesis) adalah
memproses subset acak dari data training yang tersedia. klasifikasi kedua adalah
subset yang berbeda dari dataset asli, dimana hasil dari klasifikasi pertama yang
sudah benar di klasifikasi dan setengahnya lagi salah diklasifikasi. klasifikasi ketiga
kemudian dilatih dengan contoh di mana klasifikasi pertama dan klasifikasi kedua
tidak setuju. Ketiga pengklasifikasi ini kemudian digabungkan melalui suara
mayoritas tiga arah.
Figure boosting
3. Staking
Stacking merupakan cara untuk mengkombinasi beberapa model, dengan
konsep meta learner. dipakai setelah bagging dan boosting. tidak seperti bagging dan
boosting, stacking memungkinkan mengkombinasikan model dari tipe yang berbeda.
Ide dasarnya adalah untuk train learner tingkat pertama menggunakan kumpulan
data training asli, dan kemudian menghasilkan kumpulan data baru untuk melatih
learner tingkat kedua, di mana output dari learner tingkat pertama dianggap sebagai
fitur masukan sementara yang asli label masih dianggap sebagai label data training
baru. Pembelajar tingkat pertama sering dihasilkan dengan menerapkan algoritma
learning yang berbeda.
Dalam fase training pada stacking, satu set data baru perlu dihasilkan dari
classifier tingkat pertama. Jika data yang tepat yang digunakan untuk melatih
classifier tingkat pertama juga digunakan untuk menghasilkan kumpulan data baru
untuk melatih classifier tingkat kedua. proses tersebut memiliki risiko yang tinggi
yang akan mengakibatkan overfitting. sehingga disarankan bahwa contoh yang
digunakan untuk menghasilkan kumpulan data baru dikeluarkan dari contoh data
training untuk learner tingkat pertama, dan prosedur crossvalidasi.
Figure Stacking
Kelebihan dan kekurangan
Kelebihan
Ensembling adalah metode yang terbukti untuk meningkatkan akurasi model dan
bekerja di sebagian besar kasus.
Ini adalah bahan utama untuk memenangkan hampir semua hackathon
pembelajaran mesin.
Ensembling membuat model lebih kuat dan stabil sehingga memastikan kinerja
yang layak pada uji kasus di sebagian besar skenario.
Untuk menangkap hubungan kompleks linier dan sederhana serta non-linear
dalam data. Ini dapat dilakukan dengan menggunakan dua model yang berbeda
dan membentuk ensemble dua.
Kekurangan
Ensembling mengurangi interpretability model dan membuatnya sangat sulit
untuk menarik wawasan bisnis penting di akhir.
Memakan waktu dan dengan demikian mungkin bukan ide terbaik untuk aplikasi
real-time.
Pemilihan model untuk menciptakan ensemble adalah seni yang benar-benar sulit
untuk dikuasai.
8. Deep Learning
Deep learning merupakan subbidang machine learning yang algoritmanya
terinspirasi dari struktur otak manusia. Struktur tersebut dinamakan Artificial Neural
Networks atau disingkat ANN. Pada dasarnya, ia merupakan jaringan saraf yang
memiliki tiga atau lebih lapisan ANN. Ia mampu belajar dan beradaptasi terhadap
sejumlah besar data serta menyelesaikan berbagai permasalahan yang sulit diselesaikan
dengan algoritma machine learning lainnya.
Jenis algoritma
Deep learning terdiri dari beberapa jaringan saraf tiruan yang saling berhubungan.
Berikut ini adalah beberapa algoritmanya:
Convolutional Neural Network (CNN)
CNN terdiri dari banyak layer untuk memproses dan mengekstrak fitur dari
data. Ia biasanya digunakan untuk memproses gambar dan mendeteksi objek. Saat
ini, CNN banyak digunakan untuk mengidentifikasi citra satelit, citra medis, dan
mendeteksi anomali.
Recurrent Neural Network (RNN)
Recurrent Neural Networks (RNN) merupakan salah satu bentuk arsitektur
Artificial Neural Networks (ANN) yang dirancang khusus untuk memproses data
yang bersambung/ berurutan (sequential data). RNN biasanya digunakan untuk
menyelesaikan permasalahan data historis atau time series, contohnya data ramalan
cuaca. Selain itu, RNN juga dapat diimplementasikan pada bidang natural language
understanding (pemahaman bahasa alami), misalnya translasi bahasa.
Long Short Term Memory Network (LTSM)
LSTM merupakan tipe Recurrent Neural Network yang dapat mempelajari data
historis atau time series. Ia merupakan algoritma deep learning yang kompleks dan
dapat mempelajari informasi jangka panjang dengan sangat baik. LSTM sangat
powerful untuk menyelesaikan berbagai permasalahan kompleks seperti speech
recognition, speech to text application, komposisi musik, dan pengembangan di
bidang farmasi.
Self Organizing Maps (SOM)
Jenis terakhir adalah self organizing maps atau SOM. Algoritma ini mampu
membuat visualisasi data secara mandiri. SOM diciptakan untuk membantu
penggunanya dalam memahami data dan informasi berdimensi tinggi.
Penerapan
Sebelumnya kita sudah menyinggung beberapa contoh penerapan deep learning. Nah,
sekarang mari kita bahas penerapan lainnya. Berikut adalah beberapa penerapannya:
Pengenalan gambar
Teknologi ini digunakan untuk mengenali dan mendeteksi objek pada gambar
dan video. Contohnya antara lain, fitur untuk menandai seseorang dalam sebuah foto
di media sosial, fitur face unlock pada ponsel pintar, dan aplikasi Google Photo yang
dapat mendeteksi wajah.
Pengenalan suara
Deep learning juga dapat mengenali suara manusia dan dapat memberikan
respon berupa teks. Selain itu, teknologi ini juga dapat mendeteksi karakteristik suara
yang diterima, contohnya pada aplikasi aplikasi Google Assistant atau Apple Siri.
Natural language processing
NLP merupakan subbidang Artificial Intelligence (AI) untuk menganalisis,
memodelkan, dan memahami bahasa manusia. Teknik NLP digunakan di setiap
aplikasi cerdas yang melibatkan bahasa alami. Ia merupakan komponen penting
dalam berbagai aplikasi perangkat lunak yang kita gunakan dalam kehidupan sehari-
hari. Contoh penerapan deep learning dalam bidang NLP antara lain, mesin
penerjemah, digital assistant, mesin pencari, layanan customer service, dan chatbot.
Deteksi anomali
Deteksi anomali merupakan tahapan untuk mengidentifikasi pola yang tidak
beraturan atau tidak sesuai dengan perilaku yang diprediksi. Anomali dapat diartikan
sebagai perilaku atau pola yang tidak wajar dan dapat menjadi tanda adanya kesalahan
dalam sistem. Teknologi ini memiliki berbagai kegunaan, antara lain, untuk
memprediksi kesalahan yang terjadi pada sistem, pengawasan kesehatan, sampai
deteksi penipuan.
Kesimpulan
Jadi, itulah pembahasan kita mengenai deep learning. Bagaimana menarik, kan? Ia
merupakan subbidang machine learning yang algoritmanya terinspirasi dari struktur otak
manusia. Struktur tersebut dinamakan Artificial Neural Networks atau disingkat ANN.
Deep learning terdiri dari beberapa algoritma dan menjadi teknologi penting bagi berbagai
produk atau layanan yang kita gunakan sehari-hari.