Pertemuan 9 · Fuzzy Logic

Ketika batas tidak harus tegas

Hari ini kita membuat komputer bernalar dengan kata “agak”, “cukup”, dan “sangat”, lalu memakainya untuk menilai risiko diabetes pada data nyata.

120 menit Dataset: Pima Indians Diabetes Notebook: SC-P9

Tahap 1 · Konsep

Panas atau tidak?

Siang ini suhu di Palangka Raya 29 °C. Panas atau tidak? Bagaimana kalau 30 °C?

Kebanyakan orang menjawab “agak panas”. Komputer biasa tidak mengenal kata “agak”. Ia memakai batas tegas, misalnya “panas jika suhu ≥ 30 °C”, sehingga 29,9 °C dianggap sama tidak panasnya dengan 15 °C.

Analogi: saklar dan dimmer

Saklar hanya punya dua posisi, mati atau nyala. Itulah Crisp Logic. Dimmer bisa diputar sedikit demi sedikit dari redup sampai terang. Itulah Fuzzy Logic.

Saklar (crisp)TIDAK PANAS (0)
Dimmer (fuzzy)panas 0,40
Geser suhu · seret untuk memutar

Tahap 2 · Teori

Gambaran besar dulu

Apa

Fuzzy Logic adalah cara membuat komputer bernalar dengan kata seperti agak, cukup, dan sangat, bukan hanya ya atau tidak.

Siapa

Diperkenalkan Lotfi A. Zadeh pada 1965 lewat makalah tentang fuzzy set. Dipakai perancang sistem kendali, pembuat peralatan rumah tangga, sampai sistem pendukung keputusan.

Mengapa

Banyak pengetahuan manusia diungkapkan dengan kata yang samar. Fuzzy Logic menerjemahkan pengetahuan itu menjadi hitungan.

Hari ini cukup tiga gagasan. Masing-masing dimulai dari bahasa sehari-hari, baru kemudian istilah akademisnya.

Gagasan 1 dari 3
Bahasa sehari-hari“Seberapa tinggi gula darahnya?”
Istilah akademisMembership degree μ, dari 0 sampai 1
Seret untuk memutar

Satu nilai glukosa bisa menjadi anggota beberapa fuzzy set sekaligus, misalnya sedang dan tinggi, masing-masing dengan derajatnya sendiri. Kurva yang memetakan nilai menjadi derajat disebut membership function.

rendah0,00
sedang0,33
tinggi0,25

Di 140 mg/dL, glukosa termasuk “sedang” 0,33 sekaligus “tinggi” 0,25. Derajatnya tidak harus berjumlah 1. Batas set ini contoh pembelajaran, bukan kriteria medis.

Gagasan 2 dari 3
Bahasa sehari-hari“Kalau gulanya tinggi dan badannya gemuk, risikonya tinggi.”
Istilah akademisRule base IF-THEN, operator AND = min
RuleIFTHEN risiko
R1glukosa tinggi AND BMI tinggitinggi
R2glukosa tinggi AND usia tuatinggi
R3glukosa sedang AND BMI sedangsedang
R4glukosa sedang AND usia paruh bayasedang
R5glukosa rendahrendah
R6BMI rendah AND usia mudarendah

Mengapa minimum?

Pengetahuan pakar ditulis sebagai rule. Rule dengan AND hanya sekuat syarat yang paling lemah, jadi kekuatannya adalah nilai minimum dari derajat syarat-syaratnya.

Contoh

Glukosa 140 (tinggi 0,25) dan BMI 32 (tinggi 0,40).

R1 = min(0,25; 0,40) = 0,25

Gagasan 3 dari 3
Bahasa sehari-hari“Jadi, angka risikonya berapa?”
Istilah akademisDefuzzification dengan metode centroid
Langkah 1

Potong

Setiap rule memotong output set miliknya setinggi kekuatan rule itu.

Langkah 2

Gabungkan

Potongan-potongan digabung menjadi satu bentuk. Langkah ini disebut aggregation.

Langkah 3

Cari titik berat

Skor akhirnya adalah centroid bentuk itu, seperti titik tempat papan tak beraturan bisa seimbang di atas jari.

z* = Σ μ(z) · z / Σ μ(z) artinya: rata-rata posisi skor, ditimbang oleh tinggi bentuknya

Ketiga gagasan ini bekerja bersama di Lab pada layar berikutnya.

Tahap 3 · Eksplorasi

Lab: Mamdani Inference

Aggregation dan centroid · seret untuk memutar

Garis putus-putus adalah output set risiko rendah, sedang, dan tinggi. Bentuk biru adalah gabungan potongannya. Pin hitam adalah centroid, yaitu skor risiko.

64 Skor risiko dari 100.
Seret untuk memutar

Tahap 3 · Eksplorasi · jika waktu cukup

Control surface

Permukaan ini adalah skor risiko untuk setiap kombinasi glukosa dan BMI pada usia yang dipilih. Bola oranye adalah pasien Anda. Bagian datar abu-abu adalah celah, tempat tidak ada rule yang aktif.

64 skor risiko dari 100

Di mana celah itu muncul, dan rule apa yang perlu ditambahkan?

Pengayaan · jika waktu cukup

Satu rule base, tiga metode inferensi

Selain Mamdani, ada dua metode lain. Rule-nya sama persis, yang berbeda hanya cara mengubah hasil rule menjadi satu angka. Cukup dikenali dulu, tidak perlu dihafal.

Mamdani

64

Hasil rule berupa bentuk. Bentuk digabung, lalu dicari titik beratnya.

Kita praktikkan hari ini. Paling mudah dibayangkan.

Sugeno

0

Hasil rule langsung berupa angka (rendah 20, sedang 50, tinggi 85), lalu dirata-rata.

Ringan dihitung, populer di sistem kendali.

Tsukamoto

0

Setiap rule menghasilkan angkanya sendiri dari bentuk yang selalu naik atau selalu turun, lalu dirata-rata.

Sangat populer di skripsi Indonesia.

Rule-nya sama, mengapa angkanya berbeda? Metode mana yang paling masuk akal untuk kasus ini?

Final project yang memakai Sugeno atau Tsukamoto, lengkap dengan alasan dan perbandingannya terhadap Mamdani, mendapat nilai tambah.

Tahap 3 · Contoh positif dan negatif

Fuzzy atau bukan?

Fuzzy Logic cocok untuk besaran yang bertingkat dan batasnya samar. Untuk keputusan yang memang tegas, logika biasa lebih tepat. Tentukan setiap kasus di bawah ini.

0 dari 0 tepat

Tahap 4 · Praktik di Kaggle

Sekarang kita tulis sendiri

Kita lengkapi tiga bagian inti bersama-sama: fuzzification, rule base, dan centroid. Bagian lain sudah disiapkan, tinggal dijalankan.

File data di notebook: /kaggle/input/diabetes/diabetes.csv. Jika belum muncul di panel Input, klik Add Input lalu cari salihacur diabetes.

Urutan hari ini

MenitKegiatan
0-5Pembukaan dan daftar kelas
5-35Konsep sampai Lab
35-80Live coding, 3 bagian inti
80-105Tantangan mandiri
105-120Exit ticket dan penutup

Tantangan mandiri · 25 menit

Buat sistem fuzzy Anda lebih cocok

  1. Coba dua perubahan: geser batas satu membership function, atau ubah ambang skor 50.
  2. Catat hasilnya: naik atau turun kesesuaiannya dengan kolom Outcome?
  3. Tulis satu kalimat: perubahan mana yang lebih berpengaruh, dan mengapa.

Bonus: tambahkan satu rule untuk pasien yang belum tertangkap rule mana pun.

Exit ticket

  1. Apa beda crisp set dan fuzzy set? Beri satu contoh dari kehidupan sehari-hari.
  2. Mengapa sistem Fuzzy Logic membutuhkan langkah defuzzification?