Sabtu, 25 Desember 2021

Teknik Evaluasi pada Model Machine Learning

Hai, temen-temen semua. Kali ini pembahasannya tentang Teknik Evaluasi pada Model Machine Learning. Gimana sih Teknik Evaluasi itu? Simak penjelasannya dibawah ini!

     Ada beberapa metric untuk mengevaluasi model Machine Learning diantaranya Classification Metrics (Accuracy, Precision, Recall, F1-score), Regression Metrics (MSE, RSME, MAE), Ranking Metrics (MRR, DCG, NDCG), Statistical Metrics (Correlation), Computer Vision Metrics (PSNR, SSIM, IoU), NLP Metrics (Perplexity, BLEU score), dan Deep Learning Related Metrics (Inception score, Frechet Inception distance). Tapi, kali ini, yang akan dibahas adalah Classification Metrics (Accuracy, Precision, Recall, F1-score).

A. Classification Metrics (Accuracy, Precision, Recall, F1-score)

-          Confusion Matrix

a.      True Positive (TP) merupakan data positif yang diprediksi benar. Contohnya, pasien menderita kanker (class 1) dan dari model yang dibuat memprediksi pasien tersebut menderita kanker (class 1).

b.     True Negative (TN) merupakan data negatif yang diprediksi benar. Contohnya, pasien tidak menderita kanker (class 2) dan dari model yang dibuat memprediksi pasien tersebut tidak menderita kanker (class 2).

c.      False Postive (FP) — Type I Error merupakan data negatif namun diprediksi sebagai data positif. Contohnya, pasien tidak menderita kanker (class 2) tetapi dari model yang telah memprediksi pasien tersebut menderita kanker (class 1).

d.     False Negative (FN) — Type II Error merupakan data positif namun diprediksi sebagai data negatif. Contohnya, pasien menderita kanker (class 1) tetapi dari model yang dibuat memprediksi pasien tersebut tidak menderita kanker (class 2).


-        Accuracy adalah persentase jumlah data yang diprediksi secara benar terhadap jumlah keseluruhan data. Akurasi hanya cocok digunakan pada saat perbandingan jumlah label data sebenarnya relatif sama.

-        Precision adalah proporsi prediksi berlabel “Positif” yang benar terhadap keseluruhan prediksi “Positif”

-        Recall atau Sensitivitas atau True Positive Rate adalah proporsi jumlah data yang diprediksi model berlabel “Positif” dari seluruh data yang memang berlabel “Positif”

-        F1-score merangkum presisi & sensitivitas dengan mengambil RATAAN HARMONIK dari keduanya

-        Specificity : rasio jumlah data yang diprediksi model berlabel “NEGATIVE” dari seluruh data yang memang berlabel “NEGATIVE”

-     False Positive Rate (FPR)


Catatan :

1.      Pilih algoritma yang memiliki accuracy tinggi jika akurasi sangat bagus di gunakan sebagai acuan performansi algoritma JIKA dataset memiliki jumlah data False Negatif dan False Positif yang sangat mendekati (Symmetric). Namun jika jumlahnya tidak mendekati, maka sebaiknya gunakan F1 Score sebagai acuan.

2.      Pilih algoritma yang memiliki precission tinggi jika kita lebih menginginkan terjadinya True Positif dan sangat tidak menginginkan terjadinya False Positif.

3.      Pilih algoritma yang memiliki Recall tinggi jika kita lebih memilih False Positif lebih baik terjadi daripada False Negatif.

4.      Pilih algoritma yang memiliki Specificity tinggi jika kita tidak menginginkan terjadinya false positif.


Nah, itu dia pembahasan mengenai Teknik Evaluasi Model Machine Learning kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)







Sumber :

Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom

Agglomerative Hierarchical Clustering (AHC)

 Hai, temen-temen semua. Kali ini pembahasannya tentang Agglomerative Hierarchical Clustering (AHC). Apa sih AHC itu? Simak penjelasannya dibawah ini!


 Hierarchical Clustering adalah metode analisis kelompok yang berusaha untuk membangun sebuah hierarki kelompok data. Secara umum, ada 2 strategi pengelompokkan clustering ini yaitu agglomerative (Bottom-Up) dan Devisive (Top-Down). Dan kali ini, akan dibahas mengenai strategi Agglomerative)

A. Pengertian AHC

         Agglomerative Hierarchical Clustering (Metode Penggabungan/Bottom-Up) adalah strategi pengelompokkan hierarki yang dimulai dengan setiap objek dalam satu cluster yang terpisah kemudian membentuk cluster yang semakin membesar. Jadi, banyaknya cluster awal adalah sama dengan banyaknya objek. Ada beberapa kelompok data pada AHC yaitu :

-          Single Linkage yaitu jarak antara memer terdekat dari dua cluster

-          Complete Linkage yaitu jarak maksimum antara cluster

-          Average Linkage yaitu Jarak rata-rata antara cluster


B. Langkah-langkah pada Algoritma AHC

1.      Hitung matrik jarak antar data menggunakan Euclidean atau Manhattan Disatance

2.      Gabungkan dua kelompok terdekat menjadi satu kelompok data yaitu Single Linkage (Jarak terjauh) dan Average Linkage (Jarak Rata-Rata)

3.      Perbarui Matrik jarak antar data untuk merepresentasikan antara kelompok baru dengan kelopok yang masih tersisa

4.      Ulangi langkah 2 dan 3 sampai hanya satu kelompok saja yang tersisa


C. Algoritma Agglomerative

1.      Konversi Attribut menjadi distance matrix

2.      Diawal, tiap objek atau sampel adalah cluster tunggal

3.      Lakukan tahap dibawah ini hingga cluster menjadi satu :

-          Merge dua cluster terdekat (similar)

-          Update distance matrix




Nah, itu dia pembahasan mengenai Agglomerative Hierarchical Clustering kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)







Sumber :

Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom
https://medium.com/@tribinty/algorithm-agglomerative-hierarchical-clustering-31d2cea14d9


Reinforcment Learning & Q-Learning

      Hai, temen-temen semua. Kali ini pembahasannya tentang Reinforcment Learning dan Q-Learning. Apa sih Reinforcment Learning itu? Apa sih Q-Learning itu? Simak penjelasannya dibawah ini!


A. Pengertian Reinforcment Learning

         Metode pembelajaran pada A.I mengenai apa yang mesti dilakukan (mengimplementasikan aksi kedalam situasi) pada sebuah masalah/problem untuk mendapatkan hasil/reward yang maksimal.


B. Elemen pada Reinforcment Learning 


  1. Policy adalah cara suatu agent untuk berperilaku pada sebuah situasi. Dengan kata lain elemen ini adalah pemetaan aksi yang akan diambil oleh sang agent, lalu diimplementasikan pada suatu situasi.

2.  Reward Function didefinisikan sebagai goal/tujuan yang ingin dicapai sebuah agent. Dalam proses ini agent akan memaksimalkan reward dari aksi yang sudah dilakukan. Reward Function akan menjadi acuan agent mengenai mana yang baik dan yang buruk.

3.  Value Function yaitu dimana agent akan mempertimbangkan hasil yang terbaik untuk jangka panjang. Atau dalam kata lain, nilai sebuah keadaan (state) adalah jumlah total reward yang bisa dikumpulkan agen hingga masa berikutnya, dimulai dari keadaan (state) tersebut. Reward didapatkan langsung dari lingkungan (environment), sedangkan Value harus diestimasi secara menerus dari hasil pengamatan si agent.

4.      Environment Model dimana agent akan memprediksi keadaan dan reward selanjuntnya. Elemen ini digunakan untuk perencanaan atau dalam kata lain, agent akan memutuskan aksi dengan mempertimbangkan kemungkinan situasi di masa yang akan datang

     Sebelumnya, Q-learning dan SARSA (State-Action-Reward-State-Action) adalah dua algoritma Reinforcment Learning bebas model yang umum digunakan. Mereka berbeda dalam hal strategi eksplorasi mereka sementara strategi eksploitasi mereka serupa.

C. Pengertian Q-Learning

          Q-learning adalah metode di luar kebijakan di mana agen mempelajari nilai (Value) berdasarkan tindakan a* yang diturunkan dari kebijakan (Policy) lain. Sedangkan SARSA adalah metode sesuai kebijakan di mana agen mempelajari nilai berdasarkan tindakan saat ini yang diperoleh dari kebijakan saat ini.

D. Langkah-langkah dalam Metode Q-Learning

    - Langkah 1: Inisialisasi

          Inisialisasi semua nilai Q dalam tabel Q ke 0, agen tidak memiliki pengetahuan tentang lingkungan tempatnya berada.

    - Langkah 2: Jelajahi ruang

          Masalah eksplorasi vs eksploitasi, agen terus menjelajahi lingkungan dengan mengeksekusi tindakan di wilayahnya.

     - Langkah 3: Amati Imbalannya (reward)

          Saat menjelajah, agen akan mengamati hadiah apa yang didapatnya dari mengeksekusi tindakan tertentu (at) di status (st) untuk pergi ke status berikutnya (st + 1).

     - Langkah 4: Perbarui fungsi nilai   

          Setelah mengamati hadiah, agen kemudian memperbarui fungsi nilai untuk keadaan tertentu dan pasangan tindakan menggunakan rumus berikut, ini mengembalikan tabel-Q yang diperbarui

- (alpha) adalah tingkat pembelajaran (0<alpha<1) - Sama seperti dalam pengaturan pembelajaran yang diawasi, adalah sejauh mana nilai-Q kami diperbarui di setiap iterasi.

- (gamma) adalah faktor diskontinu (0<= gamma<=1) - menentukan seberapa penting kita ingin memberikan imbalan di masa mendatang. Nilai tinggi untuk faktor diskon (mendekati 1) menangkap penghargaan efektif jangka panjang, sedangkan, faktor diskon 0 membuat agen kami hanya mempertimbangkan imbalan langsung, sehingga membuatnya serakah.


Nah, itu dia pembahasan mengenai Reinforcment Learning dan Q-Learning kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)




Sumber :

Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom



 










K-Means Clustering

 Hai, temen-temen semua. Kali ini pembahasannya tentang K-Means Clustering. Apa sih K-Means Clustering itu? Simak penjelasannya dibawah ini!


   Dalam System klasifikasi ada 2 jenis pengklasifikasian yaitu supervised classification dan unsupervised classification. Clustering dapat dianggap paling penting dalam masalah unsupervised learning. Sebuah cluster merupakan kumpulan objek-objek yang sama diantara mereka dan berbeda pada objek dari cluster lainnya.


A. PENGERTIAN K-MEANS

          K-Means merupakan algoritma unyuk cluster n objek berdasarkan atribut menjadi k partisi, dimana k < n. Secara umum, K-means Clustering merupakan salah satu metode data clustering non-hierarki yang mengelompokkan data dalam bentuk satu atau lebih kelompok atau cluster. Tujuan dari K-Means Clustering ini adalah untuk mendapatkan kelompok-kelompok, dimana dalam satu kelompok, memiliki tingkat homogenitas yang tinggi dan memiliki tingkat heterogenitas yang tinggi antar kelompok.



B. ANALISIS K-MEANS CLUSTERING

    Analisis K-Means Clustering adalah teknik statistika yang berguna untuk mengelompokkan objek kedalam K Cluster yang telah ditentukan di awal dimana setiap objek mempunyai tingkat homogenitas yang tinggi DALAM satu kelompok dan mempunyai tingkat heterogenitas yang tinggi ANTAR kelompok.

  


C. LANGKAH-LANGKAH DALAM K-MEANS CLUSTERING

         Langkah-langkah dalam algoritma K-Means Clustering yaitu dengan :

      1. Menentukan Jumlah cluster

      2. Menentukan nilai centroid

         Dalam menentukan nilai centroid untuk awal iterasi, nilai awal centroid dilakukan secara acak. Sedangkan jika menentukan nilai centroid yang merupakan tahap dari iterasi, maka digunakan rumus sebagai berikut : 

      3. Menghitung jarak antara titik centroid dengan titik tiap objek



      4. Pengelompokan objek untuk menentukan anggota cluster adalah dengan memperhitungkan jarak minumum objek

      5. Kemudian, tentukan lagi nilai centroidnya sesuai dengan langkah ke-2, lakukan perulangan hingga nilai centroid yang dihasilkan tetap dan anggota cluster tidak berpindah ke cluster lain.


D. TRANSFORMASI DATA METODE K-MEANS

          Metode K-Meanss Clustering hanya bisa mengolah data dalam bentuk angka, maka untuk data yang berbentuk nominal harus di inisialisasikan terlebih dahulu dalam bentuk angka. Langkah-langkahnya adalah :

- Urutkan data berdasarkan frekuensi kemunculannya

- Inisialisasikan data tersebut mulai dari data tertinggi dengan nilai 1, kemudian data selanjutnya 2, 3 dan seterusnya.


Nah, itu dia pembahasan mengenai K-Means Clustering kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)




Sumber :

Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom


Neural Network (NN)

     Hai, temen-temen semua. Kali ini pembahasannya tentang NN atau Neural Network. Apa sih NN itu? Simak penjelasannya dibawah ini!


A. Pengertian Neural Network

     Neural Network adalah model yang terispirasi oleh bagaimana neuron dalam otak manusia bekerja. Tiap neuron pada otak manusia saling berhubungan dan informasi mengalir dari setiap neuron tersebut.

-          Dendrit (Dendrites) berfungsi untuk mengirimkan inplus yang diterima ke badan sel syaraf

-          Akson (Axon) berfungsi untuk mengirimkan implus dari badan sel ke jaringan lain

            -      Sinapsis berfungsi sebagai unit fungsional diantara dua sel syaraf

 

      Tiap neuron menerima input dan melakukan operasi dot dengan sebuah weight, menjumlahkannya (weighted sum) dan menambahkan bias. Hasil dari operasi ini akan dijadikan parameter dari activation function yang akan dijadikan output dari neuron tersebut.

 

B. Struktur Neural Network

 

     Karakteristik dari ANN dilihat dari pola hubungan antar neuron, metode penentuan bobot dari tiap koneksi, dan fungsi aktivasinya. Gambar di atas menjelaskan struktur ANN secara mendasar, yang dalam kenyataannya tidak hanya sederhana seperti itu.

1.      Input, berfungsi seperti dendrite

2.      Output, berfungsi seperti akson

3.      Fungsi aktivasi, berfungsi seperti sinapsis

 

Aktivation Function

Activation function fungsinya untuk menentukan apakah neuron tersebut harus “aktif” atau tidak berdasarkan dari weighted sum dari input. Secara umum terdapat 2 jenis activation function, Linear dan Non-Linear Activation function.

-                  Linear Function

     Secara “default” activation function dari sebuah neuron adalah Linear. Jika sebuah neuron menggunakan linear function, maka keluaran dari neuron tersebut adalah weighted sum dari input + bias.

-     

Sigmoid & Tanh Function

     Sigmoid function mempunyai rentang antara 0 hingga 1 sedangkan rentang dari Tanh adalah -1 hingga 1. Kedua fungsi ini biasanya digunakan untuk klasifikasi 2 class atau kelompok data. 

                  ReLu (Non Linear)

 

      ReLU melakukan “treshold” dari 0 hingga infinity.

Fungsi Aktivasi

1.      Aktivasi linear

2.      Aktivasi step

3.      Aktivasi sigmoid biner

4.      Aktivasi sigmoid bipolar

Model Perceptron

- Model Perceptron adalah model jaringan yang terdiri dari beberapa unit masukan (ditambah dengan sebuah bias), dan memiliki sebuah unti keluaran

- Fungsi aktivasi bukan hanya merupakan fungsi biner (0,1) melainkan bipolar (1,0,-1)

-  Untuk suatu harga threshold θ yang ditentukan sebagai berikut :

 

Algoritma Perceptron

-        Inisialisasi semua bobot dan bias:
(untuk sederhananya set semua bobot dan bobot bias sama dengan nol)
Set learning rate:
a  = 1, (0 < a £ 1)

-        Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai berikut :
(i) Untuk setiap pasangan pembelajaran s – t, kerjakan:
     a. Set input dengan nilai sama dengan vektor input:
             xi = si;
     b. Hitung respon untuk unit output:
               

c. Perbaiki bobot dan bias jika terjadi error
            Jika y
¹ t maka:
                 wi(baru) = wi(lama) +
a*t*xi
                 b(baru) = b(lama) +
a*t
           
            Jika tidak maka :
                 wi(baru) = wi(lama)
                 b(baru) = b(lama)

(ii) Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada (i) maka kondisi berhenti TRUE, namun jika masih terjadi perubahan maka kondisi berhenti  FALSE

 

Nah, itu dia pembahasan mengenai Neural Network kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)





Daftar Pustaka

Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom

https://dosen.perbanas.id/artificial-neural-network/

https://ichi.pro/id/fungsi-aktivasi-219226710201562

https://medium.com/@samuelsena/pengenalan-deep-learning-8fbb7d8028ac

https://socs.binus.ac.id/2012/07/26/konsep-neural-network/

https://www.ketutrare.com/2013/03/algoritma-perceptron.html

Senin, 25 Oktober 2021

Support Vector Machine (SVM)

    Hai, temen-temen semua. Kali ini pembahasannya tentang SVM atau Support Vector Machine. Apa sih SVM itu? dan bagaimana contohnya? Simak penjelasannya dibawah ini! 

    Konsep Klasifikasi dengan Support Vector Machine (SVM) adalah mencari hyperplane terbaik yang berfungsi sebagai pemisah dua kelas data.

    Ide sederhana dari SVM adalah memaksimalkan margin, yang merupakan jarak pemisah antara kelas data. SVM mampu bekerja pada dataset yang berdimensi tinggi dengan menggunakan kernel trik. SVM hanya menggunakan beberapa titik data terpilih yang berkontribusi (Support Vector) untuk membentuk model yang akan digunakan dalam proses klasifikasi.

CONTOH :  

                                     

Keterangan :

- Decision Boundary (Garis Merah) : pemisah antar class dengan hyperplane

- Margin (jarak antara titik biru dengan titik hijau) : jarak terdekat dari decision boundary dengan data yang ingin dipisahkan

- Support vector : anggota kelas yang berperan untuk menentukan margin

    Ketika datanya tidak beraturan atau datanya berpencar, digunakan Lineary Inspereable & Kernel Trick. Data tersebut dipetakan menjadi data 3 dimensi.

Contoh SVM :

                                   

    Pada dataset diatas, terdapat 2 fitur atau atribut (data inputan) yaitu X1 dan X2,kelas (y) merupakan label kelas dan merupakan data yang akan dipisahkan berdasarkan nilai X1 dan X2, pada kolom Kelas(y) terdapat 2 class yaitu 1 dan -1 dan memiliki 4 data sample.

                                        

                                                   (Bentuk Visualisasi Data)

Catatan :

Horizontal adalah X, Vertikal adalah Y

                       

                   

                            

                      

 

 Nah, itu dia pembahasan mengenai Support Vector Machine kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)




Sumber :

Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom



Teknik Evaluasi pada Model Machine Learning

Hai, temen-temen semua. Kali ini pembahasannya tentang Teknik Evaluasi pada Model Machine Learning. Gimana sih Teknik Evaluasi itu? Simak pe...