\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.