\chapter{Metode Penelitian}
\section{Benda Uji}
\input{chapters/id/03_methodology/materials}

\section{Alat}
\input{chapters/id/03_methodology/tools}

\clearpage

\section{Tahapan Penelitian}
\input{chapters/id/03_methodology/steps/index}

\section{Akuisisi Data}
\input{chapters/id/03_methodology/steps/data_acquisition}

\section{Ekstraksi Fitur}
\input{chapters/id/03_methodology/steps/feature_extraction}

\section{Analisis Data}
Sebelum pelatihan model dan optimasi \textit{hyperparameter}, dilakukan analisis eksplorasi pada data untuk memahami karakteristik dan struktur fitur-fitur yang telah diproses. Pada langkah ini, reduksi dimensi dengan \gls{pca} digunakan untuk mengevaluasi seberapa besar varian yang dapat dijelaskan oleh setiap komponen utama menggunakan diagram \textit{scree}. Kemudian visualisasi data dilakukan dengan teknik reduksi dimensi non-linear \gls{tsne} \parencite{JMLR:v9:vandermaaten08a} dan \gls{pacmap} \parencite{JMLR:v22:20-1061} untuk mengamati ruang fitur (ruang berdimensi tinggi) pada ruang dua dimensi.

Visualisasi non-linear ini bertujuan untuk menilai seberapa baik fitur-fitur getaran yang diekstraksi dapat merepresentasikan kondisi struktur yang berbeda dan mengidentifikasi rentang parameter yang sesuai untuk optimasi model selanjutnya. Pemahaman ini penting dalam merancang strategi pencarian \textit{grid} yang efisien, sehingga dapat menyeimbangkan kompleksitas model dengan interpretabilitas, terutama dalam menentukan jumlah komponen utama \gls{pca} yang optimal untuk dipertahankan dalam pipeline klasifikasi.

\section{Pengembangan Model}
Model klasifikasi \gls{svm} dengan kernel \gls{rbf} digunakan untuk mengklasifikasikan lokasi kerusakan struktur. Model ini dipilih karena kemampuannya dalam menangani data non-linear dan efektivitasnya dalam berbagai aplikasi klasifikasi dengan bantuan kernel \gls{rbf} yang memungkinkan pemetaan data ke ruang fitur berdimensi lebih tinggi, sehingga memudahkan pemisahan kelas yang kompleks.

\section{Optimasi Hyperparameter}
Model \gls{svm} memiliki beberapa \textit{hyperparameter} penting yang perlu dioptimalkan untuk mencapai kinerja terbaik, yaitu parameter regulasi $C$ dan parameter kernel $\gamma$. Parameter $C$ mengontrol keseimbangan antara memaksimalkan margin dan meminimalkan kesalahan klasifikasi pada data pelatihan, sedangkan parameter $\gamma$ menentukan jangkauan pengaruh dari setiap titik pelatihan, dengan nilai kecil menghasilkan pengaruh yang luas dan nilai besar menghasilkan pengaruh yang sempit.

Dalam penelitian ini, optimasi \textit{hyperparameter} dilakukan melalui pencarian \textit{grid} dengan dua tahap: \textit{coarse grid-search} dan \textit{fine grid-search}. Nilai $C$ dan $\gamma$ yang digunakan mengikuti rentang logaritma basis 2 yang direkomendasikan oleh \textcite{Hsu2009APG, CC01a} dan diadopsi oleh beberapa penelitian populer sebelumnya \textcite{hsu2002, JMLR:v18:16-174} dengan penyesuaian interval untuk mengurangi komputasi yang dibutuhkan yang semula $C \in \{ 2^{-5}, 2^{-3}, \dots, 2^{15} \}$ dan $\gamma \in \{ 2^{-15}, 2^{-13}, \dots, 2^{3} \}$ menjadi $C \in \{ 2^{-5}, 2^{0}, 2^{5}, 2^{10}, 2^{15} \}$ dan $\gamma \in \{ 2^{-15}, 2^{-10}, 2^{-5}, 2^{0}, 2^{5} \}$.

% Before using another Machine Learning algorithm, it's beneficial to apply a dimensionality reduction technique to your training data. This can lead to faster processing, reduced storage requirements, and potentially improved performance.

Reduksi dimensi ditambahkan sebagai parameter ketiga dalam pencarian \textit{grid} untuk menentukan jumlah komponen utama \gls{pca} guna mengoptimasi waktu komputasi, performa \textit{inference}, kompleksitas model, dan ukuran model \parencite{geron2019}. Nilai-nilai komponen yang diuji adalah $n_{components} \in \{512, 256, 128, 64, 32, 16, 8, 4, 2\}$.  Rentang nilai tetap ini dipilih dibandingkan rentang \textit{fractional threshold} $(0 < x < 1)$ variansi kumulatif untuk memastikan konsistensi, meningkatkan reprodusibilitas, dan memudahkan interpretasi jumlah komponen utama yang dipilih di setiap iterasi pencarian \textit{grid}.

Kemudian, \textit{cross-validation} dengan skema \textit{stratified k-fold} digunakan untuk menilai kinerja model pada setiap kombinasi \textit{hyperparameter}. Skema ini memastikan bahwa setiap lipatan memiliki proporsi kelas yang seimbang, sehingga mengurangi bias dalam penilaian model \parencite{Kohavi1995ASO}. Nilai $k$ yang digunakan pada penelitian ini adalah 5 yang berarti data pelatihan dibagi menjadi 5 bagian: 4 bagian digunakan untuk pelatihan dan 1 bagian untuk validasi secara bergantian. Nilai ini dianggap sudah cukup untuk memastikan validitas hasil melihat jumlah sampel yang digunakan \parencite{JMLR:v18:16-174}. Proses ini diulang untuk seluruh kombinasi \textit{hyperparameter} yang berjumlah 200 kombinasi pada tahap \textit{coarse grid-search}, sehingga total pelatihan model yang dilakukan adalah 1000 kali.
% table showing the grid search parameters
Tabel \ref{tab:grid_search_parameters} merangkum parameter-parameter yang digunakan dalam pencarian \textit{grid} tahap pertama (\textit{coarse grid-search}).
\begin{table}[H]
    \centering
    \caption{Parameter-parameter dalam pencarian \textit{grid} tahap pertama (\textit{coarse grid-search}) untuk optimasi \textit{hyperparameter} model \gls{svm}.}
    \label{tab:grid_search_parameters}
    \begin{tabular}{lll}
        \toprule
        Parameter & Nilai yang Diuji & Jumlah Nilai \\
        \midrule
        % kernel
        kernel & \gls{rbf} & 1 \\
        % regularization parameter
        $C$ & $\left\{ 2^{\,x} \,\middle|\, x \in \{-5, 0, 5, 10, 15\} \right\}$ & 5 \\
        $\gamma$ & $\left\{ 2^{\,x} \,\middle|\, x \in \{-15, -10, -5, 0, 5\} \right\}$ & 5 \\
        $n_{components}$ & $\{512, 256, 128, 64, 32, 16, 8, 4\}$ & 8 \\
        \midrule
        Total Kombinasi & & 200 \\
        \bottomrule
    \end{tabular}
\end{table}

% \section{Strategi Pembagian Data}
% Dataset yang telah diekstraksi fitur dan diberi label kemudian dibagi menjadi dua bagian untuk menilai kemampuan generalisasi model:
% \begin{enumerate}
%     \item \textbf{Dataset A}: Digunakan untuk pelatihan model dan validasi silang selama optimasi \textit{hyperparameter}
%     \item \textbf{Dataset B}: Disimpan sebagai data uji independen untuk evaluasi akhir model yang telah dioptimalkan
% \end{enumerate}

% Pembagian ini dilakukan secara \textit{stratified} untuk memastikan proporsi setiap kelas kerusakan ($d_0$ hingga $d_6$) terjaga pada kedua dataset. Pendekatan ini memungkinkan evaluasi yang lebih objektif terhadap kemampuan model dalam mengklasifikasikan kondisi struktur yang belum pernah dilihat sebelumnya.

\section{Strategi Optimasi \textit{Hyperparameter} Dua Tahap}
Untuk meningkatkan efisiensi pencarian parameter optimal, optimasi dilakukan dalam dua tahap:

\subsection{\textit{Coarse Grid-Search}}
Tahap pertama menggunakan rentang parameter yang luas dengan interval yang lebih besar untuk mengidentifikasi wilayah parameter yang menjanjikan. Parameter yang dioptimalkan telah dijelaskan pada Tabel~\ref{tab:grid_search_parameters}.

\subsection{\textit{Fine Grid-Search}}
Berdasarkan hasil \textit{coarse grid-search}, dilakukan pencarian lebih detail di sekitar parameter terbaik dengan interval yang lebih kecil. Rentang parameter pada tahap ini disesuaikan dengan:
\begin{itemize}
    \item Nilai $C$ dan $\gamma$ terbaik dari tahap pertama menjadi pusat pencarian
    \item Interval dikurangi menjadi 0.5 dalam skala logaritma basis 2
    \item Jumlah komponen PCA tetap menggunakan nilai optimal dari tahap pertama
\end{itemize}

\section{Metrik Evaluasi}
\subsection{Metrik Klasifikasi Standar}
Kinerja model dievaluasi menggunakan beberapa metrik standar:
\begin{enumerate}
    \item \textbf{Akurasi}: Proporsi prediksi yang benar dari total prediksi
    \item \textbf{Precision}: Proporsi prediksi positif yang benar untuk setiap kelas
    \item \textbf{Recall}: Proporsi sampel positif yang berhasil diidentifikasi untuk setiap kelas  
    \item \textbf{F1-score}: Rata-rata harmonik antara precision dan recall
    \item \textbf{Confusion Matrix}: Matriks yang menunjukkan distribusi prediksi vs label sebenarnya
\end{enumerate}

\subsection{Metrik Efisiensi}
Untuk menilai trade-off antara akurasi dan kompleksitas komputasi, didefinisikan metrik efisiensi:
\begin{equation}
E_i = \frac{S_i}{T_i},
\end{equation}
dengan:
\begin{itemize}
    \item $S_i$ = rata-rata skor akurasi hasil 5-\textit{fold cross-validation})
    \item $T_i$ = rata-rata waktu pelatihan per iterasi (dalam detik)
\end{itemize}

Metrik ini memungkinkan identifikasi konfigurasi model yang memberikan keseimbangan optimal antara performa dan efisiensi komputasi.

\section{Pemilihan Model \textit{Baseline}}
Dari hasil \textit{coarse grid-search}, dipilih konfigurasi model \textit{baseline} berdasarkan kriteria gabungan:
\begin{enumerate}
    \item Akurasi validasi silang yang tinggi
    \item Metrik efisiensi ($E_i$) yang optimal 
    \item Waktu pelatihan yang reasonable untuk implementasi praktis
\end{enumerate}

Model \textit{baseline} ini kemudian dievaluasi pada data uji independen untuk mengukur performa awal sebelum optimasi lanjutan melalui \textit{fine grid-search}.

\section{Proses \textit{Inference} dan Visualisasi}
Setelah model dilatih dan dioptimalkan, dilakukan proses \textit{inference} pada data uji untuk:
\begin{enumerate}
    \item Menghasilkan prediksi probabilitas untuk setiap kelas kerusakan
    \item Memvisualisasikan distribusi probabilitas dalam bentuk \textit{heatmap} struktur
    \item Menganalisis pola kesalahan klasifikasi melalui \textit{confusion matrix}
    \item Menilai kemampuan deteksi kerusakan pada lokasi spesifik
\end{enumerate}

Visualisasi \textit{heatmap} dilakukan dengan memetakan probabilitas prediksi kembali ke struktur grid asli, sehingga memberikan interpretasi spasial terhadap hasil klasifikasi.



