ALGORITMA UNSUPERVISED LEARNING
ALGORITMA UNSUPERVISED LEARNING
Unsupervised Learning adalah salah satu kategori dari machine learning di mana model dilatih pada data yang tidak memiliki label atau target. Tujuan utama dari Unsupervised Learning adalah untuk menemukan pola atau struktur yang mendasari data tanpa panduan dari label atau target yang telah ditentukan sebelumnya. Beberapa algoritma utama dalam Unsupervised Learning meliputi clustering, dimensionality reduction, dan association rule learning.
Langkah - Langkah Algoritma Unsupervised Learning
1. Pengumpulan Data :
- Kumpulkan dataset yang relevan dan pastikan data tersebut bersih serta siap digunakan.
- Pastikan data memiliki variabel-variabel yang ingin dianalisis tanpa label atau target variabel.
2. Pra-pemrosesan Data :
- Pembersihan Data: Hilangkan nilai-nilai yang hilang, outliers, dan data duplikat.
- Normalisasi/Penskalaan: Ubah skala data agar berada dalam rentang yang sama (misalnya, menggunakan Min-Max Scaling atau Z-score normalization).
- Pembuatan Fitur: Jika perlu, buat fitur-fitur baru yang relevan dari data asli.
3. Pemilihan Algoritma :
- Tentukan algoritma unsupervised learning yang sesuai dengan tujuan analisis. Beberapa contoh algoritma unsupervised learning antara lain:
- Clustering: K-means, Hierarchical Clustering, DBSCAN.
- Dimensionality Reduction: PCA (Principal Component Analysis), t-SNE (t-Distributed Stochastic Neighbor Embedding).
- Association Rules: Apriori, Eclat.
- Anomaly Detection: Isolation Forest, One-Class SVM.
4. Training Model :
- Terapkan algoritma yang dipilih pada dataset.
- Tentukan parameter yang diperlukan (misalnya, jumlah cluster untuk K-means) dan latih model.
5. Evaluasi Model :
- Gunakan metrik evaluasi yang sesuai untuk mengukur kualitas model.
- Untuk Clustering: Silhouette Score, Davies-Bouldin Index, atau visualisasi cluster.
- Untuk Dimensionality Reduction: Visualisasi hasil reduksi dimensi dalam 2D atau 3D.
- Untuk Association Rules: Support, Confidence, Lift.
6. Inteprestasi Hasil :
- Analisis hasil model dan interpretasikan temuan-temuan yang dihasilkan.
- Jika menggunakan clustering, analisis karakteristik dari setiap cluster.
- Jika menggunakan dimensionality reduction, interpretasikan komponen utama yang dihasilkan.
7. Fine-Tuning dan Optimisasi :
- Jika hasil awal belum memuaskan, lakukan penyesuaian parameter dan hyperparameter.
- Ulangi proses training dan evaluasi hingga mendapatkan hasil yang optimal.
8. Implementasi dan Penyajian :
- Setelah model memuaskan, implementasikan model untuk digunakan dalam aplikasi nyata.
- Sajikan hasil analisis dalam bentuk laporan atau visualisasi yang mudah dipahami.
9. Monitoring dan Pemeliharaan :
- Monitor performa model secara berkala untuk memastikan model tetap relevan dan akurat.
- Lakukan retraining jika diperlukan dengan data baru yang lebih terkini.
Algoritma Unsupervised Learning
1. K-Means
Algoritma ini membagi titik data ke dalam cluster berdasarkan pusat cluster (centroid) terdekat. Langkah-langkahnya meliputi inisialisasi titik centroid acak, pengelompokan titik data berdasarkan jarak ke centroid terdekat, dan iterasi untuk memperbarui posisi centroid hingga konvergensi.
Langkah-langkah:
- Pilih jumlah klaster k
- Inisialisasi centroid awal secara acak.
- Iteratif: Hitung jarak antara setiap titik data dengan centroid dan atribusikan setiap titik ke klaster dengan centroid terdekat.
- Perbarui posisi centroid sebagai rata-rata dari titik-titik dalam klaster.
- Ulangi langkah 3 dan 4 hingga konvergensi.
2. Hierarchical Clustering
Metode ini membangun struktur hirarkis dari cluster, biasanya direpresentasikan dalam bentuk dendrogram. Titik data dimulai sebagai cluster tunggal dan dua cluster yang paling dekat secara berurutan digabungkan hingga seluruh data membentuk satu cluster besar.
Langkah-langkah:
- Mulai dengan setiap titik sebagai klaster terpisah.
- Gabungkan klaster berdasarkan jarak terdekat atau pisahkan klaster berdasarkan kemiripan terjauh.
- Bangun pohon (dendrogram) untuk merepresentasikan hierarki klaster.
3. DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
Algoritma ini mengelompokkan titik data berdasarkan kerapatan lokal. Dengan menggunakan parameter epsilon (radius) dan minimum points, DBSCAN mengidentifikasi core points yang memiliki jumlah tetangga minimum dalam radius epsilon, serta mengakomodasi keberadaan noise dalam data.
Langkah-langkah:
- Tentukan parameter epsilon (jarak maksimum antara titik untuk dianggap tetangga) dan minimum titik (minimum jumlah tetangga dalam radius epsilon).
- Identifikasi titik inti yang memiliki tetangga lebih dari jumlah minimum titik.
- Kelompokkan titik-titik ke dalam klaster berdasarkan keterhubungan tetangga-tetangga mereka.
4. Mean Shift Clustering
Algoritma non-parametrik yang mencari mode dalam distribusi data. Mean Shift mulai dari setiap titik data dan secara iteratif memindahkan titik ke pusat massa (mean) lokal dalam radius bandwidth hingga konvergensi.
Langkah-langkah:
- Inisialisasi titik-titik sebagai titik awal (seed).
- Perbarui posisi setiap titik data berdasarkan rata-rata titik-titik dalam radius tertentu.
- Konvergensi ketika tidak ada lagi perubahan yang signifikan dalam posisi titik-titik.
5. Gaussian Mixture Models (GMM)
Model probabilistik yang menganggap data berasal dari campuran beberapa distribusi Gaussian yang mungkin tumpang tindih. GMM menggunakan metode ekspektasi-maksimisasi (EM) untuk memperkirakan parameter distribusi (mean, covariance, dan weight) dari setiap komponen.
Langkah-langkah:
- Inisialisasi parameter distribusi Gaussian (mean, covariance, dan weight).
- Hitung probabilitas setiap titik data terhadap setiap kelompok.
- Perbarui parameter distribusi berdasarkan probabilitas yang dihitung.
- Ulangi langkah 2 dan 3 hingga konvergensi.
6. Spectral Clustering
Metode ini menggunakan matriks kedekatan untuk menganalisis struktur cluster. Dengan menghitung vektor eigen dari matriks Laplacian dari matriks kedekatan, Spectral Clustering memproyeksikan titik data ke dalam ruang eigen dan kemudian mengelompokkannya.
Langkah-langkah:
- Konstruksi matriks kedekatan dari data.
- Komputasi matriks Laplacian dari matriks kedekatan.
- Ekstraksi vektor eigen dari matriks Laplacian.
- Gunakan vektor eigen untuk menghasilkan klaster (misalnya dengan k-means pada ruang eigen).
7. Agglomerative Clustering
Pendekatan bottom-up di mana setiap titik data awalnya dianggap sebagai cluster tunggal, dan iteratif dua cluster yang paling dekat digabungkan. Proses ini menghasilkan dendrogram yang menunjukkan hubungan hierarkis antara cluster.
Langkah-langkah:
- Mulai dengan setiap titik data sebagai klaster terpisah.
- Gabungkan klaster berdasarkan jarak minimum, maksimum, rata-rata, atau median.
- Bangun dendrogram untuk merepresentasikan proses penggabungan.
8. OPTICS (Ordering Points To Identify the Clustering Structure)
Algoritma ini mengidentifikasi cluster berdasarkan urutan titik data terhadap kerapatan. OPTICS tidak memerlukan jumlah cluster yang telah ditentukan sebelumnya, dan menghasilkan representasi struktur klastering dalam bentuk diagram reachability.
Langkah-langkah:
- Konstruksi diagram daya rendah (low-level reachability plot) untuk menentukan klaster dengan mempertimbangkan epsilon dan minimum titik.
- Identifikasi titik inti dan mengelompokkan titik-titik ke dalam klaster berdasarkan hubungan daya rendah.
9. BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies)
Algoritma ini menggunakan pendekatan berbasis pohon untuk mengelompokkan data secara efisien. BIRCH membangun model cluster menggunakan ringkasan data yang dihasilkan dari iterasi struktural, seperti centroid dan jumlah titik data.
Langkah-langkah:
- Membangun pohon cluster yang menggunakan teknik untuk mengelompokkan titik-titik dalam ruang berdasarkan atribut clustering.
- Menggunakan pendekatan pengurangan untuk mengelompokkan titik-titik ke dalam klaster dalam pohon.
10. Affinity Propagation
Metode ini berdasarkan pada pemilihan titik-titik eksplisit yang memperbarui responsibilitas dan availabilitas antara titik data untuk mengidentifikasi titik-titik representatif (exemplars). Affinity Propagation cocok untuk data dengan jumlah cluster yang tidak pasti.
Langkah-langkah:
- Iteratif: Propagasi responsibilitas (probabilitas bahwa satu titik akan menjadi exemplar dari yang lain) dan availabilities (kecenderungan untuk memilih titik tertentu sebagai exemplar) antara titik-titik data.
- Konvergensi ketika exemplar stabil dan klaster terbentuk.
11. CURE Clustering
Algoritma ini mengurangi dimensi data dengan memilih titik-titik representatif acak yang diambil dari berbagai bagian dataset, dan mengelompokkannya berdasarkan jaraknya.
Langkah-langkah:
- Merepresentasikan setiap klaster dengan titik-titik yang disebut sebagai titik representatif.
- Melakukan penggabungan secara hierarkis untuk menggabungkan klaster berdekatan berdasarkan jarak tertentu.
- Menggunakan hierarki yang dihasilkan untuk memudahkan penentuan jumlah klaster yang optimal.
12. Self-Organizing Maps (SOM)
Juga dikenal sebagai Kohonen maps, SOM menggunakan jaringan neural untuk mengelompokkan data dan mempertahankan topologi spasial dari data yang kompleks.
Langkah-langkah:
- Inisialisasi grid SOM dengan bobot acak.
- Iteratif: Presentasikan data dan sesuaikan bobot node untuk menyesuaikan dengan data yang dipresentasikan.
- Konvergensi ketika tidak ada lagi perubahan yang signifikan dalam grid SOM.
13. Fuzzy C-Means Clustering
Algoritma ini memungkinkan titik data untuk dimiliki oleh lebih dari satu cluster dengan tingkat keanggotaan yang berbeda. Fuzzy C-Means berguna untuk kasus di mana data mungkin terdistribusi secara fuzzy di antara beberapa cluster.
Langkah-langkah:
- Inisialisasi matriks keanggotaan yang menentukan probabilitas setiap titik untuk menjadi bagian dari setiap klaster.
- Perbarui posisi pusat klaster dan matriks keanggotaan berdasarkan iterasi untuk meminimalkan fungsi objektif tertentu.
- Konvergensi ketika tidak ada lagi perubahan signifikan dalam matriks keanggotaan.
14. Differential Evolution Clustering
Metode ini mengadaptasi algoritma evolusi untuk menemukan solusi optimal untuk pusat cluster dengan mempertimbangkan jarak antara titik data dan pusat cluster yang dihasilkan.
Langkah-langkah:
- Inisialisasi populasi awal dengan solusi acak.
- Iteratif: Evaluasi dan mutasi solusi untuk menghasilkan generasi baru yang lebih baik.
- Konvergensi ketika solusi konvergen atau batas iterasi tercapai.
15. Chameleon Clustering
Algoritma ini menggunakan similarity matrix untuk mengelompokkan data berdasarkan perubahan dinamis dalam struktur cluster, menyesuaikan kluster untuk mempertimbangkan perbedaan dalam kerapatan.
Langkah-langkah:
- Menggunakan pengukuran jarak yang dinamis berdasarkan atribut data yang relevan.
- Menganalisis hubungan dan konteks antar titik untuk menentukan klaster yang optimal.
- Penyesuaian iteratif berdasarkan konteks yang diketahui untuk meningkatkan kualitas klaster.
16. Expectation-Maximization (EM) Clustering
Metode ini menganggap setiap cluster sebagai distribusi probabilitas dan memperbarui parameter distribusi berdasarkan data yang diamati, dengan tujuan untuk maksimalkan likelihood dari data yang ada.
Langkah-langkah:
- Inisialisasi parameter model (misalnya mean, covariance untuk GMM).
- Ekspektasi: Hitung probabilitas setiap titik data untuk setiap kelompok berdasarkan parameter saat ini.
- Maksimisasi: Perbarui parameter model berdasarkan probabilitas yang dihitung.
- Ulangi langkah 2 dan 3 hingga konvergensi.
17. Rock Clustering
Algoritma ini menggunakan metrik jarak yang ditentukan sebelumnya untuk mengidentifikasi titik inti (core points) dan outlier, serta mengelompokkan titik data berdasarkan kerapatan yang dihasilkan.
Langkah-langkah:
- Konstruksi representasi struktur data menggunakan kerikil untuk menangkap keragaman dan keterkaitan antar titik.
- Mengelompokkan titik-titik berdasarkan struktur yang teridentifikasi dengan pendekatan partisi dan hierarkis.
18. COBWEB Clustering
Algoritma ini membangun model hirarkis dari data dengan memperbarui model secara iteratif berdasarkan similarity antara data baru dan model yang ada, menentukan penempatan data baru dalam cluster yang ada.
Langkah-langkah:
- Membangun struktur pohon konseptual yang merepresentasikan hierarki klaster berdasarkan kesamaan dan perbedaan atribut.
- Mengidentifikasi konsep dan mengelompokkan data berdasarkan struktur konseptual yang dikembangkan.
19. HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise)
Versi yang diperbarui dari DBSCAN, HDBSCAN menggunakan pendekatan yang lebih adaptif untuk mengidentifikasi cluster berdasarkan kerapatan yang berubah-ubah dalam data.
Langkah-langkah:
- Menggunakan pendekatan hierarkis untuk membangun representasi klaster yang adaptif berdasarkan struktur kepadatan spasial.
- Mengidentifikasi titik inti dan mengelompokkan titik-titik berdasarkan keterhubungan kepadatan mereka.
20. Bisecting K-Means
Metode ini menggunakan pendekatan top-down untuk membagi data menjadi dua cluster pada setiap iterasi, menggunakan algoritma K-Means untuk melakukan pembagian tersebut.
Langkah-langkah:
- Memulai dengan satu klaster dan iteratif membagi klaster menjadi dua dengan memilih partisi yang optimal berdasarkan evaluasi K-Means.
- Menggunakan pendekatan partisi dan K-Means untuk membagi klaster berdasarkan atribut yang diidentifikasi.
21. TwoStep Clustering
Algoritma ini menggabungkan dua langkah untuk mengelompokkan data, dimulai dengan menghitung similarity antara titik data dan kemudian mengaplikasikan pendekatan berbasis cluster untuk mengelompokkan data.
Langkah-langkah:
- Menggunakan metode dua langkah untuk mengelompokkan data berdasarkan distribusi dan karakteristik yang teramati.
- Mengidentifikasi klaster dan memilih pendekatan dua langkah yang optimal untuk distribusi data yang diperhatikan.
22. CLARANS Clustering
Metode ini menggunakan strategi optimisasi untuk mencari pusat cluster yang optimal, menghitung jarak antara titik data dengan pusat cluster yang dioptimalkan untuk menentukan kluster-label.
Langkah-langkah:
- Gunakan algoritma optimisasi untuk mencari pusat cluster yang optimal.
- Hitung jarak antara setiap titik data dengan pusat cluster yang dioptimalkan.
- Hasilkan cluster-label untuk setiap titik data.
23. FLOCK Clustering
Algoritma ini menggunakan pendekatan yang terinspirasi dari perilaku kawanan untuk mengelompokkan data, memanfaatkan koordinasi antara titik data untuk menghasilkan struktur klastering.
Langkah-langkah:
- Terapkan metode clustering yang berbasis pada perilaku kawanan (flocking behavior).
- Tentukan cluster-label untuk setiap titik data.
24. EMAP Clustering
Metode ini memanfaatkan informasi statistik untuk mengelompokkan data, menentukan cluster-label berdasarkan pendekatan yang menggabungkan ekspektasi dan estimasi parameter model.
Langkah-langkah:
- Gunakan pendekatan probabilitas untuk mengelompokkan data.
- Tentukan cluster-label untuk setiap titik data berdasarkan pendekatan ini.
25. K-Harmonic Means Clustering
Algoritma ini menggunakan nilai rata-rata harmonik sebagai dasar untuk menghitung pusat cluster, dan kemudian mengelompokkan titik data berdasarkan nilai ini.
Langkah-langkah:
- Tentukan jumlah cluster dan parameter .
- Hitung pusat cluster berdasarkan nilai rata-rata harmonik dari titik data.
- Hasilkan cluster-label untuk setiap titik data.
26. PAM (Partitioning Around Medoids) Clustering
Metode ini menggunakan medoid (representasi titik data) sebagai dasar untuk mempartisi data ke dalam cluster, dengan mempertimbangkan jarak antara titik data dan medoid yang dihasilkan.
Langkah-langkah:
- Tentukan jumlah cluster .
- Pilih medoid awal secara acak.
- Hitung jarak antara setiap titik data dengan medoid.
- Tentukan cluster untuk setiap titik data berdasarkan medoid terdekat.
- Perbarui medoid sebagai titik data baru yang memiliki total jarak minimum ke semua titik data dalam cluster.
- Ulangi langkah di atas sampai tidak ada perubahan dalam medoid atau telah mencapai iterasi maksimum.
27. Fuzzy ART Clustering
Algoritma ini menggunakan jaringan ART untuk mengelompokkan titik-titik data, memungkinkan keanggotaan data dalam beberapa cluster berdasarkan kriteria kejelasan (vigilance criterion).
Langkah-langkah:
- Tentukan parameter seperti vigilance criterion.
- Gunakan algoritma ART untuk mengelompokkan titik-titik data.
28. BFR (Batch-Frequency-Partitioning-Reduction) Clustering
Metode ini menggunakan teknik partisi data menjadi batch dan kemudian mengelompokkannya berdasarkan frekuensi kemunculan nilai atribut, memungkinkan analisis yang efisien terhadap data yang besar.
Langkah-langkah:
- Bagi data menjadi batch.
- Hitung frekuensi kemunculan setiap nilai atribut.
- Gunakan frekuensi untuk mengelompokkan titik-titik data.
29. COOLCAT (Clustering Our Of Lossy Compression with Adaptive Techniques) Clustering
Algoritma ini menggunakan teknik kompresi untuk mengelompokkan data, dengan mempertimbangkan adaptasi teknik kompresi untuk mengekstraksi struktur klastering.
Langkah-langkah:
- Gunakan teknik kompresi untuk mengelompokkan data.
- Tentukan cluster-label untuk setiap titik data.
30. STIRR (STatistical Information foR Randomized Redundancy) Clustering
Metode ini menggunakan informasi statistik untuk mengelompokkan data, dengan mempertimbangkan pengurangan redundansi data secara acak untuk mengidentifikasi struktur klastering.
Langkah-langkah:
- Gunakan informasi statistik untuk mengelompokkan data.
- Tentukan cluster-label untuk setiap titik data.
Komentar
Posting Komentar