Jumat, 16 September 2022

, ,

Perhitungan Manual Optimasi Menggunakan Gradient Descent


Optimasi
pada Neural Network merupakan algoritma yang dapat mencari nilai optimal, baik itu dengan meminimalkan ataupun memaksimalkan fungsi objektif (fungsi kesalahan). Sederhananya, output dari semua proses perhitungan dalam Neural Network dipelajari dan diperbarui kearah solusi yang optimal, yaitu dengan meminimalkan kerugian dengan proses Training.

Pada umumnya, optimasi dibagi menjadi 2 kategori yaitu algoritma optimasi orde pertama yaitu menggunakan nilai Gradient dan algoritma optimasi orde selanjutnya yang menggunakan Hessian.

Perbandingan dari kedua jenis tersebut adalah pada teknik optimasi orde pertama mudah untuk dihitung, lebih sedikit memakan waktu dan cukup cepat dalam memproses dataset yang besar. Sedangkan pada teknik optimasi orde kedua lebih cepat hanya jika derifativ parsial kedua diketahui, namun teknik ini selalu lebih lambat dan mahal untuk diproses dalam hal waktu dan memori.

Pada tulisan ini, saya hanya akan membahas algoritma optimasi yang menggunakan nilai Gradient.

Gradient Descent

Gradient merupakan nilai kemiringan atau kecondongan suatu garis yang membandingkan antara komponen y (ordinat) dengan komponen x (absis). Gradient disini merupakan nilai kemiringan suatu fungsi, yaitu tingkat perubahan parameter terhadap jumlah parameter lain. Secara matematis, gradient dapat digambarkan sebagai turunan parsial dari serangkaian parameter terhadap inputnya. Semakin banyak gradient maka semakin curam lerengnya.

Gradient Descent juga digambarkan sebagai iterasi yang digunakan untuk menemukan nilai optimal dari parameter dengan menggunakan kalkulus untuk menemukan nilai minimum. Gradient Descent digunakan untuk pembaruan bobot dalam Neural Network dengan cara meminimalkan loss function. Proses Gradient Descent ini terjadi pada fase backpropagation.

"Gradient Descent adalah proses yang terjadi pada fase backpropagation di mana tujuannya adalah untuk secara terus-menerus mengubah gradien parameter model dalam arah yang berlawanan berdasarkan bobot w, memperbarui secara konsisten hingga kami mencapai fungsi global minimum J (w)".

 Ilustrasi Proses Gradient Descent

Dari ilustrasi di atas, dapat dilihat bahwa terdapat proses pembaruan bobot dalam proses balik dari Gradient pada bobot. Kurva berbentuk U merupakan Gradient. Seperti dalam ilustrasi, jika bobot terlalu besar ataupun terlalu kecil maka model akan memiliki nilai error yang besar. Jadi, untuk mendapatkan kesalahan minimum maka harus terus dihitung update parameter sampai mendapatkan error yang minimum.

Berikut merupakan formula dari update parameter menggunakan Gradient Descent:

Update Bobot Menggunakan Gradient 

Dimana θ merupakan bobot (weight) yang dibawa dari Neural Network. η merupakan learning rate yang telah diset sebelumnya. ∇𝔦 merupakan Gradient Descent terhadap bobot.

Contoh Perhitungan

Agar kita lebih memahami proses update bobot menggunakan Gradient Descent. Saya akan menjelaskannya melalui sebuah contoh. Anggaplah kita mempunyai dataset berupa harga ikan louhan dilihat dari ukuran tonjolan pada dahinya (jenongnya). Tugas dari model yang akan kita buat adalah untuk memprediksi harga berdasarkan ukuran jenong dari ikan louhan.

    Dataset

 Inisialisasi ukuran sebagai X, dan harga sebagai Y. Selanjutnya, konversi dataset ke dalam min-max standardization dengan rumus:

Min-Max Standardization

Berikut merupakan hasil konversi dari dataset menjadi Min-Max Standardization.

Hasil Konversi ke Nilai Min-Max Standardization

Selanjutnya, untuk memulai proses perhitungan, kita awali dengan bobot random (a, b) dan hitung kesalahan prediksi, pada tulisan ini kita coba menggunakan Sum Of Squared Errors (SSE) dengan rumus:

Persamaan SSE

 Adapun hasil perhitungan dapat dilihat pada tabel berikut:

Langkah selanjutnya adalah dengan menghitung error Gradient pada bobot dengan menggunakan persamaan :

Persamaan Gradient
 

Kedua persamaan diatas adalah Gradient yang memberikan arah pergerakan bobot (a, b) ke kesalahan prediksi (SSE). Adapun hasil dari perhitungannya adalah sebagai berikut:

Tabel Hasil Perhitungan Gradient
 
Selanjutnya update bobot awal yang sebelumnya kita atur secara random menggunakan rumus yang telah disebutkan di atas. Sehingga persamaanya akan menjadi seperti berikut:
 

Pada tulisan ini, kita atur learning rate(η) dengan nilai 0,01 sebagai proses penyesuaian bobot. Selanjutnya prediksi kembali dan hitung juga total errornya menggunakan nilai bobot yang baru. Sehingga didapat hasil sebagai berikut:
Hasil Prediksi dan Total Error Menggunakan Bobot Baru

Dari tabel di atas, dapat dilihat penurunan nilai error dari 0,331 pada bobot sebelumnya menjadi 0,295 dengan bobot baru. Dengan demikian akurasi prediksi mengalami peningkatan. Terus ulangi langkah di atas hingga tidak ada penurunan nilai error yang signifikan. Saat tidak ada penurunan error yang signifikan berarti bobot telah mencapai nilai optimalnya dengan akurasi prediksi yang tertinggi.

Demikian algoritma Gradient Descent untuk update bobot dengan cara meminimalkan fungsi error. Perlu diketahui bahwa terdapat banyak algoritma lain yang dapat digunakan untuk optimasi Neural Network, Gradient Descent hanyalah salah satunya. Gradient Descent pun mempunyai beberapa tipe seperti Batch Gradient Descent, Stochastic Gradien Descent, Mini Batch Gradient Descent dan lain sebagainya. Mungkin itu semua akan dibahas pada tulisan saya selanjutnya.

Sekian pembahasan mengenai perhitungan manual optimasi menggunakan gradient descent. Dengan tulisan ini diharapkan kita dapat lebih mengerti lagi mengenai proses optimasi. Semoga bermanfaat.

Referensi :

[1] https://towardsdatascience.com/types-of-optimization-algorithms-used-in-neural-networks-and-ways-to-optimize-gradient-95ae5d39529f

[2] https://www.geeksforgeeks.org/ml-stochastic-gradient-descent-sgd/

[3] https://www.kdnuggets.com/2017/04/simple-understand-gradient-descent-algorithm.html

[4] https://towardsdatascience.com/gradient-descent-3a7db7520711


 

 

Continue reading Perhitungan Manual Optimasi Menggunakan Gradient Descent

Rabu, 14 September 2022

Metriks Evaluasi Model Menggunakan Confusion Matrix

 

Mengukur kinerja suatu model yang telah dibuat merupakan langkah penting dalam bidang Machine Learning dan Natural Language Processing. Hasil pengukuran yang dilakukan dapat menjadi pertimbangan dalam memilih model terbaik.

Salah satu teknik yang dapat digunakan untuk mengukur kinerja suatu model khususnya sistem klasifikasi (misalnya: analisis sentimen) adalah Confusion Matrix.

Pengertian Confusion Matrix

Confusion Matrix merupakan metode evaluasi yang dapat digunakan untuk menghitung kinerja atau tingkat kebenaran dari proses klasifikasi.

Confusion Matrix adalah tabel dengan 4 kombinasi berbeda dari nilai prediksi dan nilai aktual.

Ada empat istilah yang merupakan representasi hasil proses klasifikasi pada Confusion Matrix yaitu True Positive (TP), True Negative (TN), False Positive (FP), dan False Negative (FN).

Confusion Matrix dapat dilihat pada tabel di bawah


Prediksi
Positif Negatif
Aktual
Positif TP FN
Negatif FP TN

 Keterangan :

  • TP (True Positive) ialah jumlah data yang kelas aktual dan prediksinya merupakan kelas positif
  • FN (False Negative) ialah total data yang kelas aktualnya merupakan kelas positif sedangkan kelas prediksinya merupakan kelas negatif.
  • FP (False Positive) ialah banyaknya data yang kelas aktualnya merupakan kelas negatif sedangkan kelas prediksinya merupakan kelas positif.
  • TN (True Negative) ialah banyaknya data yang kelas aktualnya merupakan kelas negatif sedangkan elas prediksinya merupakan kelas negatif
Untuk evaluasi pada sistem klasifikasi dengan multiclass, confusion matrix juga bisa digunakan, namun dengan beberapa ketentuan tambahan.

Tidak jauh berbeda dengan klasifikasi biner, multiclass confusion matrix juga memiliki elemen TP (True Positive), FN (False Negative), FP (False Positive), dan TN (True Negative).


Prediksi
Positif Negatif Netral
Aktual
Positif TPos FPosNeg FPosNet
Negatif FNegPos TNeg FNegNet
Netral FNetPos FNetNeg TNet

Berikut adalah ketentuan dalam menetapkan nilai elemen tersebut:

  • TP (True Positive) merupakan banyaknya data yang kelas aktualnya sama dengan kelas prediksinya.
  • FN (False Negative) merupakan total dari seluruh baris yang ditunjuk kecuali TP yang dicari.
  • FP (False Positive) merupakan total dari seluruh kolom yang ditunjuk kecuali TP yang dicari.
  • TN (True Negative) merupakan total dari seluruh kolom dan baris selain yang ditunjuk.

 

Evaluasi Sistem Menggunakan Confusion Matrix

Dengan dasar tabel Confusion Matrix kemudian dapat dilakukan penghitungan nilai akurasi, presicion, dan recall.

Ketiga metriks tersebut sangat bermanfaat untuk mengukur performa dari classifier atau algoritma yang digunakan untuk melakukan prediksi.

Akurasi

Akurasi merupakan metode pengujian berdasarkan tingkat kedekatan antara nilai prediksi dengan nilai aktual. Dengan mengetahui jumlah data yang diklasifikasikan secara benar maka dapat diketahui akurasi hasil prediksi.

Persamaan akurasi ditunjukkan pada persamaan berikut.

Precision

Presisi merupakan metode pengujian dengan melakukan perbandingan jumlah informasi relevan yang didapatkan sistem dengan jumlah seluruh informasi yang terambil oleh sistem baik yang relevan maupun tidak. 

Persamaan precision ditunjukkan pada persamaan berikut.

Recall

Recall merupakan metode pengujian yang membandingkan jumlah informasi relevan yang didapatkan sistem dengan jumlah seluruh informasi relevan yang ada dalam koleksi informasi (baik yang terambil atau tidak terambil oleh sistem).

Persamaan recall ditunjukkan pada persamaan berikut.

 

Demikianlah penjelasan singkat mengenai metrik untuk evaluasi sistem menggunakan confusion matrix.

Continue reading Metriks Evaluasi Model Menggunakan Confusion Matrix
,

Definisi dan Pengertian Algoritma Backpropagation

 

Backpropagation atau backward propagation merupakan metode matematis yang cukup penting dalam meningkatkan akurasi prediksi pada data mining dan machine learning.

Pengertian Algoritma Backpropagation

Pada dasarnya, backpropagation ini adalah sebuah algoritma yang bisa digunakan untuk menghitung derivatif atau turunan secara cepat. Tujuan dilakukannya penurunan gradien. yaitu untuk menemukan bobot optimal dalam jaringan saraf tiruan (artificial neural network).

Algoritma backpropagation dikembangkan oleh Rumelhart, Hinton dan Williams sekitar tahun 1986.

Algoritma ini digunakan untuk melatih jaringan saraf secara efektif melalui metode yang disebut aturan rantai (chain rules). Secara sederhana, setelah setiap forward pass melalui jaringan, backpropagation melakukan back pass sambil menyesuaikan parameter model (bobot dan bias).

Artificial Neural Network menggunakan backpropagation sebagai algoritma untuk menghitung turunan gradien dengan memperhatikan bobot. 

Keluaran yang diinginkan akan dibandingkan dengan keluaran yang dihasilkan sistem. Kemudian sistem akan di-tuning dengan cara menyesuaikan bobot koneksi. Tujuannya agar mempersempit perbedaan antara kedua output tersebut.

Karena bobot diupdate secara backward (mundur) dari output ke input, algoritma ini kemudian dinamakan backpropagation.

Algoritma ini diklasifikasikan sebagai algoritma supervised learning, alasannya karena memerlukan output target untuk setiap nilai input. Nantinya akan dipakai untuk menghitung gradien “loss function”. 

Sederhananya loss function ialah metrik yang digunakan untuk mengukur seberapa bagus performa dari neural network kita dalam melakukan prediksi terhadap target.

Ada berbagai macam loss function, namun yang paling sering digunakan adalah Squared Error (L2 Loss) untuk regresi. Sedangkan untuk klasifikasi yang biasa digunakan adalah Cross Entropy.

Karena termasuk sebagai supervised-learning, backpropagation sejajar dengan algoritma klasifikasi lain, seperti Naïve Bayes dan Decision tree. Algoritma ini memegang bagian penting pada aplikasi mesin learning yang melibatkan analisis prediktif.

Saat ini, pemanfaatan algoritma backpropagation telah banyak diterapkan pada beberapa area di bidang kecerdasan buatan (AI), misalnya teknologi Optical Character Recognition (OCR), Natural Language Processing (NLP), dan image processing.

Jenis-jenis Algoritma Backpropagation

Ada 2 jenis algoritma backpropagation, yaitu:

  • Static Backpropagation
  • Recurrent Backpropagation

Static Backpropagation

Static backpropagatopn adalah salah satu jenis jaringan backpropagation yang menghasilkan pemetaan input statis untuk output statis. Hal ini berguna untuk memecahkan masalah klasifikasi statis seperti Optical Character Recognition (OCR).

Recurrent Backpropagation

Salah satu jenis jaringan backpropagation yang menerapkan feed forward hingga menemukan nilai tetap. Kemudian, nilai error dihitung dan disebarkan secara backward (berjalan mundur).

Perbedaan dari kedua jenis backpropagation tersebut yaitu untuk pemetaan statis akan lebih cepat menggunakan static backpropagation, dan untuk nonstatis akan lebih cocok menggunakan recurrent backpropagation.

Keunggulan Algoritma Backpropagation

Keunggulan paling menonjol dari algoritma Backpropagation adalah:

  1. Cepat, sederhana dan mudah diprogram
  2. Tidak memiliki parameter tuning selain dari jumlah input
  3. Fleksibel karena tidak memerlukan pengetahuan mengenai nework sebelumnya
  4. Metode standar yang umumnya bekerja dengan baik
  5. Tidak perlu fitur khusus dari fungsi yang akan dipelajari.

Continue reading Definisi dan Pengertian Algoritma Backpropagation
,

Metode-Metode dalam Feature Selection

Feature selection atau seleksi fitur adalah salah satu teknik penting dan sering digunakan dalam tahap pre-processing. Teknik ini mengurangi jumlah fitur yang terlibat dalam menentukan suatu nilai kelas target. Fitur yang diabaikan biasanya berupa fitur yang tidak relevan dan data berlebih. Tujuan utama dari seleksi fitur ialah memilih fitur terbaik dari suatu kumpulan data fitur.

Metode-Metode Feature Selection

Secara umum, metode feature selection dapat dibagi menjadi tiga kelompok, yakni filter, wrapper, dan embedded selector.

Berikut adalah penjelasan dari masing-masing metode seleksi fitur tersebut.

1. Metode Filter 

Metode filter mengevaluasi setiap fitur secara bebas dari classifier kemudian memberikan peringkat pada fitur setelah mengevaluasi dan mengambil yang unggul. 

Metode filter menerapkan ukuran statistik untuk menetapkan skor untuk setiap fitur. Fitur-fitur tersebut diberi peringkat berdasarkan skor dan dipilih untuk disimpan atau dihapus dari dataset. Metode ini sering bersifat univariat dan mempertimbangkan fitur secara mandiri, atau berkaitan dengan variabel dependen.

 


Metode filter bergantung pada keunikan umum dari data yang akan dievaluasi dan memilih subset fitur. Metode filter menggunakan kriteria penilaian yang mencakup jarak, informasi, ketergantungan, dan konsistensi. Metode filter menggunakan kriteria utama teknik pemeringkatan dan menggunakan urutan peringkat untuk pemilihan variabel.

Alasan untuk menggunakan metode pemeringkatan adalah kesederhanaan, menghasilkan fitur yang sangat baik dan relevan. Metode pemeringkatan akan menyaring fitur yang tidak relevan sebelum proses klasifikasi dimulai.

Metode filter umumnya digunakan sebagai langkah preprocessing data. Penentuan dan pemilihan fitur tidak tergantung pada algoritma Machine Learning apa pun. Fitur memberi peringkat berdasarkan skor statistik yang cenderung menentukan korelasi fitur dengan variabel hasil. Korelasi adalah istilah yang sangat kontekstual, dan bervariasi dari satu tugas ke tugas lainnya.

2. Metode Wrapper

Metode wrapper membutuhkan satu jenis algoritma Machine Learning dan menggunakan kinerjanya sebagai kriteria evaluasi. Metode ini mencari fitur yang paling cocok untuk algoritma Machine Learning dan bertujuan untuk meningkatkan kinerja algoritma. Untuk mengevaluasi fitur, akurasi prediktif digunakan pada tugas klasifikasi.

Alur dari metode wrapper dapat dilihat pada gambar berikut:

 


Metode wrapper didasarkan pada algoritma pencarian greedy karena metode ini mengevaluasi semua kemungkinan kombinasi fitur dan memilih kombinasi yang menghasilkan hasil terbaik. Kelemahan dari pendekatan ini adalah pengujian semua kemungkinan kombinasi fitur dapat menjadi sangat mahal secara komputasi, terutama jika himpunan fitur sangat besar.

Metode wrapper untuk pemilihan fitur dapat dibagi menjadi tiga kategori: Forward selection, Backward elimination dan Recursive Feature elimination:

  • Forward Selection: Metode seleksi berulang yang dimulai dengan fitur kosong pada model. Dalam setiap iterasi atau perulangan, kita menambahkan fitur yang memiliki pengaruh paling signifikan dalam meningkatkan model yang kita miliki. Kemudian dilanjutkan dengan penambahan variabel baru yang tidak meningkatkan kinerja model.
  • Backward Elimination: Berkebalikan dengan metode forward selection, pada metode ini model berisi semua fitur. Kemudian pada setiap iterasi atau perulangan dilakukan penghapusan fitur yang tidak meningkatkan kinerja model secara signifikan. Kita mengulangi proses ini sampai model berisi fitur yang ideal, ditandai dengan tidak ada perubahan yang ditemukan ketika dilakukan penghapusan fitur.
  • Recursive Feature elimination: Metode ini adalah optimasi algoritma greedy yang bertujuan untuk menemukan subset fitur berkinerja terbaik. Pada setiap iterasi, metode ini membangun model yang dimulai dari fitur paling kiri sampai semua fitur selesai dijelajahi. Metode ini mengabaikan fitur berkinerja terbaik atau terburuk di setiap iterasi. Sebaliknya metode ini memberi peringkat fitur berdasarkan urutan eliminasinya.
 

3. Metode Embedded Selector

Metode embedded selector adalah metode seleksi fitur yang menggabungkan keunggulan metode filter dan metode wrapper. Metode ini diimplementasikan oleh algoritma yang memiliki metode pemilihan fitur bawaannya sendiri.

 

Beberapa contoh paling populer dari metode ini adalah regresi Lasso dan ridge yang memiliki fungsi utama untuk mengurangi overfitting.

  • Regresi Lasso melakukan regularisasi L1 yang menambahkan penalti ekuivalen dengan nilai absolut dari besaran koefisien.
  • Regresi Ridge melakukan regularisasi L2 yang menambahkan penalti yang setara dengan kuadrat dari besarnya koefisien.

 Perbedaan Metode Filter dan Wrapper

Dalam seleksi fitur, berikut adalah perbedaan antara metode filter dan wrapper:

  • Metode filter mengukur relevansi fitur beserta korelasinya dengan variabel dependen sementara metode wrapper mengukur kegunaan subset fitur dengan melatih model di dalamnya.
  • Metode filter jauh lebih cepat dibandingkan dengan metode wrapper karena tidak melibatkan pelatihan model. Di sisi lain, metode wrapper juga cenderung sangat ‘mahal’ secara komputasi.
  • Metode filter menggunakan metode statistik untuk evaluasi subset fitur sementara metode wrapper menggunakan validasi silang (cross validation).
  • Metode filter dapat terjadi kegagalan dalam menemukan subset fitur terbaik. Sebaliknya metode wrapper selalu dapat memberikan subset fitur terbaik.
  • Menggunakan subset fitur dari metode wrapper membuat model lebih rentan terhadap overfitting dibandingkan dengan menggunakan subset fitur dari metode filter.

Sebagai kesimpulan, seleksi fitur adalah upaya pada tahap preprocessing untuk mengurangi fitur yang tidak revelan dan tidak memberikan pengaruh signifikan dalam meningkatkan kinerja model machine learning. Adapun metode yang digunakan secara umum diantaranya metode filter, wrapper, dan embedded selector.

Continue reading Metode-Metode dalam Feature Selection
,

Data Splitting: Pengertian, Metode, dan Kegunaannya


Data splitting atau pemisahan data adalah metode membagi data menjadi dua bagian atau lebih yang membentuk subhimpunan data. Umumnya, data splitting memisahkan dua bagian, bagian pertama digunakan untuk mengevaluasi atau uji data dan data lainnya digunakan untuk melatih model.

Data splitting merupakan aspek penting dari data science, terutama untuk membuat model berbasis data. Teknik ini membantu memastikan model data yang dibuat sudah akurat dan model dapat digunakan pada proses lanjutan, misalnya machine learning.

Metode yang Digunakan pada Data Splitting

Pada dasarnya data splitting dibagi menjadi dua bagian, yakni data training dan data testing.

Data training atau data latih digunakan untuk melatih dan mengembangkan model. Kumpulan data training biasanya digunakan untuk mengestimasikan parameter yang berbeda atau untuk membandingkan kinerja model yang berbeda.

Data testing atau data uji digunakan setelah proses training selesai. Data training dan testing dibandingkan untuk memeriksa apakah model akhir yang digunakan bekerja dengan benar.

Pada machine learning, data biasanya dibagi menjadi tiga bagian atau lebih. Bagian yang ditambah adalah set dev, yang digunakan untuk mengubah parameter proses pembelajaran.

Dalam data splitting, tidak ada pedoman atau metrik yang tetap mengenai bagaimana data harus dibagi. Proses data splitting bisa saja bergantung pada ukuran dataset asli atau jumlah prediktor dalam model prediktif.

Kita dapat memilih untuk memisahkan data secara terpisah berdasarkan metode pengambilan sampel data, seperti tiga metode berikut:

1. Random sampling

Random sampling atau pengambilan sampel secara acak merupakan metode pengambilan sampel data yang menjaga proses pemodelan data dari bias terhadap kemungkinan karakteristik data yang berbeda. Namun, pemisahan secara acak bisa saja terjadi masalah jika terdapat distribusi data yang tidak merata.

2. Stratified random sampling

Stratified random sampling atau pengambilan sampel acak berstrata adalah teknik pengambilan sampel dengan terlebih dahulu membuat populasi menjadi beberapa subpopulasi (lapisan, strata) dan kemudian mengambil sampel dari setiap subpopulasi tersebut.

Metode ini memilih sampel data secara acak dalam parameter tertentu. Hal ini untuk memastikan data didistribusikan dengan benar dalam himpunan data training dan testing.

3. Nonrandom sampling

Non-random sampling adalah metode pengambilan data yang berdasar pada pemilihan suatu karakteristik atau ciri-ciri untuk mendapatkan sampel relevan agar tujuan dari sebuah penelitian dapat tercapai. Pendekatan ini biasanya digunakan ketika kita menginginkan data terbaru sebagai himpunan data uji.

Dengan data splitting, kita tidak harus memilih antara menggunakan data untuk analitik dengan analisis statistik, karena data yang sama dapat digunakan pada proses yang berbeda.

Gambar di bawah ini merupakan contoh pengambilan sampel data yang menggunakan metode random, berbasis probabilitas atau pendekatan non-random.

Fungsi dan Kegunaan Data Splitting

Data splitting banyak diterapkan pada tugas-tugas berikut:

  • Data modelling menggunakan data splitting untuk melatih model. Sebagai contoh pada pengujian regresi, sebuah model dipakai untuk memprediksi respond sistem ketika dioperasikan dengan nilai yang dibuat. Menggunakan sekumpulan nilai, developer perlu memilih sebagian data tersebut untuk bertindak sebagai data latih. Kemudian, membandingkan kembali hasil tersebut dari data uji yang dimasukkan melalui model regresi.
  • Machine learning menggunakan data splitting untuk melatih model. Data latih ditambahkan ke model untuk memperbarui parameter pada fase training. Setelah fase training selesai, data dari sekumpulan data uji diukur terhadap cara model dalam menangani observasi baru.
  • Data splitting juga dipakai pada cryptographic splitting, namun dengan proses yang agak berbeda dari penggunaan data splitting yang disebutkan di atas. Teknik ini digunakan untuk mengamankan data yang melintasi jaringan komputer. Cryptographic splitting dimaksudkan untuk melindungi sistem dari pelanggaran keamanan dengan melibatkan enkripsi data. Adapun cara yang dilakukan adalah dengan membagi data terenkripsi menjadi potongan-potongan yang lebih kecil dan menyimpannya ke lokasi penyimpanan yang berbeda.

Data Splitting pada Machine Learning

Pada machine learning, data splitting biasanya dilakukan untuk menghindari overfitting. Overfitting adalah keadaan dimana model machine learning terlalu cocok dengan data pelatihannya dan gagal untuk menyesuaikan data tambahan dengan andal.

Data asli pada model machine learning biasanya diambil dan dibagi menjadi tiga atau empat bagian. Tiga diantaranya adalah training set, dev set, dan testing set.

  • Training set adalah bagian data yang digunakan untuk melatih model. Model harus mengamati dan belajar dari training set, mengoptimalkan salah satu parameternya.
  • Dev set adalah kumpulan data contoh yang digunakan untuk mengubah parameter proses pembelajaran. Dataset ini juga disebut sebagai cross-validation atau validasi model. Himpunan data ini bertujuan untuk menentukan akurasi model dan membantu dalam pemilihan model.
  • Testing set adalah bagian dari data yang diuji pada model akhir dan dibandingkan pada kumpulan data sebelumnya. Testing set bertindak sebagai evaluasi model dan algoritma akhir.

Data splitting memisahkan dataset dengan jumlah rasio data tertinggi dipakai untuk training. Sebagai contoh, data bisa dipisah menjadi rasio 80-20 atau 70-30 masing-masing untuk training dan testing.

Rasio yang tepat tergantung pada data, namun secara umum rasio training-dev-test 70-20-10 merupakan rasio paling optimal untuk dataset berukuran kecil.


 Referensi: https://www.techtarget.com/searchenterpriseai/definition/data-splitting

 

 

Continue reading Data Splitting: Pengertian, Metode, dan Kegunaannya