Lewati ke konten utama

Model Generatif vs Diskriminatif: Perbedaan & Penggunaan

Artikel ini menjelaskan perbedaan inti antara model generatif dan diskriminatif, mencakup prinsip, kasus penggunaan, dan contoh praktis untuk membantu Anda memilih pendekatan yang tepat bagi tugas machine learning Anda.
Diperbarui 28 Sep 2026  · 15 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Model machine learning (ML) adalah implementasi berbasis komputer dari metode statistik dan probabilistik. Secara umum, model ini mengadopsi salah satu dari dua pendekatan: pemodelan generatif atau diskriminatif.

Dalam artikel ini, kami memberikan gambaran umum tentang model generatif dan diskriminatif, memperkenalkan model umum dari masing-masing jenis, menjelaskan prinsip matematis di balik kedua pendekatan, dan membahas contoh praktis dari jenis masalah yang dapat ditangani oleh masing-masing tipe model.

Apa Itu Model Generatif?

Diberikan sekumpulan titik data contoh, D, dan label terkaitnya, L, sebuah model generatif mempelajari distribusi probabilitas gabungan P(D, L). Model ini kemudian menggunakan distribusi dasar tersebut untuk menghasilkan data baru yang mirip dengan contoh pelatihan atau menyelesaikan masalah klasifikasi.

Gambar yang menunjukkan alur kerja model generatif

Alur kerja model generatif. Dibuat dengan napkin.ai

Bagian berikut menjelaskan dasar-dasar model generatif disertai contoh.

Model Naive Bayes

Model Naive Bayes didasarkan pada teorema Bayes. Teorema ini memberikan probabilitas bersyarat P(A | B) dari suatu peristiwa A ketika diketahui bahwa peristiwa B benar. Ini disebut probabilitas posterior dari A jika diberikan B. 

Secara terpisah, probabilitas P(A) dari peristiwa A disebut probabilitas prior. Model Naive Bayes berasumsi bahwa A dan B adalah peristiwa independen—karena itu diberi awalan “naive”. Jika A dan B saling bergantung, teorema Bayes tradisional tidak lagi berlaku, dan model Naive Bayes bukanlah pilihan yang tepat.

Model Bayesian bersifat generatif karena memodelkan distribusi probabilitas gabungan. Proses pelatihan mempelajari probabilitas gabungan—P(A, B). Setelah dilatih, model dapat digunakan untuk memprediksi nilai A dengan probabilitas tertinggi P(A). Selain itu, model Bayesian juga dapat digunakan untuk klasifikasi karena dapat menghitung probabilitas bersyarat (menggunakan kaidah Bayes). 

Untuk mempelajari penggunaan model naive Bayes secara praktis, ikuti tutorial tentang membangun model Naive Bayes menggunakan scikit-learn dan Python.

Model campuran Gaussian

Gaussian mixture models (GMM) adalah kelas model campuran. Premis uniknya adalah bahwa data dasar menggabungkan beberapa distribusi statistik, bukan satu distribusi tunggal. 

Dalam GMM, populasi diasumsikan merupakan kombinasi dari subpopulasi yang berbeda, yang masing-masing berupa distribusi Gaussian. Secara efektif, distribusi data dianalisis sebagai rataan tertimbang dari beberapa distribusi Gaussian individual. 

GMM menangkap distribusi probabilitas dari dataset yang mendasari. Karena itu, GMM digunakan untuk tugas seperti analisis outlier dan klasifikasi tanpa pengawasan. Tugas-tugas ini melibatkan pembangunan model statistik populasi dengan memperlakukan dataset pelatihan sebagai sampel acak.

Kursus tentang model campuran di R membahas detail praktis GMM. 

Generative adversarial networks

Generative adversarial network (GAN) adalah model berbasis jaringan saraf. Model ini terdiri dari dua bagian: generator dan discriminator. Jaringan generator dilatih untuk menghasilkan vektor yang mirip dengan contoh pelatihan, sementara discriminator dilatih untuk membedakan antara contoh asli dan yang dihasilkan oleh generator. 

Intinya, generator dan discriminator memiliki tujuan pelatihan yang berlawanan, sehingga bersifat “adversarial”. Karena itu, kata “adversarial” digunakan dalam namanya.

Generator dan discriminator dilatih bersama dalam loop pelatihan yang sama. Seiring generator semakin baik dalam membuat contoh yang realistis, discriminator membedakan contoh asli dari yang dihasilkan. Pelatihan berlanjut hingga generator mampu menghasilkan contoh yang begitu mirip dengan data pelatihan sehingga discriminator tidak dapat membedakannya. 

Setelah pelatihan, generator digunakan untuk menghasilkan data sintetis realistis yang mirip dengan contoh asli.

Hidden Markov models

Hidden Markov model (HMM) bekerja dengan dataset berurutan. Proses Markov (atau rantai Markov) digunakan untuk memodelkan data berurutan. Premis model Markov adalah bahwa elemen berikutnya, xn+1, dalam urutan hanya bergantung pada elemen sebelumnya, xn, dan tidak pada elemen lain, {x1, x2, ... xn-1}, sebelumnya. Model Markov berasumsi bahwa dataset berurutan dapat direpresentasikan oleh proses Markov dengan state tersembunyi. 

State ini menghasilkan elemen berikutnya dalam urutan:

  • Keluaran saat ini dari model hanya bergantung pada state saat ini 
  • State saat ini hanya bergantung pada state sebelumnya. Premis model Markov adalah bahwa seluruh informasi relevan dari state awal hingga state (N-2) terinkapsulasi dalam state (N-1). Tidak perlu mempertimbangkan state yang lebih awal secara eksplisit. 

Model Markov direpresentasikan dengan probabilitas transisi (berpindah dari satu state ke state lain) dan probabilitas emisi (menghasilkan elemen urutan tertentu jika diberikan state tertentu). 

HMM memodelkan dataset pelatihan sebagai proses Markov. Tujuan pelatihan adalah menentukan probabilitas transisi dan emisi untuk memaksimalkan probabilitas menghasilkan urutan dalam dataset contoh. Dengan demikian, diberikan suatu urutan, model Markov terlatih dapat menghasilkan elemen-elemen berikutnya dari urutan tersebut. 

Untuk mempelajari implementasinya secara praktis, ikuti tutorial tentang rantai Markov di Python.

Apa Itu Model Diskriminatif?

Diberikan dataset pelatihan yang terdiri dari titik data, D, dan label terkaitnya, L, model diskriminatif mempelajari distribusi probabilitas bersyarat P(D | L). Model ini kemudian menggunakan distribusi probabilitas bersyarat ini untuk memprediksi kelas dari titik data baru. 

Gambar yang menunjukkan alur kerja model diskriminatif

Alur kerja model diskriminatif. Dibuat dengan napkin.ai

Model diskriminatif umumnya digunakan untuk menyelesaikan masalah klasifikasi. Contoh berikut menunjukkan kasus penggunaannya. 

K-nearest neighbors

K-nearest neighbors (KNN) adalah salah satu model machine learning yang lebih lama. Model ini didasarkan pada premis bahwa, dalam suatu distribusi titik data, item yang serupa terletak berdekatan. 

Model KNN bersifat nonparametrik, tanpa parameter seperti koefisien regresi. Model ini digunakan untuk masalah klasifikasi dan regresi. 

Kategori dari suatu titik data masukan sama dengan k tetangga terdekatnya. Nilai prediksi dari suatu titik data adalah nilai rata-rata dari k tetangga terdekatnya. k (jumlah tetangga terdekat yang dipertimbangkan) dapat dianggap sebagai hiperparameter model. Ini digunakan untuk menyetel perilaku model, tetapi tidak secara langsung memengaruhi keluaran model.

Regresi logistik

Regresi logistik, seperti regresi linier, mencoba memprediksi nilai variabel dependen berdasarkan satu atau lebih variabel independen. Dalam regresi linier, variabel dependen bernilai kontinu. Dalam regresi logistik, variabel dependen bernilai diskrit, seperti:

  • Benar dan salah (regresi logistik biner)
  • Daftar kategori (regresi logistik multinomial)
  • Daftar nilai berurutan, seperti sistem penilaian berbasis huruf - A, B, C, D, E, F (regresi logistik ordinal)

Regresi linier memprediksi nilai numerik. Dalam regresi logistik, besaran yang diprediksi adalah logaritma dari rasio odds. 

Untuk suatu peristiwa A, dengan probabilitas P(A), rasio odds adalah P(A) / (1 - P(A)). Menggunakan logaritma (dari rasio odds) menghasilkan konvergensi yang lebih mulus dan lebih cepat selama proses pelatihan.  Mengingat kemampuannya memisahkan masukan ke dalam kelas, model logistik digunakan untuk tujuan diskriminatif. 

Untuk pengenalan yang lebih praktis tentang topik ini, lihat panduan tentang regresi logistik di Python.

Anda juga dapat mengimplementasikan regresi logistik menggunakan R, bahasa pemrograman berorientasi statistik, sebagaimana dijelaskan dalam tutorial tentang regresi logistik menggunakan R.

Support vector machines (SVM)

Support vector machines menentukan garis optimal yang memisahkan titik data dari kelas yang berbeda. Dalam bidang 2 dimensi X-Y, diberikan sekumpulan titik data dari dua kategori berbeda, SVM memprediksi sebuah garis yang (idealnya) secara bersih memisahkan titik dari satu kategori dengan kategori lainnya. 

Garis ini adalah batas keputusan. Garis ini menjadi sebuah hiperbidang untuk data dengan tiga dimensi atau lebih. Titik data (dari salah satu kategori) yang terletak paling dekat dengan garis imajiner ini disebut support vector model. Titik-titik data ini paling sulit diklasifikasikan karena nilainya berdekatan. 

Jarak antara garis pemisah dan support vector disebut margin. Pelatihan SVM bertujuan menemukan batas keputusan yang memaksimalkan margin ini. Dalam praktiknya, titik data memiliki lebih dari dua dimensi, dan garis pemisah tersebut adalah hiperbidang berdimensi lebih tinggi. 

SVM juga digunakan untuk masalah klasifikasi multikelas.

Untuk mempelajari lebih lanjut tentang SVM, ikuti panduan membangun SVM menggunakan paket scikit-learn di Python. Selain Python, Anda juga dapat menggunakan R untuk mengimplementasikan SVM, seperti dibahas dalam panduan SVM di R.

Decision tree dan random forest

Decision tree terdiri atas sejumlah node keputusan yang disusun dalam struktur seperti pohon. 

Node paling atas adalah akar (root). Node yang menghasilkan keluaran final disebut leaf node atau terminal node. Node non-leaf di tengah disebut node internal. Keluaran dari node root diteruskan ke node perantara. Hasil (keluaran) tiap node merupakan keluaran akhir atau mengarah (bercabang) ke node lain. 

Setiap node pada pohon membagi dataset berdasarkan atribut tertentu. Misalnya, decision tree untuk persetujuan aplikasi pinjaman mungkin memiliki node untuk memisahkan aplikasi berdasarkan pendapatan bersihnya. 

Proses pelatihan menentukan nilai ambang yang sesuai untuk setiap keputusan. Misalnya, aplikasi dengan pendapatan bersih di bawah jumlah tertentu langsung ditolak. Sisanya diproses lebih lanjut di node berikutnya, yang mempertimbangkan atribut lain, seperti kekayaan bersih. 

Untuk panduan praktik tentang decision tree, ikuti tutorial membangun decision tree menggunakan Python, atau kursus lengkap tentang machine learning dengan model berbasis pohon di Python.

Kelemahan utama decision tree adalah overfitting, yang menimbulkan masalah pada data di luar sampel. Decision forest mencoba mengatasi masalah ini. Decision forest terdiri atas banyak pohon. Berbeda dari decision tree tunggal, yang harus mempertimbangkan keseluruhan himpunan fitur, setiap pohon dalam forest hanya menemukan subset acak dari himpunan fitur. Keacakan ini membantu mengatasi varians pada dataset yang berisik. 

Keluaran forest diperoleh dengan menggabungkan, misalnya dengan merata-ratakan, keluaran dari masing-masing pohon.

Untuk mempelajari cara mengimplementasikan random forest, lihat panduan menggunakan scikit-learn untuk membangun classifier random forest.

Jaringan saraf

Jaringan saraf terdiri dari kelompok neuron. Setiap neuron mengimplementasikan fungsi linier yang mengalikan bobot neuron dengan vektor masukan. 

Fungsi aktivasi nonlinier mengikuti fungsi linier tersebut. Fungsi aktivasi menentukan keluaran setiap neuron berdasarkan keluaran fungsi linier. Dengan demikian, jaringan saraf sederhana secara konseptual dapat dipandang sebagai serangkaian persamaan linier yang disaring oleh aktivasi nonlinier.

Lapisan input dari jaringan saraf mengalikan masukan (direpresentasikan sebagai vektor) dengan serangkaian bobot dan fungsi aktivasi. Keluaran ini diteruskan ke lapisan berikutnya, yang melakukan operasi serupa. 

Lapisan tersembunyi berada di antara lapisan input dan output . Lapisan tersembunyi terakhir memasok ke lapisan keluaran. Masalah kompleks melibatkan penggunaan jaringan saraf dengan banyak lapisan tersembunyi, yang disebut deep neural networks (DNN).

Dalam masalah klasifikasi, pendekatan umum adalah memiliki jumlah neuron keluaran sebanyak jumlah kelas. Kelas yang diprediksi sesuai dengan neuron yang nilainya tertinggi. Dalam masalah regresi, satu neuron keluaran memuat keluaran yang diprediksi. Hubungan linier antar-neuron memodelkan persamaan regresi linier. 

Untuk pemahaman yang lebih mendalam tentang topik ini, lihat posting blog tentang jaringan saraf.

Perbedaan Antara Model Generatif dan Diskriminatif

Beberapa tugas, seperti klasifikasi, dapat diselesaikan menggunakan salah satu tipe model. Namun secara umum, model diskriminatif dan generatif sering memiliki kasus penggunaan yang unik, karena model ini mengadopsi pendekatan matematis yang berbeda. Memahami perbedaan ini dan bagaimana pengaruhnya terhadap kesesuaian masing-masing kategori model untuk berbagai masalah adalah hal yang perlu. 

Pendekatan pemodelan

Model generatif memprediksi nilai berikutnya dalam sebuah urutan atau menghasilkan gambar berdasarkan teks (atau sebaliknya). Untuk melakukan tugas semacam itu, model harus mempelajari keluaran apa yang harus dihasilkan untuk berbagai masukan. Model menggunakan distribusi probabilitas gabungan dari input dan output. 

Untuk memahami matematika yang mendasarinya, mari mulai dengan contoh sederhana. Perilaku satu variabel acak dijelaskan oleh fungsi kerapatan probabilitas (PDF). 

PDF dari variabel acak X dapat digunakan untuk menentukan probabilitas X pada nilai berbeda. Misalnya, jika PDF dari X adalah f(x), probabilitas bahwa X berada antara A dan B diberikan oleh: 

Probabilitas X di seluruh rentang adalah 1. Ini dinyatakan sebagai: 

Ekspresi di atas juga dapat ditulis sebagai: 

Untuk PDF gabungan dari dua variabel, X dan Y, integral di seluruh rentang adalah 1:

Distribusi probabilitas gabungan memetakan seluruh ruang probabilitas dari X dan Y. Untuk mengevaluasi probabilitas bahwa probabilitas gabungan P(X, Y) berada dalam suatu region G, integralkan PDF gabungan di atas G:

            

Model diskriminatif, sebaliknya, hanya berfokus pada distribusi probabilitas bersyarat. Jika diperlukan, model generatif memperkirakan probabilitas bersyarat menggunakan probabilitas marginal. 

Diberikan distribusi probabilitas gabungan fXY(x,y), probabilitas marginal dari variabel acak Y pada nilai y (untuk semua nilai X) diberikan sebagai:

          

Serupa dengan kaidah Bayes, PDF bersyarat dari X kemudian diekspresikan sebagai:

Ekspresi di atas menunjukkan versi integral dari probabilitas bersyarat, yang lebih umum ditulis sebagai:

     

Serupa,

Dalam dua rumus probabilitas bersyarat di atas:

  • Sisi kiri (LHS) adalah probabilitas bersyarat (the conditionals)
  • Pembilang pada sisi kanan (RHS) adalah probabilitas gabungan
  • Penyebut pada RHS adalah probabilitas marginal. 

Untuk menghitung probabilitas bersyarat, model generatif mengikuti dua langkah:

  • Memperkirakan PDF gabungan dan marginal. 
  • Mengevaluasi ekspresi pada sisi kanan persamaan di atas.

Di sisi lain, model diskriminatif mengikuti satu langkah (yang lebih sederhana):

  • Langsung memperkirakan probabilitas bersyarat (sisi kiri persamaan) berdasarkan data pelatihan. 

Fleksibilitas dan kompleksitas

Model generatif memiliki probabilitas marginal P(A) dan P(B) serta PDF gabungan P(A, B). Dengan menggunakan ini, model dapat mengevaluasi P(A | B) atau P(B | A) dengan mudah. Inilah gagasan dasar di balik pengklasifikasi naive Bayes. Dengan demikian, model generatif dapat melakukan tugas seperti:

  • Menghasilkan contoh baru menggunakan distribusi probabilitas gabungan. 
  • Memprediksi label paling relevan untuk contoh baru menggunakan probabilitas bersyarat. 
  • Memprediksi contoh paling relevan untuk label baru menggunakan probabilitas bersyarat lainnya. 
  • Mengestimasi probabilitas keseluruhan dari peristiwa tertentu menggunakan probabilitas marginal. 

Hal ini membuat model generatif fleksibel dan serbaguna. Di sisi lain, model ini secara inheren melibatkan lebih banyak kompleksitas selama pelatihan karena:

  • Model perlu memperkirakan PDF gabungan dan marginal
  • Kemudian, jika diperlukan, model mengevaluasi probabilitas bersyarat

Sebaliknya, model diskriminatif hanya berkaitan dengan probabilitas bersyarat. Berdasarkan dataset pelatihan, dimungkinkan untuk memperkirakan probabilitas bersyarat secara langsung tanpa memperkirakan probabilitas gabungan atau marginal. 

Dengan demikian, model diskriminatif lebih sederhana untuk dilatih. Namun, model diskriminatif yang telah mempelajari probabilitas bersyarat P(A | B) hanya dapat melakukan tugas yang melibatkan probabilitas bersyarat tersebut. Model ini tidak dapat melakukan hal lain. 

Kinerja dalam tugas klasifikasi

Model generatif cukup fleksibel untuk tugas generatif maupun diskriminatif. Selama pelatihan, model mempelajari PDF gabungan dan marginal. Selama inferensi, model harus menghitung probabilitas bersyarat menggunakan distribusi gabungan dan probabilitas marginal yang sesuai. Karena itu, inferensi pada tugas diskriminatif menjadi lebih lambat.

Model diskriminatif, di sisi lain, telah langsung (secara numerik) mempelajari probabilitas bersyarat. Mereka memperkirakan probabilitas bersyarat dalam satu langkah berdasarkan data masukan saat inferensi. 

Lebih jauh lagi, karena model diskriminatif hanya berfokus pada pengestimasian satu besaran (probabilitas bersyarat), model ini cenderung lebih akurat. PDF gabungan memiliki ketidakpastian lebih banyak yang melekat dibandingkan probabilitas bersyarat sederhana. Ketidakpastian tambahan ini tercermin dalam akurasi yang relatif lebih rendah dari model generatif untuk tugas klasifikasi. 

Model Generatif vs Diskriminatif: Ringkasan

Berdasarkan pembahasan pada bagian sebelumnya, tabel di bawah ini merangkum perbedaan antara model generatif dan diskriminatif. 

 

Model generatif

Model diskriminatif

Tujuan

Menangkap probabilitas gabungan dan probabilitas marginal. Menggunakan kaidah Bayes untuk menghitung probabilitas bersyarat.

Hanya menangkap probabilitas bersyarat. Tidak ada informasi tentang probabilitas gabungan atau marginal.

Pembuatan data

Dapat menghasilkan titik data baru berdasarkan dataset pelatihan. Misalnya, model yang dilatih pada digit tulisan tangan dapat menghasilkan digit sintetis baru.

Tidak dapat menghasilkan titik data baru. Utamanya berfokus membedakan antar kategori data.

Kasus penggunaan utama

Dapat digunakan untuk tugas generatif (mis., sintesis data) dan tugas diskriminatif (mis., klasifikasi).

Hanya dapat digunakan untuk tugas diskriminatif seperti klasifikasi atau regresi.

Kinerja inferensi

Menjalankan inferensi lebih lambat karena memerlukan komputasi kompleks. Bahkan tugas sederhana pun memerlukan perhitungan probabilitas marginal dan gabungan serta penerapan kaidah Bayes.

Inferensi lebih cepat karena langsung menghitung probabilitas bersyarat tanpa melibatkan kaidah Bayes.

Penanganan data hilang

Lebih baik dalam menangani data yang hilang dengan memodelkan distribusi probabilitas yang mendasari, sehingga lebih mudah untuk “mengisi kekosongan”. Risiko overfitting lebih rendah.

Kurang efektif dalam menangani data yang hilang. Risiko overfitting lebih tinggi karena model berfokus menemukan hiperbidang pemisah antar kelas.

Konvergensi

Cenderung konvergen lebih cepat dan dengan lebih sedikit contoh pelatihan namun umumnya menghasilkan galat model yang lebih tinggi, terutama dalam tugas klasifikasi, karena perhitungan probabilitas bersyarat dilakukan secara tidak langsung melalui pemodelan distribusi probabilitas gabungan.

Umumnya membutuhkan lebih banyak data untuk dilatih dan mungkin konvergen lebih lambat. Namun, hasilnya adalah galat model lebih rendah, terutama dalam tugas klasifikasi, karena secara langsung memodelkan probabilitas bersyarat tanpa mengestimasi distribusi probabilitas gabungan.

Kompleksitas model

Biasanya lebih kompleks karena memodelkan seluruh distribusi data, termasuk interaksi antara fitur dan label.

Umumnya lebih sederhana karena hanya perlu memodelkan batas keputusan atau hiperbidang pemisah antar kelas.

Contoh model

Naive Bayes, Hidden Markov Models (HMM), Generative Adversarial Networks (GAN), Variational Autoencoders (VAE).

Regresi Logistik, Support Vector Machines (SVM), Jaringan Saraf, dan Decision Tree.

Fleksibilitas model

Lebih fleksibel dari sisi aplikasi (dapat menangani tugas generatif dan diskriminatif).

Kurang fleksibel (terbatas pada tugas diskriminatif).

Tingkat galat

Tingkat galat lebih tinggi dalam tugas klasifikasi karena metode estimasi tidak langsung.

Tingkat galat lebih rendah dalam tugas klasifikasi karena pelatihan langsung pada probabilitas bersyarat.

Kapan Menggunakan Model Generatif

Sesuai namanya, model generatif sangat cocok untuk tugas yang melibatkan pembuatan data baru yang sesuai dengan pola dalam data pelatihan. 

Beberapa kasus penggunaan umum dari model ini adalah:

Untuk banyak model visi komputer, memiliki dataset gambar pelatihan yang besar sangatlah penting. Model ini perlu dilatih pada banyak variasi dari gambar atau fitur yang sama. 

Memotret objek yang sama dari sudut, latar belakang, atau corak warna yang berbeda tidak selalu realistis. Banyak dataset gambar khusus tugas juga cenderung berukuran terbatas karena pembuatannya memerlukan keahlian khusus domain. Misalnya, Anda memerlukan akses ke ahli pulmonologi, laboratorium radiologi, serta pasien dan rumah sakit yang bersedia untuk membuat kumpulan gambar rontgen penyakit paru tertentu. 

Dalam kasus seperti itu, opsi paling pragmatis adalah membuat dataset kecil yang sangat terkurasi dan relevan, lalu secara sintetis menghasilkan titik data baru yang mirip dengan dataset asli. 

Menghasilkan gambar baru berdasarkan deskripsi teks atau menghasilkan teks baru berdasarkan beberapa masukan teks. Satu-satunya kelas model yang dapat menangani tugas seperti ini adalah model generatif. 

Model pembangkitan gambar seperti DALL-E, MidJourney, dan Stable Diffusion rutin digunakan untuk menghasilkan gambar yang sesuai dengan deskripsi spesifik dan tidak melanggar hak cipta yang ada. 

Demikian pula, LLM sering digunakan untuk membuat alur cerita fiksi, slogan dan tagline pemasaran, ringkasan dokumen, dan materi serupa lainnya. 

Model generatif digunakan untuk tugas yang didasarkan pada distribusi probabilitas gabungan dari data yang mendasari. Memodelkan distribusi gabungan imbal hasil aset untuk memprediksi profil risiko dan imbal hasil yang diharapkan dari suatu portofolio investasi adalah hal yang lazim dalam keuangan dan manajemen risiko.

Sebagai contoh, seorang manajer investasi mungkin ingin mengetahui probabilitas harga dua saham berbeda naik atau turun pada waktu yang sama—PDF gabungan dapat menjawab pertanyaan semacam itu. 

Industri jasa keuangan telah menggunakan metode statistik ini jauh sebelum istilah “model generatif” banyak diadopsi.

Masalah seperti klasifikasi tanpa pengawasan sangat cocok untuk Gaussian mixture models. Dalam masalah ini, Anda memiliki kumpulan besar titik data tetapi tidak mengetahui berapa banyak atau apa kategori yang dimiliki titik data tersebut. Masuk akal untuk mengharapkan bahwa data berasal dari kombinasi distribusi, yang dapat dimodelkan oleh GMM. 

Jika jumlah dan daftar kategori telah diketahui sebelumnya, metode diskriminatif akan lebih tepat. 

GMM juga berguna dalam analisis outlier (deteksi anomali, deteksi penipuan, dll.), di mana data “biasa”, seperti perilaku kelompok pelanggan yang berbeda, dapat dimodelkan sebagai kombinasi distribusi yang berbeda. Titik data anomali adalah yang berbeda secara signifikan dari pola lainnya. 

Masalah yang melibatkan urutan sering diselesaikan menggunakan hidden Markov models. Salah satu contoh penggunaan sehari-hari adalah pemodelan urutan genom dan resekuensing. 

HMM juga digunakan dalam pengenalan ucapan, membantu memprediksi suku kata berikutnya berdasarkan urutan suku kata sebelumnya. Pemodelan urutan juga lazim untuk aplikasi logistik seperti jadwal pengiriman paket. Demikian pula, penularan dan penyebaran penyakit menular sering dimodelkan menggunakan rantai Markov. 

Kapan Menggunakan Model Diskriminatif

Secara matematis, model diskriminatif digunakan untuk aplikasi di mana hanya probabilitas bersyarat yang relevan dan bukan probabilitas gabungan. Dengan demikian, model diskriminatif biasanya digunakan untuk masalah klasifikasi dan prediksi. 

Beberapa contohnya adalah:

Masalah klasifikasi terawasi, di mana kelas (kategori) telah diketahui sebelumnya. Ini adalah kasus penggunaan khas untuk KNN dan SVM. 

Anda memiliki kumpulan besar titik data, seperti data perilaku pelanggan, termasuk pola pengeluaran, jumlah pembelian, frekuensi pembelian, riwayat pengembalian, dan seterusnya. Anda perlu menggunakan informasi ini untuk mengklasifikasikan daftar pelanggan ke dalam kategori berbeda, seperti pembelanja besar, pemburu diskon, pelanggan reguler, pelanggan tidak serius, dan lain-lain. Bandingkan dengan masalah klasifikasi tanpa pengawasan, di mana, seperti dibahas sebelumnya, GMM umum digunakan.

Dalam tugas prediktif seperti klasifikasi dan regresi, prioritasnya sering kali adalah kecepatan dan akurasi. Secara prinsip, model generatif juga mampu menyelesaikan masalah semacam ini. 

Khususnya, model generatif lebih disukai ketika ada masalah seperti titik data yang hilang, hanya tersedia dataset terbatas untuk pelatihan, atau ketika Anda memperkirakan akan sering menambahkan kategori baru. 

Namun, untuk sebagian besar kasus penggunaan standar, model generatif mengalami tingkat galat lebih tinggi dan inferensi yang lebih lambat dalam tugas prediktif karena perhitungannya melibatkan distribusi probabilitas gabungan. Oleh karena itu, untuk masalah klasifikasi dan regresi standar, di mana tersedia dataset pelatihan yang besar dan sehat, model diskriminatif menjadi pilihan yang disukai karena karakteristik kinerjanya yang lebih baik. 

Model diskriminatif lebih disukai untuk tugas yang hanya berfokus pada hasil klasifikasi dan bukan pada pemodelan data yang mendasari. 

Misalnya, jika Anda ingin mengategorikan rekaman audio ke dalam bahasa masing-masing, Anda tidak memerlukan model yang memahami bahasa dan tata bahasanya. Model pengenalan ucapan akan berlebihan untuk masalah klasifikasi. Cukup fokus pada batas keputusan menggunakan model diskriminatif. Jadi, Anda dapat menggunakan jaringan saraf sederhana alih-alih sebuah LLM atau regresi logistik alih-alih model Bayesian.

Keputusan bertahap, di mana tiap langkah melibatkan pilihan yang tidak ambigu, merupakan kandidat yang baik untuk decision tree. Decision tree sering digunakan sebagai penyaring awal untuk menyeleksi titik data yang memerlukan analisis lebih dalam. 

Sebagai contoh, pertimbangkan deteksi penipuan, yang sering diselesaikan menggunakan model kompleks seperti GMM. Manusia hampir selalu menyelidiki transaksi berisiko tinggi, apa pun model yang digunakan. Jadi, pendekatan alternatif adalah menggunakan decision tree untuk menandai daftar transaksi yang berpotensi curang untuk penyelidikan manual lebih lanjut. 

Decision tree juga digunakan dalam banyak operasi bisnis. Tujuannya adalah menentukan tindakan yang tepat berdasarkan kondisi yang telah ditentukan. Tugas seperti ini tidak memerlukan model generatif maupun model diskriminatif yang lebih kompleks seperti jaringan saraf. 

Gambar yang menunjukkan contoh aplikasi model generatif vs. diskriminatif

Contoh aplikasi model generatif vs. diskriminatif. Dibuat dengan napkin.ai

Kesimpulan

Artikel ini menjelaskan prinsip-prinsip dasar dan perbedaan utama antara model generatif dan diskriminatif, dua pendekatan utama dalam teknik machine learning.

Meskipun sebagian besar machine learning didasarkan pada metode probabilistik, model generatif didasarkan pada distribusi probabilitas gabungan, sementara model diskriminatif hanya menggunakan probabilitas bersyarat. Dengan demikian, kedua kelas model memiliki aplikasi dan karakteristik kinerja yang berbeda. Mengingat tersedianya beragam model, memilih alat yang tepat untuk pekerjaan menjadi hal yang esensial. 

Di luar pemahaman konseptual tentang tipe model dan perbedaannya, yang lebih penting adalah membangun model sendiri. Mulailah dengan posting blog yang membahas metode pelatihan terawasi dan membangun model regresi logistik sederhana.

FAQs

Bisakah saya menggunakan model generatif untuk tugas klasifikasi?

Ya, model generatif juga dapat digunakan untuk tugas klasifikasi karena memodelkan distribusi probabilitas gabungan yang mendasari. Model ini memperkirakan probabilitas bersyarat (untuk tugas klasifikasi) dengan menggunakan kaidah Bayes.

Bisakah saya juga menggunakan model diskriminatif untuk tugas generatif?

Tidak, untuk tugas generatif, model harus menangkap distribusi probabilitas multivariat gabungan dan probabilitas marginal dari data. Model diskriminatif hanya menangkap probabilitas bersyarat. Oleh karena itu, model diskriminatif tidak dapat digunakan untuk tugas generatif.

Tipe model mana yang tepat untuk tugas klasifikasi jika dataset pelatihan memiliki data yang hilang atau tidak lengkap?

Model diskriminatif lebih mungkin melakukan overfitting terhadap dataset. Dengan demikian, kekurangan dalam dataset akan tercermin lebih menonjol dalam parameter model. Lebih mudah bagi model generatif untuk mengompensasi titik data yang hilang karena memodelkan distribusi data yang mendasari. Jadi, model generatif adalah pilihan yang lebih baik.

Model mana yang berkinerja lebih baik untuk tugas klasifikasi?

Perhitungan yang mendasari model diskriminatif lebih sederhana. Dengan demikian, model diskriminatif berkinerja lebih baik pada tugas klasifikasi.

Untuk tugas generatif (atau diskriminatif), bisakah saya memilih salah satu model generatif (atau diskriminatif) secara bebas?

Dalam beberapa kasus, ya. Namun secara umum, tidak. Anda perlu memilih model yang data pelatihan dan algoritmanya menyerupai data Anda dan metode yang ingin Anda terapkan. 

Misalnya, meskipun model Markov dan GAN bersifat generatif, yang pertama sangat cocok untuk data berurutan. GAN memiliki cakupan yang lebih luas, meskipun secara tradisional digunakan untuk tugas berbasis gambar. 

Demikian pula, meskipun model Naive Bayes bersifat generatif, model ini terutama digunakan untuk tugas klasifikasi. 

Pelajari detail setiap model dan kasus penggunaan tipikal untuk menentukan mana yang paling sesuai dengan masalah Anda.


Arun Nanda's photo
Author
Arun Nanda
LinkedIn

Arun adalah mantan pendiri startup yang gemar membangun hal-hal baru. Saat ini ia mengeksplorasi landasan teknis dan matematis Kecerdasan Buatan. Ia senang berbagi apa yang dipelajarinya, sehingga ia menulis tentang topik tersebut.

Selain di DataCamp, Anda dapat membaca publikasinya di Medium, Airbyte, dan Vultr.

Topik
Machine Learning
AI Generatif

Pelajari lebih lanjut tentang machine learning dengan kursus-kursus ini!

Kursus

Memahami Machine Learning

2 jam
312.3K
Pengantar machine learning tanpa perlu coding.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya