% \subsection{Algoritma Klasifikasi}

% Penelitian ini mengevaluasi lima algoritma pemelajaran mesin klasik untuk melakukan tugas pengklasifikasian terhadap lokalisasi kerusakan. Setiap algoritma memiliki keunggulan dan limitasi masing-masing, dan performa untuk setiap algoritma dijadikan tolok ukur untuk mengidentifikasi manakah algoritma yang paling sesuai untuk setiap \textit{dataset} yang diberikan.

\subsection{Support Vector Machine (SVM)}

\subsubsection{Formulasi Matematis SVM}

Mesin vektor pendukung (SVM) adalah algoritma pemelajaran mesin terarah yang bertujuan menemukan \textit{hyperplane} optimal untuk memisahkan data ke dalam kelas-kelas yang berbeda. Untuk dataset yang dapat dipisahkan secara linear, SVM mencari \textit{hyperplane} yang memaksimalkan margin antara kelas-kelas tersebut.

Diberikan dataset pelatihan $\{(\mathbf{x}_i, y_i)\}_{i=1}^{n}$ dimana $\mathbf{x}_i \in \mathbb{R}^d$ adalah vektor fitur dan $y_i \in \{-1, +1\}$ adalah label kelas, masalah optimasi SVM dapat diformulasikan sebagai:

\begin{align}
\min_{\mathbf{w}, b} &\quad \frac{1}{2} \|\mathbf{w}\|^2 \\
\text{subject to} &\quad y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1, \quad i = 1, 2, \ldots, n
\end{align}

dimana $\mathbf{w}$ adalah vektor bobot dan $b$ adalah bias. Untuk data yang tidak dapat dipisahkan secara linear sempurna, digunakan \textit{soft margin} dengan menambahkan variabel slack $\xi_i$:

\begin{align}
\min_{\mathbf{w}, b, \xi} &\quad \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^{n} \xi_i \\
\text{subject to} &\quad y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0
\end{align}

Parameter $C$ mengontrol trade-off antara maksimalisasi margin dan minimisasi kesalahan klasifikasi.

\subsubsection{Kernel RBF (Radial Basis Function)}

Untuk menangani data non-linear, SVM menggunakan \textit{kernel trick} yang memetakan data ke ruang berdimensi lebih tinggi tanpa komputasi eksplisit. Kernel RBF yang digunakan dalam penelitian ini didefinisikan sebagai:

\begin{equation}
K(\mathbf{x}_i, \mathbf{x}_j) = \exp\left(-\gamma \|\mathbf{x}_i - \mathbf{x}_j\|^2\right)
\end{equation}

dimana $\gamma > 0$ adalah parameter yang mengontrol \textit{bandwidth} kernel. Parameter ini memengaruhi kompleksitas model: nilai $\gamma$ yang kecil menghasilkan batas keputusan yang halus (model sederhana), sementara nilai besar menghasilkan batas yang lebih kompleks namun rentan terhadap \textit{overfitting}.

Fungsi keputusan SVM dengan kernel RBF menjadi:
\begin{equation}
f(\mathbf{x}) = \text{sign}\left(\sum_{i=1}^{n} \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b\right)
\end{equation}

dimana $\alpha_i$ adalah pengali Lagrange yang diperoleh dari optimasi dual.

\subsubsection{Optimasi Hyperparameter}

Performa SVM sangat bergantung pada pemilihan parameter $C$ dan $\gamma$ yang optimal. Penelitian ini menggunakan strategi pencarian grid dua tahap:

\begin{enumerate}
    \item \textbf{Coarse Grid Search}: Pencarian kasar pada rentang parameter yang luas dengan langkah eksponensial untuk mengidentifikasi region optimal.
    \item \textbf{Fine Grid Search}: Pencarian halus di sekitar region optimal yang ditemukan pada tahap pertama dengan resolusi yang lebih tinggi.
\end{enumerate}

Validasi silang stratified k-fold digunakan untuk mengevaluasi setiap kombinasi parameter dan menghindari \textit{overfitting} pada data pelatihan.

\subsection{Principal Component Analysis (PCA)}

\subsubsection{Formulasi Matematis PCA}

PCA adalah teknik reduksi dimensi yang mentransformasi data ke ruang berdimensi lebih rendah sambil mempertahankan varians maksimal. Diberikan matriks data $\mathbf{X} \in \mathbb{R}^{n \times d}$ dengan $n$ sampel dan $d$ fitur, PCA mencari proyeksi linear $\mathbf{Y} = \mathbf{X}\mathbf{W}$ dimana $\mathbf{W} \in \mathbb{R}^{d \times k}$ adalah matriks transformasi dan $k < d$ adalah dimensi target.

Langkah-langkah PCA:
\begin{enumerate}
    \item Sentralisasi data: $\mathbf{X}_{centered} = \mathbf{X} - \boldsymbol{\mu}$
    \item Hitung matriks kovarians: $\mathbf{C} = \frac{1}{n-1}\mathbf{X}_{centered}^T\mathbf{X}_{centered}$
    \item Dekomposisi eigen: $\mathbf{C} = \mathbf{V}\mathbf{\Lambda}\mathbf{V}^T$
    \item Pilih $k$ eigenvector dengan eigenvalue terbesar sebagai komponen utama
\end{enumerate}

\subsubsection{Kriteria Pemilihan Komponen}

Jumlah komponen PCA optimal dipilih berdasarkan:
\begin{itemize}
    \item \textbf{Explained Variance Ratio}: Mempertahankan minimal 95\% varians total
    \item \textbf{Elbow Method}: Mengidentifikasi titik diminishing returns dalam explained variance
    \item \textbf{Cross-validation Performance}: Evaluasi performa klasifikasi pada berbagai jumlah komponen
\end{itemize}

\subsection{Metrik Evaluasi}

\subsubsection{Metrik Klasifikasi}

Evaluasi performa model menggunakan metrik standar:
\begin{itemize}
    \item \textbf{Akurasi}: $\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}$
    \item \textbf{Precision}: $\text{Precision} = \frac{TP}{TP + FP}$  
    \item \textbf{Recall}: $\text{Recall} = \frac{TP}{TP + FN}$
    \item \textbf{F1-Score}: $\text{F1} = 2 \cdot \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$
\end{itemize}

\subsubsection{Metrik Efisiensi}

Penelitian ini memperkenalkan metrik efisiensi yang mempertimbangkan trade-off antara akurasi dan waktu komputasi:
\begin{equation}
\text{Efficiency Score} = \frac{\text{Accuracy}^2}{\text{Training Time (normalized)}}
\end{equation}

Metrik ini memberikan skor tinggi untuk model yang mencapai akurasi tinggi dengan waktu pelatihan minimal.

% \subsubsection{K-Nearest Neighbors (KNN)}

% KNN merupakan sebuah algoritma pemelajaran non-parametrik, berbasis contoh. Algoritma ini mengklasifikasi titik data yang berbasis pada pungutan suara terbanyak dari tetangga terdekat $k$ pada ruang fitur. Meskipun dinilai sederhana, KNN dapat dinilai efektif ketika datanya terdistribusi dengan baik dan batasan-batasan pada kelasnya merata.

% Performa algoritma ini sensitif pada pemilihan $k$ dan jarak metriknya. Untuk data dengan dimensi tinggi seperti fitur STFT, mungkin diperlukan optimalisasi atau penskalaan dimensi.

% \subsubsection{Decision Tree (DT)}

% Decision Tree adalah algoritma pemelajaran terarah (\textit{supervised learning}) berbasis struktur pohon, di mana setiap \textit{node} internal mewakili suatu keputusan berdasarkan atribut tertentu, setiap cabang mewakili hasil dari keputusan tersebut, dan setiap daun (leaf node) mewakili label kelas. Algoritma ini secara rekursif membagi data ke dalam subset berdasarkan fitur yang memberikan informasi paling tinggi, seperti diukur dengan Gini index atau entropi (information gain).

% Kelebihan dari Decision Tree adalah interpretabilitasnya yang tinggi dan kemampuannya menangani data numerik maupun kategorikal. Namun, pohon keputusan rentan terhadap \textit{overfitting}, terutama jika kedalaman pohon tidak dikontrol.

% \subsubsection{Random Forest (RF)}

% Random Forest adalah metode ensemble yang terdiri dari banyak Decision Tree yang dilatih pada subset data dan subset fitur yang diacak. Setiap pohon dalam hutan memberikan prediksi, dan hasil akhir ditentukan melalui agregasi (misalnya, voting mayoritas untuk klasifikasi).

% Dengan menggabungkan banyak pohon, Random Forest mengurangi varian model dan meningkatkan generalisasi. Teknik ini efektif untuk dataset yang kompleks dan sangat cocok untuk menghindari \textit{overfitting} yang umum terjadi pada satu pohon keputusan tunggal.

% \subsubsection{Bagged Trees (BT)}

% \textit{Bagged Trees} atau \textit{Bootstrap Aggregated Trees} adalah pendekatan \textit{ensemble} yang mirip dengan Random Forest, namun perbedaannya terletak pada pemilihan fitur. Dalam \textit{Bagged Trees}, pohon-pohon dibangun dari sampel acak \textit{bootstrap} dari dataset pelatihan, tetapi tanpa pengacakan subset fitur seperti pada Random Forest.

% \subsubsection{XGBoost (Extreme Gradient Boosting)}

% XGBoost adalah algoritma pemelajaran mesin berbasis \textit{gradient boosting} yang dirancang untuk efisiensi dan performa tinggi. Algoritma ini bekerja dengan membangun model secara bertahap, di mana setiap pohon selanjutnya mencoba memperbaiki kesalahan dari pohon sebelumnya dengan mengoptimasi fungsi kerugian (\textit{loss function}) menggunakan metode gradien.

% XGBoost menggabungkan beberapa teknik seperti regularisasi $L1$ dan $L2$, pemangkasan pohon (\textit{pruning}), dan pemrosesan paralel, sehingga menghindari terjadinya \textit{overfitting} dan unggul dalam akurasi prediksi dibanding metode pohon lainnya. Algoritma ini sangat populer dalam kompetisi data karena kemampuannya menangani data besar, fitur multivariat, dan klasifikasi multi-kelas secara efisien.

% \subsubsection{Linear Discriminant Analysis (LDA)}

% Linear Discriminant Analysis (LDA) adalah teknik klasifikasi dan reduksi dimensi yang mengasumsikan bahwa data berasal dari distribusi normal multivariat dan memiliki kovarians yang seragam untuk setiap kelas. LDA bertujuan untuk memproyeksikan data ke ruang berdimensi lebih rendah yang memaksimalkan pemisahan antar kelas (rasio varians antar kelas terhadap varians dalam kelas).

% LDA sangat cocok ketika distribusi data mendekati normal dan jumlah fitur tidak terlalu besar dibanding jumlah sampel. Selain sebagai klasifikator, LDA juga sering digunakan sebagai teknik prapemrosesan untuk ekstraksi fitur sebelum digunakan dalam algoritma lain.

% \bigskip