2.2.2
Regresi softmax
Ringkasan
- Regresi softmax menggeneralisasi regresi logistik ke kasus multikelas dengan menghasilkan probabilitas untuk semua kelas secara bersamaan.
- Keluaran berada di rentang \([0, 1]\) dan jumlahnya 1, sehingga mudah dipakai dalam penentuan ambang, aturan berbasis biaya, maupun pipeline lanjutan.
- Pelatihan meminimalkan loss entropi silang, langsung mengoreksi perbedaan antara distribusi yang diprediksi dan distribusi sebenarnya.
- Di scikit-learn,
LogisticRegression(multi_class="multinomial")menyediakan implementasi regresi softmax dan mendukung regularisasi L1/L2.
Intuisi #
Metode ini dipahami lewat asumsi dasarnya, karakteristik data, dan dampak pengaturan parameter terhadap generalisasi.
Penjelasan Rinci #
Formulasi matematis #
Misalkan terdapat \(K\) kelas, dengan parameter \(\mathbf{w}_k\) dan \(b_k\) untuk kelas \(k\). Maka
$$ P(y = k \mid \mathbf{x}) = \frac{\exp\left(\mathbf{w}_k^\top \mathbf{x} + b_k\right)} {\sum_{j=1}^{K} \exp\left(\mathbf{w}_j^\top \mathbf{x} + b_j\right)}. $$Fungsi objektifnya adalah loss entropi silang
$$ L = - \sum_{i=1}^{n} \sum_{k=1}^{K} \mathbb{1}(y_i = k) \log P(y = k \mid \mathbf{x}_i), $$dengan opsi menambahkan regularisasi untuk menekan overfitting.
Eksperimen dengan Python #
Cuplikan berikut melatih regresi softmax pada data sintetis tiga kelas dan memvisualisasikan wilayah keputusannya. Mengaktifkan parameter multi_class="multinomial" sudah cukup untuk memakai formulasi softmax.
| |

Referensi #
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
- Murphy, K. P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press.