Files
thesis/latex/chapters/id/03_methodology/index.tex

130 lines
9.7 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\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. 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^{\alpha}},
\end{equation}
dengan:
\begin{itemize}
\item $S_i$ = rata-rata skor akurasi hasil 5-\textit{fold cross-validation} (01)
\item $T_i$ = rata-rata waktu pelatihan per iterasi (dalam detik)
\item $\alpha$ = eksponen pembobot waktu (ditetapkan = 1)
\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.