Buku ini sedang dalam tahap tinjauan terbuka. Kami ingin umpan balik Anda untuk membuat buku ini lebih baik bagi. Anda dapat memberikan anotasi pada beberapa teks dengan memilihnya menggunakan kursor dan kemudian klik “Beri Anotasi” pada menu pop-up. Anda juga dapat melihat anotasi orang lain: klik tanda panah di sudut kanan atas halaman

12.1 Tahapan Algoritma PFCM

1. Inisialisasi

  • Tentukan parameter:
    • \(k\): jumlah klaster
    • \(a, b\): koefisien untuk keanggotaan fuzzy dan typicality (\(a > 0, b > 0\))
    • \(m\): fuzzifier (\(m \geq 1\), biasanya \(m = 2\))
    • \(\eta\): eksponen typicality (\(\eta \geq 1\), biasanya \(\eta = 2\))
  • Inisialisasi pusat klaster awal \(\vec{v}_j^{(0)}\) untuk \(j = 1, 2, ..., k\).
  • Inisialisasi derajat keanggotaan fuzzy \(u_{ij}^{(0)}\) dan typicality \(t_{ij}^{(0)}\).

2. Hitung Keanggotaan Fuzzy (\(u_{ij}\))

Perbarui derajat keanggotaan fuzzy berdasarkan jarak antara data dan pusat klaster:

\[ u_{ij} = \left[\sum_{l=1}^k \left(\frac{d^2(\vec{x}_i, \vec{v}_j)}{d^2(\vec{x}_i, \vec{v}_l)}\right)^{\frac{1}{m-1}}\right]^{-1} \]

di mana: - \(d^2(\vec{x}_i, \vec{v}_j)\): jarak kuadrat antara data \(\vec{x}_i\) dan pusat klaster \(\vec{v}_j\).

3. Hitung Typicality (\(t_{ij}\))

Perbarui derajat typicality untuk setiap data:

\[ t_{ij} = \left[1 + \left(\frac{b \; d^2(\vec{x}_i, \vec{v}_j)}{\Omega_j}\right)^{\frac{1}{\eta-1}}\right]^{-1} \]

di mana \(\Omega_j\) adalah penalti possibilistik yang dihitung sebagai:

\[ \Omega_j = \frac{\sum_{i=1}^n u_{ij}^m d^2(\vec{x}_i, \vec{v}_j)}{\sum_{i=1}^n u_{ij}^m} \]

4. Perbarui Pusat Klaster (\(\vec{v}_j\))

Hitung pusat klaster baru berdasarkan kombinasi derajat keanggotaan fuzzy dan typicality:

\[ \vec{v}_j = \frac{\sum_{i=1}^n \left(a \; u_{ij}^m + b \; t_{ij}^\eta\right) \vec{x}_i}{\sum_{i=1}^n \left(a \; u_{ij}^m + b \; t_{ij}^\eta\right)} \]

5. Evaluasi Konvergensi

Hitung perubahan antara pusat klaster saat ini dan sebelumnya:

\[ \text{error} = \sum_{j=1}^k \|\vec{v}_j^{(t+1)} - \vec{v}_j^{(t)}\| \]

Jika \(\text{error}\) lebih kecil dari ambang batas (\(\epsilon\)), hentikan iterasi. Jika tidak, kembali ke langkah 2.