Mata Kuliah: Kecerdasan Artifisial (AI401) | 3 SKS
Setelah pertemuan ini, mahasiswa mampu:
Definisi Tom Mitchell (1997):
Program belajar dari pengalaman E terhadap tugas T dengan ukuran kinerja P, jika kinerjanya pada T meningkat seiring E.
Sistem Deteksi Ancaman Radar:
| Komponen | Deskripsi |
|---|---|
| Task (T) | Klasifikasi sinyal radar: ancaman atau bukan |
| Performance (P) | Akurasi klasifikasi pada data uji |
| Experience (E) | Database sinyal radar historis yang sudah dilabeli |
Gambar 1.1: Tiga paradigma utama dalam pembelajaran mesin
| Aspek | Supervised | Unsupervised | Reinforcement |
|---|---|---|---|
| Data | Berlabel (input + output) | Tanpa label | Reward/punishment |
| Tujuan | Prediksi output baru | Temukan pola/struktur | Maksimalkan reward |
| Contoh | Klasifikasi, regresi | Clustering, dimensionality reduction | Game AI, robotika |
| Militer | Deteksi ancaman radar | Segmentasi sinyal SIGINT | Navigasi drone otonom |
| Komponen | Deskripsi | Contoh |
|---|---|---|
| Features (X) | Atribut input | Kecepatan, altitude, RCS |
| Label (Y) | Output yang diprediksi | Ancaman / Bukan |
| Training Set | Data untuk melatih model | 80% data historis |
| Test Set | Data untuk menguji model | 20% data historis |
Komponen utama:
Gambar 2.1: Struktur Decision Tree untuk klasifikasi ancaman radar
H(S) = -โ pi logโ(pi)
Gambar 2.2: Kurva entropy untuk klasifikasi biner
Entropy maksimum saat distribusi merata (p = 0.5)
Dataset: 14 sinyal radar โ 9 Ancaman, 5 Aman
H(S) = -(9/14) logโ(9/14) - (5/14) logโ(5/14)
H(S) = -(0.643)(โ0.637) โ (0.357)(โ1.486)
H(S) = 0.410 + 0.531 = 0.940
โ ๏ธ Entropy tinggi (mendekati 1) โ perlu atribut yang baik untuk memisahkan data!
Gain(S, A) = H(S) โ โvโValues(A) (|Sv|/|S|) ร H(Sv)
Atribut dengan information gain tertinggi dipilih sebagai node berikutnya!
Atribut "Kecepatan" (Tinggi/Rendah) pada 14 data:
| Kecepatan | Ancaman | Aman | Total | Entropy |
|---|---|---|---|---|
| Tinggi | 7 | 1 | 8 | 0.544 |
| Rendah | 2 | 4 | 6 | 0.918 |
Gain = 0.940 โ (8/14)(0.544) โ (6/14)(0.918)
Gain = 0.940 โ 0.311 โ 0.394 = 0.235
Langkah-langkah membangun decision tree:
def ID3(data, attributes, target):
# Base cases
if all_same_class(data, target):
return Leaf(majority_class)
if attributes is empty:
return Leaf(majority_class)
# Pilih atribut terbaik
best = argmax(information_gain(data, a)
for a in attributes)
tree = Node(best)
# Rekursi untuk setiap nilai
for value in best.values:
subset = data[best == value]
if subset is empty:
tree.add(Leaf(majority_class))
else:
tree.add(ID3(subset,
attributes - {best}, target))
return tree
Gambar 2.3: Ilustrasi overfitting vs underfitting
Solusi untuk mengatasi overfitting pada decision tree:
C4.5 (oleh Ross Quinlan) memperbaiki kelemahan ID3:
| Aspek | ID3 | C4.5 |
|---|---|---|
| Atribut numerik | โ Hanya kategorikal | โ Threshold splitting |
| Missing values | โ Tidak bisa | โ Distribusi probabilistik |
| Pruning | โ Tidak ada | โ Error-based pruning |
| Kriteria split | Information Gain | Gain Ratio |
P(C|X) = P(X|C) ร P(C) / P(X)
Asumsi "Naive":
P(xโ, xโ, ..., xโ | C) = P(xโ|C) ร P(xโ|C) ร ... ร P(xโ|C)
Klasifikasi email: Spam atau Bukan Spam
| Kata | P(kata|Spam) | P(kata|Bukan) |
|---|---|---|
| "gratis" | 0.8 | 0.1 |
| "operasi" | 0.2 | 0.7 |
| "klik" | 0.7 | 0.05 |
Email baru mengandung: "gratis", "klik"
P(Spam) = 0.3, P(Bukan) = 0.7
P(Spam | "gratis", "klik"):
โ P(Spam) ร P("gratis"|Spam) ร P("klik"|Spam)
= 0.3 ร 0.8 ร 0.7 = 0.168
P(Bukan | "gratis", "klik"):
โ P(Bukan) ร P("gratis"|Bukan) ร P("klik"|Bukan)
= 0.7 ร 0.1 ร 0.05 = 0.0035
Normalisasi: P(Spam) = 0.168 / (0.168 + 0.0035) = 97.96%
โ Klasifikasi: SPAM โ๏ธ
Masalah Zero Probability: Jika P(kata|kelas) = 0, maka seluruh produk menjadi 0!
Solusi - Laplace Smoothing:
P(xแตข|C) = (count(xแตข, C) + ฮฑ) / (count(C) + ฮฑ ร |V|)
ฮฑ = parameter smoothing (biasanya 1), |V| = jumlah nilai unik
ลท = wโ + wโxโ + wโxโ + ... + wโxโ
Perbedaan dari Klasifikasi:
Tujuan: Minimumkan Sum of Squared Errors (SSE)
SSE = โ(yแตข โ ลทแตข)ยฒ
Rumus untuk regresi linear sederhana (ลท = wโ + wโx):
wโ = [nโxแตขyแตข โ โxแตขโyแตข] / [nโxแตขยฒ โ (โxแตข)ยฒ]
wโ = ศณ โ wโxฬ
| Jam Latihan (x) | Akurasi % (y) |
|---|---|
| 2 | 55 |
| 4 | 65 |
| 6 | 72 |
| 8 | 80 |
| 10 | 88 |
Hasil: ลท = 44.6 + 4.2x
Prediksi untuk 7 jam latihan: ลท = 44.6 + 4.2(7) = 74.0%
Gambar 4.1: Ilustrasi gradient descent mencari minimum cost function
Aturan update: w โ w โ ฮฑ ร โJ/โw
ฮฑ = learning rate (kecepatan belajar)
Gambar 5.1: Struktur Confusion Matrix 2ร2
| Prediksi: Positif | Prediksi: Negatif | |
|---|---|---|
| Aktual: Positif | TP (True Positive) | FN (False Negative) |
| Aktual: Negatif | FP (False Positive) | TN (True Negative) |
| Metrik | Rumus | Fokus |
|---|---|---|
| Accuracy | (TP + TN) / Total | Kebenaran keseluruhan |
| Precision | TP / (TP + FP) | Ketepatan prediksi positif |
| Recall | TP / (TP + FN) | Cakupan data positif |
| F1-Score | 2 ร (PรR) / (P+R) | Harmonic mean P & R |
Sistem deteksi rudal: TP=85, FP=10, FN=15, TN=890
| Metrik | Perhitungan | Nilai |
|---|---|---|
| Accuracy | (85+890)/1000 | 97.5% |
| Precision | 85/(85+10) | 89.5% |
| Recall | 85/(85+15) | 85.0% |
| F1-Score | 2(0.895ร0.85)/(0.895+0.85) | 87.2% |
โ ๏ธ Dalam pertahanan, Recall lebih penting! FN = rudal tidak terdeteksi = berbahaya!
| Konteks | Metrik Utama | Alasan |
|---|---|---|
| ๐ Deteksi rudal | Recall | Jangan lewatkan ancaman! |
| ๐ง Filter spam | Precision | Jangan buang email penting! |
| ๐ฅ Diagnosis medis | F1-Score | Seimbangkan keduanya |
| ๐ Data seimbang | Accuracy | Distribusi kelas merata |
Tujuan:
Gambar 6.1: Ilustrasi 5-fold cross-validation
Kinerja akhir = rata-rata akurasi dari semua fold
Standar industri: k = 5 atau k = 10
Masalah: Data tidak seimbang (misal 95% kelas A, 5% kelas B) โ fold mungkin tidak representatif
Solusi: Stratified K-Fold memastikan setiap fold memiliki proporsi kelas yang sama dengan dataset asli
Contoh: Dataset 100 data (90 Aman, 10 Ancaman)
Setiap fold dari 5-fold: 18 Aman + 2 Ancaman = 20 data
Pertanyaan 1:
Jika entropy suatu dataset = 0, artinya:
๐ก Entropy = 0 berarti dataset sudah murni (pure), tidak ada ketidakpastian
Pertanyaan 2:
Dalam sistem deteksi ancaman, metrik mana yang paling penting?
๐ก Recall tinggi = meminimalkan False Negative (ancaman yang tidak terdeteksi)
Pertanyaan 3:
Apa tujuan utama Laplace smoothing pada Naive Bayes?
| Konsep | Poin Kunci |
|---|---|
| Paradigma ML | Supervised, Unsupervised, Reinforcement |
| Decision Tree | Entropy โ Information Gain โ ID3 |
| Naive Bayes | P(C|X) โ P(X|C) ร P(C) + Laplace smoothing |
| Regresi Linear | ลท = wโ + wโx, metode least squares |
| Evaluasi | Accuracy, Precision, Recall, F1-Score |
| Cross-Validation | K-fold, Stratified K-fold |
Pembelajaran Mesin Lanjutan
Pertemuan 13: Pembelajaran Mesin - Supervised Learning
Ada pertanyaan?