UAS REKAYASA PERANGKAT LUNAK (RPL Lanjut)
Nama : Adi Firmansah
Nim : 1630511051
1. Dalam buku yang ditulis oleh Rifkie Primata, bahwa secara umum machine learning dapat di kelompaokan menjadi 4 kategori yaitu :
A. Supervised learning
Supervised learning adalah sebuah pendekatan dimana sudah terdapat data yang dilatih, dan terdapat variable yang ditargetkan sehingga tujuan dari pendekatan ini adalah mengkelompokan suatu data ke data yang sudah ada,
1. Linear Regression
Regresi linier sederhana adalah suatu metode yang digunakan untuk melihat bentuk hubungan antar satu variabel independent (bebas) dan mempunyai hubungan garis lurus dengan variabel dependennya (terikat). Sebuah variabel hasil observasi yang diperoleh sangat mungkin dipengaruhi oleh variabel lainnya, misalkan tinggi badan dan berat badan seseorang. Untuk suatu tinggi tertentu ada besaran berat badan yang mempengaruhi, demikian juga sebaliknya. Contoh lain misalnya produksi padi yang dipengaruhi oleh luas lahan yang ditanami, jenis pupuk yang dipakai, banyaknya pupuk yang dipakai dll.
https://statmat.id/regresi-linier-sederhana/
2. Desicion Tree (ID3, C4.5)
Salah satu metode data mining yang umum digunakan adalah pohon keputusan. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan rule. Pohon keputusan adalah salah satu metode klasifikasi yang paling popular karena mudah untuk diinterpretasi oleh manusia. Konsep dari pohon keputusan adalah mengubah data menjadi pohon keputusan dan aturan-aturan keputusan.
Kelebihan :
1. Tidak memerlukan biaya yang mahal saat membangun algoritma.
2. Mudah untuk diinterpetasikan.
3. Mudah mengintegrasikan dengan sistem basis data.
4. Memiliki nilai ketelitian yang lebih baik.
5. Dapat menemukan hubungan tak terduga dan suatu data.
6. Dapat menggunakan data pasti/mutlak atau data kontinu.
7. Mengakomodasi data yang hilang.
Kekurangan :
1. Terjadi overlap terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan.
2. Pengakumulasian jumlah eror dari setiap tingkat dalam sebuah pohon keputusan yang besar.
3. Kesulitan dalam mendesain pohon keputusan yang optimal
4. Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.
Alur algoritma , menggunakan pohon keputusan
Langkah 1 : Pohon dimulai dengan sebuah simpul yang mereperesentasikan sampel data pelatihan yaitu dengan membuat simpul akar.
Langkah 2 : Jika semua sampel berada dalam kelas yang sama, maka simpul ini menjadi daun dan dilabeli menjadi kelas. Jika tidak, information gain akan digunakan untuk memilih atribut terbaik dalam memisahkan data sampel menjadi kelas-kelas individu.
Langkah 3 : Cabang akan dibuat untuk setiap nilai pada atribut dan data sampel akan dipartisi lagi.
Langkah 4 : Algoritma ini menggunakan proses rekursif untuk membentuk pohon keputusan pada setiap data partisi. Jika sebuah atribut sduah digunakan disebuah simpul, maka atribut ini tidak akan digunakan lagi di simpul anak-anaknya.
Langkah 5 : Proses ini berhenti jika dicapai kondisi seperti berikut : – Semua sampel pada simpul berada di dalam satu kelas
http://pohonkeputusan.com/konsep-pohon-keputusan-id3-dan-c4-5/?i=1
3. Naive Bayes Classifier
Naive Bayes merupakan sebuah metoda klasifikasi menggunakan metode probabilitas dan statistik yg dikemukakan oleh ilmuwan Inggris Thomas Bayes. Algoritma Naive Bayes memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai Teorema Bayes. Ciri utama dr Naïve Bayes Classifier ini adalah asumsi yg sangat kuat (naïf) akan independensi dari masing-masing kondisi / kejadian.
Kelebihan dan kekurangan
a) Mudah untuk dibuat
b) Hasil bagus
c) Asumsi independence antar atribut membuat akurasi berkurang (karena biasanya ada keterkaitan)
Tahapan dari proses algoritma naïve bayes
a) Menghitung jumlah kelas / label.
b) Menghitung Jumlah Kasus Per Kelas
c) Kalikan Semua Variable Kelas
d) Bandingkan Hasil Per Kelas
https://informatikalogi.com/algoritma-naive-bayes/
4. Artificial Neural Network
Artificial Neural Network Artificial (ANN) atau Jaringan Syaraf Tiruan merupakan sebuah teknik atau pendekatan pengolahan informasi yang terinspirasi oleh cara kerja sistem saraf biologis, khususnya pada sel otak manusia dalam memproses informasi.
Kelebihan dan Kekurangan
a) Pembelajaran adaptif: Kemampuan untuk belajar dalam melakukan tugas-tugas berdasarkan data yang diberikan
b) Self-Organization: Sebuah Neural Network dapat membangun representasi dari informasi yang diterimanya selama proses pembelajaran secara mandiri
c) Operasi Real-Time: Penghitungan Neural Network dapat dilakukan secara paralel, sehingga proses komputasi menjadi lebih cepat.
https://dosen.perbanas.id/artificial-neural-network/
5. KNN (K-Nearest Neighbor)
Sebuah metode klasifikasi terhadap sekumpulan data berdasarkan pembelajaran data yang sudah terklasifikasikan sebelumya. Termasuk dalam supervised learning, dimana hasil query instance yang baru diklasifikasikan berdasarkan mayoritas kedekatan jarak dari kategori yang ada dalam K-NN.
Tahapan Langkah Algoritma
a) Menentukan parameter k (jumlah tetangga paling dekat).
b) Menghitung kuadrat jarak eucliden objek terhadap data training yang diberikan.
c) Mengurutkan hasil no 2 secara ascending (berurutan dari nilai tinggi ke rendah)
d) Mengumpulkan kategori Y (Klasifikasi nearest neighbor berdasarkan nilai k)
e) Dengan menggunakan kategori nearest neighbor yang paling mayoritas maka dapat dipredisikan kategori objek.
https://informatikalogi.com/algoritma-k-nn-k-nearest-neighbor/
A. Unsupervised Learning
Unsupervised learning adalah sebuah pendekatan dimana tidak memiliki data latih, sehingga dari data yang ada, kita mengelompokan data tersebut menjadi 2 bagian atau 3 bagian dan seterusnya.
1. K-Means
K-Means Clustering adalah suatu metode penganalisaan data atau metode Data Mining yang melakukan proses pemodelan tanpa supervisi (unsupervised) dan merupakan salah satu metode yang melakukan pengelompokan data dengan sistem partisi.
Kekurangan dan kelebihan
a) Ditemukannya beberapa model clustering yang berbeda
b) Pemilihan jumlah cluster yang paling tepat
c) Kegagalan untuk converge
d) Outliers
e) Bentuk cluster
f) Overlapping
Proses Algoritma
a) Tentukan jumlah cluster
b) Alokasikan data ke dalam cluster secara random
c) Hitung centroid/rata-rata dari data yang ada di masing-masing cluster
d) Alokasikan masing-masing data ke centroid/rata-rata terdekat
e) Kembali ke Step 3, apabila masih ada data yang berpindah cluster atau apabila perubahan nilai centroid, ada yang di atas nilai threshold yang ditentukan atau apabila perubahan nilai pada objective function yang digunakan di atas nilai threshold yang ditentukan
2. Hierarchical Clustering
Hierarchical Clustering adalah metode analisis kelompok yang berusaha untuk membangun sebuah hirarki kelompok data.
Proses Algoritma
a) Hitung Matrik Jarak antar data.
b) Gabungkan dua kelompok terdekat berdasarkan parameter kedekatan yang ditentukan.
c) Perbarui Matrik Jarak antar data untuk merepresentasikan kedekatan diantara kelompok baru dan kelompok yang masih tersisa.
d) Ulangi langkah 2 dan 3 higga hanya satu kelompok yang tersisa.
3. Fuzzy C-Means
Fuzzy clustering adalah proses menentukan derajat keanggotaan, dan kemudian menggunakannya dengan memasukkannya kedalam elemen data kedalam satu kelompok cluster atau lebih.
Proses Algoritma
a) Menentukan jumlah Cluster
b) Tentukan jumlah maksimal perulangan/iterasi
c) Tentukan batas minimal selisih perhitungan dalam setiap iterasi
d) Tentukan factor fuzzy
https://piptools.net/algoritma-fcm-fuzzy-c-means-clustering/
B. Reinforcement Learning
Reinforcement learning (RL) adalah salah satu cabang dari pembelajaran mesin untuk mengajari sebuah agent agar membuat keputusan yang terbaik, yaitu yang memberikan imbal hasil terbesar.
a. Genetic Algorithm
Genetic Algorithm (GA) adalah bagian dari Evolutionary Algorithm yaitu suatu algoritma yang mencontoh proses evolusi alami dimana konsep utamanya adalah individu-individu yang paling unggul akan bertahan hidup, sedangkan individu-individu yang lemah akan punah.
Proses Algoritma
a) Memasukan data yang ingin digunakan
b) Tentukan besar modal yang dimiliki
c) Tentukan iterasi
d) Tentukan bessar popsize
e) Tentukan probabilitas crossover
f) Tentukan probabilitas mutase
b. Dynamic Programming
Dynamic Programming (selanjutnya disebut “DP” saja) merupakan salah satu teknik perancangan algoritma yang dikembangkan untuk menyelesaikan permasalahan yang sangat kompleks dengan memecah permasalahan tersebut menjadi banyak sub-permasalahan.
Proses Algoritma
a) Permasalahan dibagia menjadi stage, dengan keputusan diperlukan pada tiap stage.
b) Tiap stage punya nomor stage berhubungan dengan awal dari stage.
c) Hasil dari setiap stage ditransformasikan pada stage yang lainnya.
d) Prosedur penyelesaiannya dirancang untuk mendapatkan hasil yang optimal.
e) Hasil optimal dari suatu stage tidak berhubungan dengan stage sebelumnya.
f) Prosedur penyelesaiannya diawali dari stage terakhir
c. Generalized Policy Iteration
Iterasi kebijakan terdiri dari dua proses yang simultan dan saling berinteraksi, satu membuat fungsi nilai konsisten dengan kebijakan saat ini (evaluasi kebijakan), dan yang lainnya membuat kebijakan serakah sehubungan dengan fungsi nilai saat ini (perbaikan kebijakan).
C. Deep Learning
a. Convolutional Networks
Convolutional Neural Network (CNN) adalah salah satu jenis neural network yang biasa digunakan pada data image. CNN bisa digunakan untuk mendeteksi dan mengenali object pada sebuah image.
Kelebihan dan kekurangan
kekurangan, dan kelebihan dari metode yang digunakan, metode tersebut untuk digunakan pada sistem pengenalan wajah. (Face Recognition). Penelitian ini dapat dianalisis, yaitu akurasi dalam setiap learning rate dan mendapatkan hasil. Faktor akurasi didapatkan dari seberapa tepat metode mengenal nama orang dari image wajah.. Dalam sistem pengenalan wajah dengan Convolutional Neural Network (CNN), memiliki hasil analisa yang merunjuk pada meningkatnya akurasi. Hal itu dikarenakan oleh struktur jaringan Convolutional Neural Network itu sendiri yang merupakan optimisasi dari metode Backpropagation. Dengan peran spesifik metode Convolutional Neural Network yang memang sudah dispesifikasikan untuk menyelesaikan masalah pengenalan gambar.
b. Deep Believe Networks
Deep Belief Network (DBN) adalah suatu pengembangan dari Deep Learning yang merupakan tumpukan atau stack dari beberapa algoritma atau metode yang bertujuan feature extraction yang memanfaatkan seluruh resource seoptimal mungkin. Deep Learning mencakup algoritma unsupervised dan supervised learning sehingga dapat memanfaatkan data yang berlabel maupun tidak berlabel.
Proses Algoritma
Teknik greedy layer-wise digunakan untuk training pada DBN dan RBM untuk membangun setiap layer Proses greddy layer-wise sebagai berikut
a) Latih layer pertama pada RBM model dengan rawinput x =h(0). Jadikanlayer sebagai layer terlihat.
b) Gunakan keluaran dari layer pertama sebagai in- putan pada layer kedua, Kegiatan ini dapat di-representasikan sebagai P(h(1)|h(0))(mean activa-tions).\
c) Latih layer kedua sebagai RBM, kemudian nilai mean activations menjadi nilai training pada layer terlihat RBM.
d) Lakukan nomor 2 dan 3 sebayak jumlah layer yang ada
2. Contoh Kasus Menggunakan Naive Bayes
Bagian kemahasiswaan UMMI setiap tahunnya selalu menyeleksi mahasiswa penerima beasiswa. Keputusan mahasiswa menerima beasiswa atau tidaknya ditentukan berdasarkan pada IP dan jumlah sks. Bantulah bagian kemahasiswwaan UMMI untuk memprediksi penerima beasiswa menggunakan Algoritma Naive Bayes. Sebagai data pembanding maka disediakan data training yang berisi data pendaftar dan hasil seleksi penerima beasiswa di tahun sebelumnya.
Menghitung Class Probabilitas :
P(Dapat Beasiswa = Ya) = 5/10 = 0.5
P(Dapat Beasiswa = Tidak) = 5/10 = 0.5
Menghitung Conditional Probabilitas :
IP Smester 1
IP Smester 2
IP Smester 3
IP Smester 4
IP Smester 5
IP Smester 6
SKS Smester 1
SKS Smester 2
SKS Smester 3
SKS Smester 4
SKS Smester 5
SKS Smester 6
Ini penghitungan apakah ADI FIRMANSAH mendapatkan beasiswa atau tidak :
Dapat disimpulkan bahwa P(Diterima) = 0,0000002373 dan P(Tidak Diterima) = 0,00000000002288
Maka ADI FIRMANSAH Dinyatakan mendapat Beasiswa Karena :
P(Diterima) > P(Tidak Diterima)
Atau
0,0000002373 > 0,00000000002288


















Komentar
Posting Komentar