129 lines
9.7 KiB
TeX
129 lines
9.7 KiB
TeX
\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.
|
|
|
|
|
|
|