My IBM Masuk Berlangganan

Apa itu analisis diskriminan linier (LDA)?

27 November 2023

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 algoritme LDA memodelkan distribusi data untuk setiap kelas dan menggunakan teorema Bayes1 untuk mengklasifikasikan titik data baru. Bayes menghitung probabilitas bersyarat - probabilitas suatu peristiwa jika beberapa peristiwa lain telah terjadi. Algoritma LDA membuat prediksi dengan menggunakan Bayes untuk menghitung probabilitas apakah input data akan termasuk dalam hasil tertentu. Untuk ulasan tentang statistik Bayesian dan bagaimana dampaknya terhadap algoritma pembelajaran yang diawasi, lihat pengklasifikasi Naïve Bayes.

LDA bekerja dengan mengidentifikasi kombinasi linear fitur yang memisahkan atau mengkarakterisasi dua atau lebih kelas objek atau peristiwa. LDA melakukan ini dengan memproyeksikan data dengan dua atau lebih dimensi ke dalam satu dimensi sehingga dapat diklasifikasikan dengan lebih mudah. Oleh karena itu, teknik ini terkadang disebut sebagai reduksi dimensionalitas. Fleksibilitas ini memastikan bahwa LDA dapat digunakan untuk masalah klasifikasi data multikelas, tidak seperti regresi logistik, yang terbatas pada klasifikasi biner. Dengan demikian, LDA sering diterapkan untuk meningkatkan operasi algoritma klasifikasi pembelajaran lainnya seperti decision treeshutan acak ,atau mesin vektor pendukung (SVM).

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 melalui 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).
Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

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 pelatihannya dan mengurangi keakuratannya.

4. Menggunakan validasi silang untuk mengevaluasi kinerja model

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

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 atau kelas 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 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

Di mana:

  • δ(x) mewakili fungsi diskriminan linier.
  • x mewakili titik data input.
  • μ0 dan μ1 adalah sarana 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 * (μ01) - 2 * σ2 * (μ0212) + 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 kredit macet. 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.

Analisis diskriminan linier dan Python

Untuk mempelajari lebih dalam tentang analisis diskriminan linier dengan Python dan memanfaatkan pustaka scikit-learn, Anda dapat menjelajahi tutorial Belajar algoritma klasifikasi menggunakan Python dan scikit-learn di IBM watsonx. Tutorial ini membantu Anda dengan dasar-dasar pemecahan 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:

<Python code snippet>

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 ringkasan parameter utama, atribut, dan contoh umum implementasi Python menggunakan sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Mixture of Experts | Podcast

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

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 namun kuat. Algoritme ini relatif mudah dipahami dan diimplementasikan, sehingga 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 berguna dalam aplikasi seperti analisis teks, pengenalan gambar, dan genomik, di mana datanya sering kali berdimensi tinggi.
  • Menangani multikolinearitas: LDA dapat menangani multikolinearitas, yaitu adanya korelasi yang tinggi antara fitur-fitur yang berbeda. LDA mengubah data menjadi ruang berdimensi lebih rendah dengan tetap menjaga 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

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