Apa itu analisis diskriminan linier (LDA)?

Apa itu LDA?

Analisis diskriminan linier (LDA) adalah pendekatan yang digunakan dalam machine learning yang diawasi untuk memecahkan masalah klasifikasi multi-kelas. LDA memisahkan beberapa kelas dengan beberapa fitur melalui pengurangan dimensi data. Teknik ini penting dalam ilmu data karena membantu mengoptimalkan model machine learning.

Analisis diskriminan linier, juga dikenal sebagai analisis diskriminan normal (NDA) atau analisis fungsi diskriminan (DFA), mengikuti kerangka kerja model generatif. Ini berarti algoritma LDA memodelkan distribusi data untuk setiap kelas dan menggunakan teorema Bayes1 untuk mengklasifikasikan titik data baru. Bayes menghitung probabilitas kondisional—probabilitas suatu peristiwa mengingat beberapa peristiwa lain telah terjadi. Algoritma LDA membuat prediksi dengan menggunakan Bayes untuk menghitung probabilitas apakah set data input akan menjadi bagian dari output tertentu. Untuk tinjauan statistik Bayesian dan bagaimana pengaruhnya terhadap algoritma pembelajaran yang diawasi, lihat pengklasifikasi Naïve Bayes.

LDA bekerja dengan mengidentifikasi kombinasi linear fitur yang memisahkan atau mencirikan dua atau lebih kelas objek atau peristiwa. LDA melakukan ini dengan memproyeksikan data dengan dua dimensi atau lebih ke dalam satu dimensi sehingga dapat lebih mudah diklasifikasikan. Oleh karena itu, teknik ini kadang-kadang disebut sebagai reduksi dimensionalitas. Fleksibilitas ini memastikan bahwa LDA dapat digunakan untuk masalah klasifikasi data multi-kelas, tidak seperti regresi logistik, yang terbatas pada klasifikasi biner. LDA sering kali diterapkan untuk meningkatkan pengoperasian algoritma klasifikasi pembelajaran lainnya, seperti decision trees, random forest, atau mesin vektor pendukung (SVM).

Grafik yang menunjukkan efek pada cluster data sebelum dan sesudah menerapkan metode LDA

Asal usul analisis diskriminan linier

Analisis diskriminan linier (LDA) didasarkan pada diskriminan linier Fisher, sebuah metode statistik yang dikembangkan oleh Sir Ronald Fisher pada tahun 1930-an dan kemudian disederhanakan oleh C. R. Rao sebagai versi multi-kelas. Metode Fisher bertujuan untuk mengidentifikasi kombinasi linear dari fitur yang membedakan antara dua atau lebih kelas dari objek atau peristiwa yang diberi label.

Metode Fisher mengurangi dimensi dengan memisahkan kelas data yang diproyeksikan. Pemisahan berarti memaksimalkan jarak antara mean yang diproyeksikan dan meminimalkan varians yang diproyeksikan di dalam kelas.

Aplikasi praktis LDA

Misalkan bank harus memutuskan apakah akan menyetujui atau menolak pengajuan pinjaman. Bank menggunakan dua fitur untuk membuat keputusan ini: skor kredit pemohon dan pendapatan tahunan.

Di sini, dua fitur atau kelas diplot pada bidang 2 dimensi (2D) dengan sumbu X-Y. Jika kita mencoba mengklasifikasikan persetujuan hanya menggunakan satu fitur, kita mungkin akan melihat tumpang tindih. Dengan menerapkan LDA, kita dapat menggambar garis lurus yang benar-benar memisahkan dua titik data kelas ini. LDA mencapai hal ini dengan menggunakan sumbu X-Y untuk membuat sumbu baru, memisahkan kelas-kelas yang berbeda dengan garis lurus dan memproyeksikan data ke sumbu baru.

Untuk membuat sumbu baru ini dan mengurangi dimensionalitas, LDA mengikuti kriteria berikut:

  • Maksimalkan jarak antara mean dua kelas.
  • Minimalkan varians dalam kelas individu.

Properti dan asumsi LDA

LDA beroperasi dengan memproyeksikan ruang fitur, yaitu kumpulan data dengan n-dimensi, ke ruang yang lebih kecil "k", di mana k kurang dari atau sama dengan n - 1, tanpa kehilangan informasi kelas. Model LDA terdiri dari properti statistik yang dihitung untuk data di setiap kelas. Jika terdapat beberapa fitur atau variabel, properti ini dihitung berdasarkan distribusi Gaussian multivariat3.

Multivariat adalah:

  • Mean
  • Matriks kovarians, yang mengukur cara setiap variabel atau fitur berhubungan dengan yang lain di dalam kelas

Properti statistik yang diperkirakan dari kumpulan data dimasukkan ke dalam fungsi LDA untuk membuat prediksi dan membuat model LDA. Ada beberapa kendala yang perlu diingat, karena model mengasumsikan hal berikut:

  • Kumpulan data input memiliki distribusi Gaussian, di mana memplot titik data menghasilkan kurva berbentuk lonceng.
  • Kumpulan data dapat dipisahkan secara linear, yang berarti LDA dapat menarik garis lurus atau batas keputusan yang memisahkan titik-titik data.
  • Setiap kelas memiliki matriks kovarians yang sama.

Karena alasan tersebut, LDA mungkin tidak efisien dalam ruang fitur berdimensi tinggi.

Peran vektor eigen dan nilai eigen

Pengurangan dimensi melibatkan pemisahan titik data dengan garis lurus. Secara matematis, transformasi linier dianalisis menggunakan vektor eigen dan nilai eigen. Bayangkan Anda telah memetakan kumpulan data dengan beberapa fitur, menghasilkan diagram pencar multi-dimensi. Vektor eigen memberikan "arah" dalam diagram pencar. Nilai eigen menunjukkan pentingnya data arah ini. Nilai eigen yang tinggi berarti vektor eigen terkait lebih penting.

Selama reduksi dimensi, vektor eigen dihitung dari kumpulan data dan dikumpulkan dalam dua matriks pencar:

  • Matriks pencar antar-kelas (informasi tentang penyebaran data dalam setiap kelas)
  • Matriks pencar dalam-kelas (bagaimana kelas tersebar di antara mereka sendiri).

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Mempersiapkan untuk menerapkan analisis diskriminan linier

Untuk menggunakan LDA secara efektif, penting untuk menyiapkan kumpulan data terlebih dahulu. Ini adalah langkah-langkah dan praktik terbaik untuk menerapkan LDA:

1. Memproses data untuk memastikan bahwa data telah dinormalisasi dan dipusatkan

Hal ini dicapai dengan meneruskan parameter n-komponen LDA, yang mengidentifikasi jumlah diskriminan linier yang akan diambil.

2. Memilih jumlah dimensi yang sesuai untuk ruang dimensi yang lebih rendah

Hal ini dicapai dengan meneruskan parameter n-komponen LDA, yang mengidentifikasi jumlah diskriminan linier yang akan diambil.

3. Regularisasi model

Regularisasi bertujuan untuk mencegah overfitting, di mana model statistik sangat cocok dengan data latihannya dan mengurangi keakuratannya.

4. Menggunakan validasi silang untuk mengevaluasi kinerja model

Anda dapat mengevaluasi pengklasifikasi seperti LDA dengan memplotkan matriks konfusi, dengan nilai kelas aktual sebagai baris dan nilai kelas yang diprediksi sebagai kolom. Matriks konfusi memudahkan untuk melihat apakah pengklasifikasi mengacaukan dua kelas—yaitu, salah memberi label pada satu kelas sebagai kelas yang lain. Sebagai contoh, pertimbangkan matriks confusion 10 x 10 yang memprediksi gambar dari nol hingga 9. Data aktual diplot dalam baris pada sumbu y. Prediksi diplot dalam kolom pada sumbu x. Untuk melihat berapa kali pengklasifikasi mengacaukan gambar 4s dan 9s dalam contoh matriks konfusi 10 x 10, Anda akan memeriksa baris ke-4 dan kolom ke-9.

matriks confusion, memplotkan aktual versus prediksi

Cara fungsi diskriminan linier bekerja

Fungsi diskriminan linier membantu membuat keputusan dalam masalah klasifikasi dengan memisahkan titik data berdasarkan fitur dan mengklasifikasikannya ke dalam kategori yang berbeda. Proses perhitungan dapat diringkas dalam langkah-langkah utama berikut:

Hitung varians antar-kelas

Varians antar-kelas adalah keterpisahan antar kelas—jarak antara mean kelas.

Hitung varians dalam-kelas

Varians dalam-kelas adalah jarak antara mean kelas dan sampel.

Proyeksikan data ke ruang dimensi lebih rendah

Ini memaksimalkan varians antar-kelas dan meminimalkan varians dalam-kelas. Kita dapat merepresentasikan fungsi diskriminan linier untuk dua kelas secara matematis dengan yang berikut ini.

δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))

Di mana:

  • δ(x) mewakili fungsi diskriminan linier.
  • x mewakili titik data input.
  • μ0 dan μ1 adalah mean dari kedua kelas tersebut.
  • σ2 adalah varians dalam-kelas yang umum.
  • P(ω0) dan P(ω1) adalah probabilitas sebelumnya dari kedua kelas.

Menerapkan LDA dengan contoh

Mari kita gunakan persamaan untuk menyelesaikan contoh persetujuan pinjaman. Sebagai rangkuman, bank harus memutuskan apakah akan menyetujui atau menolak aplikasi pinjaman. Bank menggunakan dua fitur untuk membuat keputusan ini: skor kredit pemohon (x) dan pendapatan tahunan. Bank telah mengumpulkan data historis tentang pemohon pinjaman sebelumnya dan apakah pinjaman tersebut disetujui.

  • Kelas ω0 mewakili "Pinjaman ditolak."
  • Kelas ω1 mewakili "Pinjaman disetujui."

Dengan menggunakan fungsi diskriminan linier, bank dapat menghitung skor(δ(x)) untuk setiap pengajuan pinjaman. 

Persamaan untuk fungsi diskriminan linier mungkin terlihat mirip dengan ini:

δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))

  • x mewakili skor kredit dan pendapatan tahunan pemohon.
  • μ0 dan μ1 adalah sarana fitur ini untuk dua kelas: "Pinjaman ditolak" dan "Pinjaman disetujui".
  • σ2 adalah varians dalam-kelas yang umum.
  • P(ω0) adalah probabilitas sebelumnya dari "Pinjaman ditolak", dan P(ω1) adalah probabilitas sebelumnya dari "Pinjaman disetujui".

Bank menghitung fungsi diskriminan linier untuk setiap aplikasi pinjaman.

  • Jika δ (x ) positif, ini menunjukkan bahwa pengajuan pinjaman kemungkinan besar akan disetujui.
  • Jika δ(x) negatif, ini menunjukkan bahwa pengajuan pinjaman lebih mungkin ditolak.

Dengan demikian, bank dapat mengotomatiskan proses persetujuan pinjaman, membuat keputusan yang lebih cepat dan konsisten sambil meminimalkan bias manusia.

Penerapan analisis diskriminan linier

Ini adalah skenario umum di mana LDA dapat diterapkan untuk mengatasi masalah yang kompleks dan membantu organisasi membuat keputusan yang lebih baik.

Penilaian risiko kredit di bidang keuangan

Untuk mengurangi risiko, lembaga keuangan harus mengidentifikasi dan meminimalkan default kredit. LDA dapat membantu mengidentifikasi calon pemohon yang mungkin akan gagal membayar pinjaman dari calon pemohon yang layak mendapatkan kredit dengan mengelompokkan faktor keuangan dan data perilaku.

Diagnosis penyakit dalam perawatan kesehatan

Diagnosis penyakit yang cepat dan akurat sangat penting untuk pengobatan yang efektif. Rumah sakit dan penyedia layanan kesehatan harus menafsirkan sejumlah besar data medis. LDA membantu menyederhanakan kumpulan data yang kompleks dan meningkatkan akurasi diagnostik dengan mengidentifikasi pola dan hubungan dalam data pasien.

Segmentasi pelanggan dalam e-commerce

Untuk pemasaran yang efektif, bisnis e-commerce harus dapat mengkategorikan basis pelanggan yang beragam. LDA sangat penting dalam melakukan segmentasi pelanggan, sehingga memungkinkan perusahaan e-commerce menyesuaikan strategi pemasaran mereka untuk berbagai kelompok pelanggan. Hasilnya adalah pengalaman belanja yang lebih personal, meningkatkan loyalitas pelanggan dan penjualan.

Kontrol kualitas dalam manufaktur

Memproduksi barang berkualitas tinggi sambil meminimalkan cacat merupakan tantangan mendasar. Data sensor dari mesin dapat digunakan dengan LDA untuk mengidentifikasi pola yang terkait dengan kecacatan. Dengan mendeteksi ketidakwajaran secara real-time, produsen dapat mengambil tindakan korektif segera, dan mereka dapat meningkatkan kualitas produk serta mengurangi pemborosan.

Optimasi kampanye dalam pemasaran

Anda dapat memaksimalkan anggaran iklan Anda dengan menargetkan audiens yang tepat dengan konten yang dipersonalisasi, tetapi mengidentifikasi segmen audiens tersebut bisa jadi sulit. LDA dapat menyederhanakan proses ini dengan mengklasifikasikan atribut dan perilaku pelanggan, sehingga meningkatkan penyesuaian kampanye iklan. Pendekatan ini dapat menghasilkan laba atas investasi (ROI) yang lebih tinggi dan pengalaman pelanggan yang lebih baik.

Akademi AI

Manfaatkan AI untuk layanan pelanggan

Lihat bagaimana AI generatif dapat menyenangkan pelanggan dengan pengalaman yang lebih mulus dan meningkatkan produktivitas organisasi di tiga area utama ini: layanan mandiri, agen manusia, dan operasi pusat kontak.

Analisis diskriminan linier dan Python

Untuk mempelajari lebih dalam analisis diskriminan linier dengan Python dan memanfaatkan pustaka scikit-learn, Anda dapat menjelajahi tutorial ini Mempelajari algoritma klasifikasi menggunakan Python dan scikit-learn di IBM watsonx™. Tutorial ini membantu Anda dengan dasar-dasar penyelesaian masalah machine learning berbasis klasifikasi menggunakan Python dan scikit-learn (juga dikenal sebagai sklearn).

Untuk tutorial langkah demi langkah ini, pertama-tama Anda akan mengimpor pustaka Python yang diperlukan untuk bekerja dengan kumpulan data Iris, melakukan prapemrosesan data, dan membuat serta mengevaluasi model LDA Anda:

<cuplikan kode Python>

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
import seaborn as sns
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, confusion_matrix

Jika pustaka tidak diinstal, Anda dapat menyelesaikannya menggunakan pip install.

Lihat juga dokumentasi scikit-learn ini untuk ikhtisar parameter utama, atribut, dan contoh umum implementasi Python menggunakan sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Keuntungan dan kerugian menggunakan analisis diskriminan linier

Memahami keuntungan dan keterbatasan analisis diskriminan linier (LDA) sangat penting ketika menerapkannya pada berbagai masalah klasifikasi. Pengetahuan tentang manfaat dan kerugian membantu para ilmuwan data dan praktisi machine learning membuat keputusan berdasarkan informasi tentang kesesuaiannya untuk tugas tertentu.

Keuntungan utama

  • Menggunakan kesederhanaan dan efisiensi komputasi: LDA adalah algoritma yang sederhana tetapi kuat. Algoritma ini relatif mudah dipahami dan diterapkan, membuatnya dapat diakses oleh mereka yang baru mengenal machine learning. Selain itu, komputasinya yang efisien memastikan hasil yang cepat.
  • Mengelola data berdimensi tinggi: LDA efektif jika jumlah fitur lebih besar dari jumlah sampel pelatihan. Oleh karena itu, LDA sangat berharga dalam aplikasi seperti analisis teks, pengenalan gambar, dan genomik, di mana datanya sering kali berdimensi tinggi.
  • Menangani multikolinearitas: LDA dapat mengatasi multikolinearitas, yang merupakan adanya korelasi tinggi antara fitur yang berbeda. Ini mengubah data menjadi ruang dimensi yang lebih rendah sambil mempertahankan integritas informasi.

Kerugian utama

- Distribusi mean yang sama: LDA menghadapi tantangan ketika distribusi kelas mempunyai mean yang sama. LDA akan kesulitan untuk membuat sumbu baru yang secara linier memisahkan kedua kelas. Akibatnya, LDA mungkin tidak secara efektif membedakan antara kelas dengan sifat statistik yang tumpang tindih. Misalnya, bayangkan skenario di mana dua spesies bunga memiliki panjang dan lebar kelopak yang sangat mirip. LDA mungkin merasa sulit untuk memisahkan spesies ini berdasarkan fitur-fitur ini saja. Teknik alternatif, seperti metode analisis diskriminan nonlinier, lebih disarankan di sini.

- Tidak cocok untuk data yang tidak berlabel: LDA diterapkan sebagai algoritma pembelajaran yang diawasi–yaitu, algoritma ini mengklasifikasikan atau memisahkan data berlabel. Sebaliknya, analisis komponen utama (PCA), teknik reduksi dimensi lainnya, mengabaikan label kelas dan mempertahankan varians.

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses ke berbagai kemampuan dalam satu alat untuk seluruh siklus pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung