WIP: checkpoint methodology
This commit is contained in:
@@ -14,6 +14,113 @@
|
|||||||
file = {C:\Users\damar\Zotero\storage\5WG6DL7B\Abdeljaber et al. - 2017 - Real-time vibration-based structural damage detect.pdf}
|
file = {C:\Users\damar\Zotero\storage\5WG6DL7B\Abdeljaber et al. - 2017 - Real-time vibration-based structural damage detect.pdf}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@book{geron2019,
|
||||||
|
title = {Hands-on Machine Learning with {{Scikit-Learn}}, {{Keras}}, and {{TensorFlow}}: Concepts, Tools, and Techniques to Build Intelligent Systems},
|
||||||
|
shorttitle = {Hands-on Machine Learning with {{Scikit-Learn}}, {{Keras}}, and {{TensorFlow}}},
|
||||||
|
author = {Géron, Aurélien},
|
||||||
|
date = {2019},
|
||||||
|
edition = {Second edition},
|
||||||
|
publisher = {O'Reilly},
|
||||||
|
location = {Beijing Boston Farnham Sebastopol Tokyo},
|
||||||
|
abstract = {Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how. By using concrete examples, minimal theory, and two production-ready Python frameworks--Scikit-Learn and TensorFlow--author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You'll learn a range of techniques, starting with simple linear regression and progressing to deep neural networks. With exercises in each chapter to help you apply what you've learned, all you need is programming experience to get started. Explore the machine learning landscape, particularly neural nets Use Scikit-Learn to track an example machine-learning project end-to-end Explore several training models, including support vector machines, decision trees, random forests, and ensemble methods Use the TensorFlow library to build and train neural nets Dive into neural net architectures, including convolutional nets, recurrent nets, and deep reinforcement learning Learn techniques for training and scaling deep neural nets},
|
||||||
|
isbn = {978-1-4920-3264-9 978-1-4920-3261-8},
|
||||||
|
langid = {english},
|
||||||
|
pagetotal = {1}
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{Kohavi1995ASO,
|
||||||
|
title={A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection},
|
||||||
|
author={Ron Kohavi},
|
||||||
|
booktitle={International Joint Conference on Artificial Intelligence},
|
||||||
|
year={1995},
|
||||||
|
url={https://api.semanticscholar.org/CorpusID:2702042}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{JMLR:v9:vandermaaten08a,
|
||||||
|
author = {Laurens van der Maaten and Geoffrey Hinton},
|
||||||
|
title = {Visualizing Data using t-SNE},
|
||||||
|
journal = {Journal of Machine Learning Research},
|
||||||
|
year = {2008},
|
||||||
|
volume = {9},
|
||||||
|
number = {86},
|
||||||
|
pages = {2579--2605},
|
||||||
|
url = {http://jmlr.org/papers/v9/vandermaaten08a.html}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{JMLR:v22:20-1061,
|
||||||
|
author = {Yingfan Wang and Haiyang Huang and Cynthia Rudin and Yaron Shaposhnik},
|
||||||
|
title = {Understanding How Dimension Reduction Tools Work: An Empirical Approach to Deciphering t-SNE, UMAP, TriMap, and PaCMAP for Data Visualization},
|
||||||
|
journal = {Journal of Machine Learning Research},
|
||||||
|
year = {2021},
|
||||||
|
volume = {22},
|
||||||
|
number = {201},
|
||||||
|
pages = {1-73},
|
||||||
|
url = {http://jmlr.org/papers/v22/20-1061.html}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{CC01a,
|
||||||
|
author = {Chang, Chih-Chung and Lin, Chih-Jen},
|
||||||
|
title = {{LIBSVM}: A library for support vector machines},
|
||||||
|
journal = {ACM Transactions on Intelligent Systems and Technology},
|
||||||
|
volume = {2},
|
||||||
|
issue = {3},
|
||||||
|
year = {2011},
|
||||||
|
pages = {27:1--27:27},
|
||||||
|
note = {Software available at \url{http://www.csie.ntu.edu.tw/~cjlin/libsvm}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@inproceedings{Hsu2009APG,
|
||||||
|
title={A Practical Guide to Support Vector Classification},
|
||||||
|
author={Chih-Wei Hsu and Chih-Chung Chang and Chih-Jen Lin},
|
||||||
|
year={2009},
|
||||||
|
url={https://api.semanticscholar.org/CorpusID:267925897}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{hsu2002,
|
||||||
|
title = {A Comparison of Methods for Multiclass Support Vector Machines},
|
||||||
|
author = {Hsu, Chih-Wei and Lin, Chih-Jen},
|
||||||
|
date = {2002},
|
||||||
|
journaltitle = {IEEE transactions on neural networks},
|
||||||
|
shortjournal = {IEEE Trans Neural Netw},
|
||||||
|
volume = {13},
|
||||||
|
number = {2},
|
||||||
|
eprint = {18244442},
|
||||||
|
eprinttype = {pmid},
|
||||||
|
pages = {415--425},
|
||||||
|
issn = {1045-9227},
|
||||||
|
doi = {10.1109/72.991427},
|
||||||
|
abstract = {Support vector machines (SVMs) were originally designed for binary classification. How to effectively extend it for multiclass classification is still an ongoing research issue. Several methods have been proposed where typically we construct a multiclass classifier by combining several binary classifiers. Some authors also proposed methods that consider all classes at once. As it is computationally more expensive to solve multiclass problems, comparisons of these methods using large-scale problems have not been seriously conducted. Especially for methods solving multiclass SVM in one step, a much larger optimization problem is required so up to now experiments are limited to small data sets. In this paper we give decomposition implementations for two such "all-together" methods. We then compare their performance with three methods based on binary classifications: "one-against-all," "one-against-one," and directed acyclic graph SVM (DAGSVM). Our experiments indicate that the "one-against-one" and DAG methods are more suitable for practical use than the other methods. Results also show that for large problems methods by considering all data at once in general need fewer support vectors.},
|
||||||
|
langid = {english}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{JMLR:v18:16-174,
|
||||||
|
title = {Empirical Evaluation of Resampling Procedures for Optimising {{SVM}} Hyperparameters},
|
||||||
|
author = {Wainer, Jacques and Cawley, Gavin},
|
||||||
|
date = {2017},
|
||||||
|
journaltitle = {Journal of Machine Learning Research},
|
||||||
|
volume = {18},
|
||||||
|
number = {15},
|
||||||
|
pages = {1--35},
|
||||||
|
url = {http://jmlr.org/papers/v18/16-174.html}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@article{diao2023,
|
||||||
|
title = {Structural Damage Identification Based on Variational Mode Decomposition–{{Hilbert}} Transform and {{CNN}}},
|
||||||
|
author = {Diao, Yansong and Lv, Jianda and Wang, Qiuxiao and Li, Xingjian and Xu, Jing},
|
||||||
|
date = {2023-10},
|
||||||
|
journaltitle = {Journal of Civil Structural Health Monitoring},
|
||||||
|
shortjournal = {J Civil Struct Health Monit},
|
||||||
|
volume = {13},
|
||||||
|
number = {6--7},
|
||||||
|
pages = {1415--1429},
|
||||||
|
issn = {2190-5452, 2190-5479},
|
||||||
|
doi = {10.1007/s13349-023-00715-3},
|
||||||
|
url = {https://link.springer.com/10.1007/s13349-023-00715-3},
|
||||||
|
urldate = {2025-05-19},
|
||||||
|
langid = {english},
|
||||||
|
}
|
||||||
|
|
||||||
@article{zhao2019,
|
@article{zhao2019,
|
||||||
title = {Bolt Loosening Angle Detection Technology Using Deep Learning},
|
title = {Bolt Loosening Angle Detection Technology Using Deep Learning},
|
||||||
author = {Zhao, Xuefeng and Zhang, Yang and Wang, Niannian},
|
author = {Zhao, Xuefeng and Zhang, Yang and Wang, Niannian},
|
||||||
|
|||||||
@@ -14,10 +14,12 @@
|
|||||||
\input{chapters/id/03_methodology/steps/data_acquisition}
|
\input{chapters/id/03_methodology/steps/data_acquisition}
|
||||||
|
|
||||||
\section{Ekstraksi Fitur}
|
\section{Ekstraksi Fitur}
|
||||||
% \input{chapters/id/03_methodology/steps/feature_extraction}
|
\input{chapters/id/03_methodology/steps/feature_extraction}
|
||||||
|
|
||||||
\section{Analisis Data}
|
\section{Analisis Data}
|
||||||
\input{chapters/id/03_methodology/data_analysis}
|
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}
|
\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.
|
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.
|
||||||
@@ -53,6 +55,8 @@ Tabel \ref{tab:grid_search_parameters} merangkum parameter-parameter yang diguna
|
|||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\section{Evaluasi Model}
|
\section{Evaluasi Model}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,15 @@
|
|||||||
Dataset yang digunakan dalam penelitian ini bersumber dari basis data getaran yang dipublikasi oleh \textcite{abdeljaber2017}. Dataset tersebut dapat diakses dan diunduh melalui tautan DOI berikut:
|
Dataset yang digunakan dalam penelitian ini bersumber dari basis data getaran yang dipublikasi oleh \textcite{abdeljaber2017}.
|
||||||
\url{https://doi.org/10.17632/52rmx5bjcr.1}
|
|
||||||
|
|
||||||
Dataset terdiri dari dua folder:
|
Dataset terdiri dari dua folder:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{Dataset A/} – digunakan untuk pelatihan (training)
|
\item \texttt{Dataset A} – digunakan untuk pelatihan (training)
|
||||||
\item \texttt{Dataset B/} – digunakan untuk pengujian (testing)
|
\item \texttt{Dataset B} – digunakan untuk pengujian (testing)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Setiap folder berisi 31 berkas dalam format \texttt{.TXT}, yang dinamai sesuai dengan kondisi kerusakan struktur. Pola penamaan berkas adalah sebagai berikut:
|
Setiap dataset berisi 31 berkas yang merepresentasikan 31 kasus:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{zzzAU.TXT}, \texttt{zzzBU.TXT} — struktur tanpa kerusakan (sehat)
|
\item Berkas pertama: struktur tanpa kerusakan ($\mathbf{U}$)
|
||||||
\item \texttt{zzzAD1.TXT}, \texttt{zzzAD2.TXT}, ..., \texttt{zzzAD30.TXT} — Dataset A, kerusakan pada sambungan 1–30
|
\item Berkas kedua hingga ke-31: kerusakan pada sambungan 1–30 ($\mathbf{D}^{(n)} , n = 1, \dots, 30$)
|
||||||
\item \texttt{zzzBD1.TXT}, \texttt{zzzBD2.TXT}, ..., \texttt{zzzBD30.TXT} — Dataset B, kerusakan pada sambungan 1–30
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Sepuluh baris pertama dari setiap berkas berisi metadata yang menjelaskan konfigurasi pengujian, laju sampling, dan informasi kanal. Oleh karena itu, data deret waktu percepatan dimulai dari baris ke-11 yang berisi 31 kolom:
|
Sepuluh baris pertama dari setiap berkas berisi metadata yang menjelaskan konfigurasi pengujian, laju sampling, dan informasi kanal. Oleh karena itu, data deret waktu percepatan dimulai dari baris ke-11 yang berisi 31 kolom:
|
||||||
@@ -28,11 +25,11 @@ Setiap sinyal di-\textit{sampling} pada frekuensi $f_s = 1024$ Hz dan direkam se
|
|||||||
&= 262144 \quad \text{sampel per kanal} \label{eq:sample}
|
&= 262144 \quad \text{sampel per kanal} \label{eq:sample}
|
||||||
\end{align}
|
\end{align}
|
||||||
|
|
||||||
Dengan demikian, setiap berkas \verb|zzzAD|$n$\verb|.TXT| dapat direpresentasikan sebagai matriks:
|
Dengan demikian, setiap berkas dapat direpresentasikan sebagai matriks:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}, \quad n = 1, \dots, 30
|
\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}, \quad n = 1, \dots, 30
|
||||||
\end{equation}
|
\end{equation}
|
||||||
di mana $n$ mengacu pada indeks kasus (1–30 = kerusakan pada \textit{joint} ke-$n$), dan berkas tanpa kerusakan pada seluruh \textit{joint}, \verb|zzzAU|\verb|.TXT|, direpresentasikan dengan matriks:
|
di mana $n$ mengacu pada indeks kasus (1–30 = kerusakan pada \textit{joint} ke-$n$) berisi rekaman getaran untuk seluruh tiga puluh \textit{joint}, dan berkas tanpa kerusakan (\textit{undamaged}) pada seluruh \textit{joint} direpresentasikan dengan matriks:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\mathbf{U} \in \mathbb{R}^{262144 \times 30}
|
\mathbf{U} \in \mathbb{R}^{262144 \times 30}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
@@ -52,3 +49,16 @@ Kemudian \textit{dataset} A dapat direpresentasikan sebagai matriks:
|
|||||||
n = 1, \dots, 30
|
n = 1, \dots, 30
|
||||||
\Bigr\}.
|
\Bigr\}.
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
\begin{equation}
|
||||||
|
\gls{not:dataset_B}
|
||||||
|
=
|
||||||
|
\Bigl\{
|
||||||
|
\mathbf{U} \in \mathbb{R}^{262144 \times 30}
|
||||||
|
\Bigr\}
|
||||||
|
\;\cup\;
|
||||||
|
\Bigl\{
|
||||||
|
\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}
|
||||||
|
\;\bigm|\;
|
||||||
|
n = 1, \dots, 30
|
||||||
|
\Bigr\}.
|
||||||
|
\end{equation}
|
||||||
|
|||||||
402
latex/chapters/id/03_methodology/steps/feature_extraction.tex
Normal file
402
latex/chapters/id/03_methodology/steps/feature_extraction.tex
Normal file
@@ -0,0 +1,402 @@
|
|||||||
|
Sebelum melakukan ekstraksi fitur menggunakan \gls{stft}, persiapan data dilakukan agar tujuan penelitian dapat tercapai.
|
||||||
|
|
||||||
|
\subsection{Grid, Kode \textit{Joint}, dan Nama File}
|
||||||
|
|
||||||
|
Setiap berkas pada \textit{dataset} merekam respons getaran dari seluruh tiga puluh \textit{joint} yang dipasangi sensor akselerometer.
|
||||||
|
Berkas tanpa kerusakan direpresentasikan dengan matriks $\mathbf{U} \in \mathbb{R}^{262144 \times 30}$, sedangkan berkas dengan kerusakan pada \textit{joint} ke-$n$ dinotasikan sebagai $\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}$ untuk $n = 1, \dots, 30$.
|
||||||
|
|
||||||
|
Setiap kolom pada matriks $\mathbf{U}$ maupun $\mathbf{D}^{(n)}$ merepresentasikan sinyal percepatan dari satu sensor (satu \textit{joint}), sehingga kolom ke-$j$ dapat ditulis sebagai vektor:
|
||||||
|
\begin{equation}
|
||||||
|
\mathbf{a}_{j}^{(n)} =
|
||||||
|
\begin{bmatrix}
|
||||||
|
a_{1}^{(n,j)} \\[2pt]
|
||||||
|
a_{2}^{(n,j)} \\[2pt]
|
||||||
|
\vdots \\[2pt]
|
||||||
|
a_{262144}^{(n,j)}
|
||||||
|
\end{bmatrix}
|
||||||
|
\in \mathbb{R}^{262144},
|
||||||
|
\quad
|
||||||
|
j = 1, \dots, 30,
|
||||||
|
\quad
|
||||||
|
n = 0, \dots, 30.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Vektor $\mathbf{a}_{j}^{(n)}$ menunjukkan deret waktu percepatan yang diukur oleh sensor pada \textit{joint} ke-$j$ untuk kasus ke-$n$.
|
||||||
|
Dengan demikian, satu berkas $\mathbf{D}^{(n)}$ dapat ditulis sebagai himpunan dari seluruh vektor kolomnya:
|
||||||
|
\begin{equation}
|
||||||
|
\mathbf{D}^{(n)} = \bigl\{\,\mathbf{a}_{1}^{(n)}, \mathbf{a}_{2}^{(n)}, \dots, \mathbf{a}_{30}^{(n)}\,\bigr\}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Untuk kasus tanpa kerusakan, $\mathbf{U}$ dapat dinotasikan secara serupa dengan $n=0$ secara tunggal:
|
||||||
|
\begin{equation}
|
||||||
|
\mathbf{U} = \bigl\{\,\mathbf{a}_{1}^{(0)}, \mathbf{a}_{2}^{(0)}, \dots, \mathbf{a}_{30}^{(0)}\,\bigr\}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Pada setiap kasus kerusakan, \textit{joint} yang rusak berkorespondensi langsung dengan indeks berkas, yaitu:
|
||||||
|
\begin{equation}
|
||||||
|
\text{Kerusakan pada } \mathbf{D}^{(n)} \text{ terjadi di } \mathbf{a}_{n}^{(n)},
|
||||||
|
\quad n = 1, \dots, 30.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
% Secara ringkas, \textit{dataset} dapat dinyatakan sebagai himpunan seluruh sinyal akselerometer:
|
||||||
|
% \begin{equation}
|
||||||
|
% \mathcal{A}
|
||||||
|
% =
|
||||||
|
% \Bigl\{
|
||||||
|
% \mathbf{a}_{j}^{(n)} \in \mathbb{R}^{262144}
|
||||||
|
% \;\bigm|\;
|
||||||
|
% j = 1,\dots,30; \;
|
||||||
|
% n = 0,\dots,30
|
||||||
|
% \Bigr\}.
|
||||||
|
% \end{equation}
|
||||||
|
|
||||||
|
% Hubungan antara \textit{joint} ($j$), indeks berkas ($n$), dan kondisi kerusakan inilah yang menjadi dasar pembentukan \textit{grid} sensor serta penentuan label kelas kerusakan pada bagian selanjutnya (\autoref{sec:pemetaan-sensor}).
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Kelas Kerusakan}
|
||||||
|
\label{sec:kelas-kerusakan}
|
||||||
|
|
||||||
|
Enam kelas pertama ($d_1$–$d_6$) merepresentasikan kondisi struktur dengan kerusakan pada lima \textit{joint} berturut-turut.
|
||||||
|
Setiap kelas $d_i$ berisi lima sinyal percepatan satu dimensi $\mathbf{a}_{n}^{(n)} \in \mathbb{R}^{262144}$,
|
||||||
|
masing-masing berasal dari berkas $\mathbf{D}^{(n)}$ yang merekam kondisi kerusakan pada \textit{joint} ke-$n$.
|
||||||
|
|
||||||
|
Secara umum, setiap kelas $d_i$ ($i = 1, \dots, 6$) terdiri atas lima sinyal percepatan
|
||||||
|
$\mathbf{a}_{n}^{(n)} \in \mathbb{R}^{262144}$ yang diambil dari lima berkas berturut-turut
|
||||||
|
pada rentang indeks $n = 5(i-1)+1$ hingga $5i$:
|
||||||
|
\begin{equation}\label{eq:d_i}
|
||||||
|
d_i = \bigl\{\,\mathbf{a}_{n}^{(n)}\,\bigr\}_{n = 5(i-1)+1}^{5i}\ ,
|
||||||
|
\quad i = 1, \dots, 6.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Masing-masing $\mathbf{a}_{n}^{(n)}$ merupakan vektor berukuran $262144 \times 1$ yang memuat deret waktu percepatan dari
|
||||||
|
sensor akselerometer pada \textit{joint} ke-$n$ di berkas $\mathbf{D}^{(n)}$.
|
||||||
|
|
||||||
|
Sebagai contoh konkret:
|
||||||
|
\begin{align*}
|
||||||
|
d_1 &= \{\mathbf{a}_{1}^{(1)},\,\mathbf{a}_{2}^{(2)},\,\mathbf{a}_{3}^{(3)},\,\mathbf{a}_{4}^{(4)},\,\mathbf{a}_{5}^{(5)}\},\\
|
||||||
|
d_2 &= \{\mathbf{a}_{6}^{(6)},\,\mathbf{a}_{7}^{(7)},\,\mathbf{a}_{8}^{(8)},\,\mathbf{a}_{9}^{(9)},\,\mathbf{a}_{10}^{(10)}\},\\
|
||||||
|
&\;\;\vdots\\
|
||||||
|
d_6 &= \{\mathbf{a}_{26}^{(26)},\,\mathbf{a}_{27}^{(27)},\,\mathbf{a}_{28}^{(28)},\,\mathbf{a}_{29}^{(29)},\,\mathbf{a}_{30}^{(30)}\}.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
|
Dengan demikian, setiap kelas $d_i$ ($i \geq 1$) beranggotakan lima sinyal percepatan dari lima \textit{joint} yang berbeda,
|
||||||
|
masing-masing mencerminkan satu skenario kerusakan pada posisi yang berurutan di sepanjang struktur.
|
||||||
|
|
||||||
|
\subsection{Simulasi dengan Desain Sensor Terbatas}
|
||||||
|
|
||||||
|
Setiap posisi kolom pada struktur dipasangi dua sensor akselerometer,
|
||||||
|
yaitu satu di bagian atas dan satu di bagian bawah.
|
||||||
|
Hubungan antara indeks sensor atas dan bawah ditentukan berdasarkan
|
||||||
|
indeks \textit{joint} $n$ menggunakan operasi \textit{modulo} sebagai berikut:
|
||||||
|
\begin{equation}
|
||||||
|
r = ((n - 1) \bmod 5) + 1.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Nilai $r$ menentukan posisi kolom (1–5), sehingga pasangan sensor
|
||||||
|
atas–bawah dapat direpresentasikan dengan:
|
||||||
|
\begin{equation}
|
||||||
|
\bigl(
|
||||||
|
\mathbf{a}_{r}^{(n)},\;
|
||||||
|
\mathbf{a}_{r+25}^{(n)}
|
||||||
|
\bigr),
|
||||||
|
\quad r = ((n - 1) \bmod 5) + 1.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Sebagai contoh, untuk $n=1$ hingga $5$ diperoleh pasangan
|
||||||
|
$(\mathbf{a}_{1}^{(1)}, \mathbf{a}_{26}^{(1)}), \dots, (\mathbf{a}_{5}^{(5)}, \mathbf{a}_{30}^{(5)})$;
|
||||||
|
sedangkan untuk $n=6$ hingga $10$ pasangan tersebut berulang
|
||||||
|
$(\mathbf{a}_{1}^{(6)}, \mathbf{a}_{26}^{(6)}), \dots, (\mathbf{a}_{5}^{(10)}, \mathbf{a}_{30}^{(10)})$, dan seterusnya.
|
||||||
|
|
||||||
|
Dengan demikian, definisi~\ref{eq:d_i} dapat dimodifikasi untuk memasukkan
|
||||||
|
hanya pasangan sensor atas–bawah pada setiap kelas $d_i$ menjadi:
|
||||||
|
\begin{equation}
|
||||||
|
d_i =
|
||||||
|
\bigl\{
|
||||||
|
(\mathbf{a}_{r}^{(n)},\, \mathbf{a}_{r+25}^{(n)})
|
||||||
|
\bigr\}^{5i}_{n = 5(i-1)+1}, \quad i = 1, \dots, 6.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Secara eksplisit:
|
||||||
|
\begin{align*}
|
||||||
|
d_1 &= \{(\mathbf{a}_{1}^{(1)}, \mathbf{a}_{26}^{(1)}),\,
|
||||||
|
(\mathbf{a}_{2}^{(2)}, \mathbf{a}_{27}^{(2)}),\,
|
||||||
|
(\mathbf{a}_{3}^{(3)}, \mathbf{a}_{28}^{(3)}),\,
|
||||||
|
(\mathbf{a}_{4}^{(4)}, \mathbf{a}_{29}^{(4)}),\,
|
||||||
|
(\mathbf{a}_{5}^{(5)}, \mathbf{a}_{30}^{(5)})\},\\
|
||||||
|
d_2 &= \{(\mathbf{a}_{1}^{(6)}, \mathbf{a}_{26}^{(6)}),\,
|
||||||
|
(\mathbf{a}_{2}^{(7)}, \mathbf{a}_{27}^{(7)}),\,\dots,\,
|
||||||
|
(\mathbf{a}_{5}^{(10)}, \mathbf{a}_{30}^{(10)})\},\\
|
||||||
|
&\;\;\vdots\\
|
||||||
|
d_6 &= \{(\mathbf{a}_{1}^{(26)}, \mathbf{a}_{26}^{(26)}),\,
|
||||||
|
(\mathbf{a}_{2}^{(27)}, \mathbf{a}_{27}^{(27)}),\,\dots,\,
|
||||||
|
(\mathbf{a}_{5}^{(30)}, \mathbf{a}_{30}^{(30)})\}.
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Konstruksi Kelas Tanpa Kerusakan}
|
||||||
|
\label{sec:konstruksi-d0}
|
||||||
|
|
||||||
|
Untuk membentuk kelas tanpa kerusakan ($d_0$), pada setiap berkas kerusakan $\mathbf{D}^{(n)}$
|
||||||
|
ditentukan indeks kolom yang rusak
|
||||||
|
\begin{equation}
|
||||||
|
r_n = ((n - 1) \bmod 5) + 1, \qquad n=1,\dots,30.
|
||||||
|
\end{equation}
|
||||||
|
Selanjutnya, himpunan indeks kolom komplemen (sehat) didefinisikan sebagai
|
||||||
|
\begin{equation}
|
||||||
|
\mathcal{R}_c(n) = \{1,2,3,4,5\}\setminus\{r_n\}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
|
||||||
|
Empat \textit{pasangan komplemen sehat} pada berkas $\mathbf{D}^{(n)}$ kemudian dibentuk sebagai
|
||||||
|
\begin{equation}
|
||||||
|
\mathcal{C}(n) =
|
||||||
|
\Bigl\{
|
||||||
|
\bigl(\mathbf{a}_{r}^{(n)},\,\mathbf{a}_{r+25}^{(n)}\bigr)
|
||||||
|
\;\Bigm|\;
|
||||||
|
r \in \mathcal{R}_c(n)
|
||||||
|
\Bigr\}, \qquad \left|\mathcal{C}(n)\right| = 4.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
|
||||||
|
Akhirnya, kelas tanpa kerusakan dihimpun dari seluruh berkas kerusakan:
|
||||||
|
\begin{align}
|
||||||
|
d_0 &= \bigcup_{n=1}^{30}\mathcal{C}(n) \\
|
||||||
|
&= \bigcup_{n=1}^{30}
|
||||||
|
\Bigl\{
|
||||||
|
\bigl(
|
||||||
|
\mathbf{a}_{r}^{(n)},\,\mathbf{a}_{r+25}^{(n)}
|
||||||
|
\bigr)
|
||||||
|
\;\Bigm|\;
|
||||||
|
r \in \mathcal{R}_c(n)
|
||||||
|
\Bigr\}. \\
|
||||||
|
&= \bigcup_{n=1}^{30}
|
||||||
|
\Bigl\{
|
||||||
|
\bigl(
|
||||||
|
\mathbf{a}_{r}^{(n)},\,\mathbf{a}_{r+25}^{(n)}
|
||||||
|
\bigr)
|
||||||
|
\;\Bigm|\;
|
||||||
|
r \in \{1,\dots,5\}\setminus\{r_n\}
|
||||||
|
\Bigr\}.
|
||||||
|
\end{align}
|
||||||
|
Setiap elemen $d_0$ merupakan pasangan sinyal satu dimensi berukuran
|
||||||
|
$\mathbb{R}^{262144}\times\mathbb{R}^{262144}$, dan secara keseluruhan
|
||||||
|
$|d_0| = 30 \times 4 = 120$ pasangan.
|
||||||
|
|
||||||
|
Kemudian, selain pasangan komplemen sehat dari seluruh berkas kerusakan,
|
||||||
|
kelas tanpa kerusakan juga mencakup kelima pasangan sensor atas–bawah
|
||||||
|
yang berasal dari berkas \(\mathbf{U}\):
|
||||||
|
\begin{equation}
|
||||||
|
\mathcal{C}_{\mathbf{U}} \;=\;
|
||||||
|
\Bigl\{
|
||||||
|
\bigl(\mathbf{a}_{r}^{(0)},\,\mathbf{a}_{r+25}^{(0)}\bigr)
|
||||||
|
\;\Bigm|\;
|
||||||
|
r \in \{1,2,3,4,5\}
|
||||||
|
\Bigr\}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Dengan demikian, definisi akhir kelas tanpa kerusakan adalah
|
||||||
|
\begin{equation}
|
||||||
|
d_0
|
||||||
|
\;=\;
|
||||||
|
\Bigl(\,\bigcup_{n=1}^{30}\mathcal{C}(n)\Bigr)
|
||||||
|
\;\cup\;
|
||||||
|
\mathcal{C}_{\mathbf{U}}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Karena setiap \(\mathcal{C}(n)\) berisi empat pasangan (kolom komplemen
|
||||||
|
terhadap kolom rusak pada berkas \(\mathbf{D}^{(n)}\)) dan
|
||||||
|
\(\mathcal{C}_{\mathbf{U}}\) berisi lima pasangan dari \(\mathbf{U}\),
|
||||||
|
maka kardinalitasnya adalah
|
||||||
|
\begin{equation}
|
||||||
|
\bigl|d_0\bigr|
|
||||||
|
\;=\;
|
||||||
|
\underbrace{30 \times 4}_{\text{komplemen dari } \mathbf{D}^{(n)}}
|
||||||
|
\;+\;
|
||||||
|
\underbrace{5}_{\text{pasangan dari } \mathbf{U}}
|
||||||
|
\;=\; 125.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\subsection{Ekstraksi Fitur dengan STFT}
|
||||||
|
\label{sec:stft-feature}
|
||||||
|
|
||||||
|
Setiap elemen pada himpunan $d_i$ ($i=0,\dots,6$) direpresentasikan sebagai pasangan sinyal percepatan
|
||||||
|
\((\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)})\),
|
||||||
|
masing-masing berukuran $\mathbb{R}^{262144}$.
|
||||||
|
Transformasi Fourier Waktu-Pendek (\textit{Short-Time Fourier Transform}, STFT) diterapkan
|
||||||
|
pada kedua sinyal dalam setiap pasangan untuk memperoleh representasi domain-frekuensi–waktu
|
||||||
|
yang selanjutnya digunakan sebagai fitur model.
|
||||||
|
|
||||||
|
Kemudian, didefinisikan operator STFT \(\mathcal{S}\) untuk memetakan sinyal domain waktu mentah dengan panjang \(L=262144\) sampel menjadi sebuah spektrogram berukuran \(513\times513\). Kemudian digunakan \textit{Hanning window} dengan panjang \(N_{w}=1024\) dan hop size \(N_{h}=512\). Bentuk kompleks dari STFT adalah:
|
||||||
|
\begin{equation*}
|
||||||
|
\begin{aligned}
|
||||||
|
\text{(1) Window function:}\quad
|
||||||
|
w[n] &= \frac12\Bigl(1 - \cos\frac{2\pi n}{N_w - 1}\Bigr),
|
||||||
|
\quad n=0,\ldots,N_w-1; \\[1ex]
|
||||||
|
\text{(2) STFT:}\quad
|
||||||
|
S_k(p,t)
|
||||||
|
&= \sum_{n=0}^{N_w-1}
|
||||||
|
x_k\bigl[t\,N_h + n\bigr]
|
||||||
|
\;w[n]\;
|
||||||
|
e^{-j2\pi p n / N_w},\\
|
||||||
|
&\quad
|
||||||
|
p = 0,\ldots,512,\quad t = 0,\ldots,512.
|
||||||
|
\end{aligned}
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
Dengan demikian operatornya adalah
|
||||||
|
\begin{equation*}
|
||||||
|
\mathcal{S}:\; \mathbf{a}\in\mathbb{R}^{262144}
|
||||||
|
\;\longmapsto\;
|
||||||
|
\mathbf{\widetilde{a}}\in\mathbb{R}^{513\times513}.
|
||||||
|
\end{equation*}
|
||||||
|
|
||||||
|
Operator STFT diterapkan pada seluruh komponen sensor atas dan bawah
|
||||||
|
dari setiap pasangan \((\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)})\)
|
||||||
|
yang terdapat pada himpunan $d_i$, untuk seluruh $i = 0, \dots, 6$:
|
||||||
|
\begin{equation}
|
||||||
|
\begin{aligned}
|
||||||
|
\mathcal{D}_A &= \bigl\{
|
||||||
|
\mathcal{S}\{\mathbf{a}_{r}^{(n)}\}
|
||||||
|
\;\bigm|\;
|
||||||
|
(\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)}) \in d_i,\;
|
||||||
|
i = 0, \dots, 6
|
||||||
|
\bigr\}. \\
|
||||||
|
\mathcal{D}_B &= \bigl\{
|
||||||
|
\mathcal{S}\{\mathbf{a}_{r+25}^{(n)}\}
|
||||||
|
\;\bigm|\;
|
||||||
|
(\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)}) \in d_i,\;
|
||||||
|
i = 0, \dots, 6
|
||||||
|
\bigr\}.
|
||||||
|
\end{aligned}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Kedua himpunan \(\mathcal{D}_A\) dan \(\mathcal{D}_B\)
|
||||||
|
masing-masing menjadi \textit{model data} untuk dua kanal sensor
|
||||||
|
(atas dan bawah) yang digunakan pada tahap pemodelan berikutnya.
|
||||||
|
|
||||||
|
Untuk setiap pasangan \((\mathbf{a}_{r}^{(n)},\mathbf{a}_{r+25}^{(n)})\) hasil STFT adalah
|
||||||
|
\(\widetilde{\mathbf{a}}_{r}^{(n)}=\mathcal{S}\{\mathbf{a}_{r}^{(n)}\}\in\mathbb{R}^{513\times513}\),
|
||||||
|
dengan indeks waktu \(t=0,\dots,512\) dan frekuensi \(p=0,\dots,512\).
|
||||||
|
Setiap baris \(\widetilde{\mathbf{a}}_{r}^{(n)}[t]\) adalah vektor frekuensi berdimensi \(513\).
|
||||||
|
|
||||||
|
Untuk kelas kerusakan \(d_i\) ($i\ge1$) seluruh \(513\) \textit{frame} dari kelima pasangan diambil, sehingga setiap $d_i$ menghasilkan
|
||||||
|
\begin{equation}\label{eq:concat_stft_di}
|
||||||
|
\operatorname{concat}_{\text{time}}\bigl(\{\widetilde{\mathbf{a}}_{r}^{(n)}\}_{n=5(i-1)+1}^{5i}\bigr)\in\mathbb{R}^{5\cdot513\times513}=\mathbb{R}^{2565\times513}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Agar dimensi pada kelas tanpa kerusakan \(d_0\) sama dengan dimensi kelas kerusakan lain (lihat~\ref{eq:concat_stft_di}), hanya beberapa \textit{frame} dari masing-masing pasangan di \(d_0\). Dengan \(|d_0|=125\) pasangan, diperlukan pembagian:
|
||||||
|
\begin{align}
|
||||||
|
\frac{2565}{125} &= 20.52
|
||||||
|
\begin{cases}
|
||||||
|
20 \, \text{or} \\
|
||||||
|
21
|
||||||
|
\end{cases}\\
|
||||||
|
20x + 21y &= 2565,\qquad x+y=125,
|
||||||
|
\end{align}
|
||||||
|
yang memberikan \(x=60\) pasangan mengambil 20 \textit{frame} dan \(y=65\) pasangan mengambil 21 \textit{frame}.
|
||||||
|
Setelah mengurutkan pasangan \(d_0\) secara deterministik (mis. leksikografis menurut \((n,r)\)), kita ambil
|
||||||
|
\begin{itemize}
|
||||||
|
\item untuk pasangan ke-$1$ sampai ke-$60$: frame $t=0,\dots,19$ (20 baris),
|
||||||
|
\item untuk pasangan ke-$61$ sampai ke-$125$: frame $t=0,\dots,20$ (21 baris).
|
||||||
|
\end{itemize}
|
||||||
|
Maka setelah konkatenasi menurut urutan tersebut diperoleh
|
||||||
|
\(\operatorname{concat}_{\text{time}}(\mathcal{F}_{d_0})\in\mathbb{R}^{2565\times513}\),
|
||||||
|
menghasilkan dimensi yang sama dengan kelas \(d_i\).
|
||||||
|
|
||||||
|
% Pengambilan magnitudo menghasilkan matriks spektrogram pada bilah frekuensi $p$ dan \textit{frame} waktu $t$ untuk \textit{node} $k$
|
||||||
|
% \begin{equation*}
|
||||||
|
% \widetilde n_{k}^{F_{k}}(p,t) \;=\; \bigl|S_{k}(p,t)\bigr|
|
||||||
|
% \;\in\;\mathbb{R}^{513\times513}.
|
||||||
|
% \end{equation*}
|
||||||
|
|
||||||
|
% Sensor-sensor ujung bagian bawah dilabeli sebagai Sensor A dan Sensor-sensor ujung bagian atas dilabeli sebagai Sensor B. Semua enam kasus kerusakan dikumpulkan menjadi satu menghasilkan dua himpunan spektrogram, masing-masing berisi enam (kasus kerusakan):
|
||||||
|
% \begin{equation*}
|
||||||
|
% \text{Sensor A}
|
||||||
|
% =
|
||||||
|
% \bigl\{\,
|
||||||
|
% \widetilde n_{0}^{F_{0}},\,
|
||||||
|
% \widetilde n_{5}^{F_{5}},\,
|
||||||
|
% \dots,\,
|
||||||
|
% \widetilde n_{25}^{F_{25}}
|
||||||
|
% \bigr\},
|
||||||
|
% \quad
|
||||||
|
% \text{Sensor B}
|
||||||
|
% =
|
||||||
|
% \bigl\{\,
|
||||||
|
% \widetilde n_{4}^{F_{4}},\,
|
||||||
|
% \widetilde n_{9}^{F_{9}},\,
|
||||||
|
% \dots,\,
|
||||||
|
% \widetilde n_{29}^{F_{29}}
|
||||||
|
% \bigr\}.
|
||||||
|
% \end{equation*}
|
||||||
|
|
||||||
|
\subsection{Pemberian Label Data}
|
||||||
|
Seluruh vektor fitur hasil STFT pada setiap kelas $d_i$
|
||||||
|
dikonkat menjadi satu matriks fitur $\mathcal{D}\in\mathbb{R}^{17955\times513}$.
|
||||||
|
Selanjutnya, setiap baris pada $\mathcal{D}$ diberi label kelas $y_i$
|
||||||
|
sesuai asalnya:
|
||||||
|
\[
|
||||||
|
y_i =
|
||||||
|
\begin{cases}
|
||||||
|
0, & \text{jika berasal dari } d_0,\\
|
||||||
|
1, & \text{jika berasal dari } d_1,\\
|
||||||
|
\vdots\\
|
||||||
|
6, & \text{jika berasal dari } d_6.
|
||||||
|
\end{cases}
|
||||||
|
\]
|
||||||
|
Sehingga dataset berlabel dapat dituliskan sebagai:
|
||||||
|
\begin{align}
|
||||||
|
\mathcal{D}_{A,\text{labeled}}
|
||||||
|
&= \bigl\{\,(\mathbf{x}_k, y_k)\;\bigm|\;
|
||||||
|
\mathbf{x}_k \in \mathbb{R}^{513},~
|
||||||
|
y_k \in \{0,\dots,6\}
|
||||||
|
\bigr\} \\
|
||||||
|
\mathcal{D}_{B,\text{labeled}}
|
||||||
|
&= \bigl\{\,(\mathbf{x}_k, y_k)\;\bigm|\;
|
||||||
|
\mathbf{x}_k \in \mathbb{R}^{513},~
|
||||||
|
y_k \in \{0,\dots,6\}
|
||||||
|
\bigr\},
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
dengan representasi dalam bentuk \textit{dataframe} berdimensi
|
||||||
|
$\mathbb{R}^{17955\times514}$ (513 kolom fitur dan 1 kolom label).
|
||||||
|
|
||||||
|
% \subsection{Perakitan Baris dan Pelabelan}
|
||||||
|
|
||||||
|
% Setiap spektrogram berukuran \(513\times513\) diartikan sebagai 513 vektor fitur berdimensi 513. Kemudian diberikan indeks pengulangan dalam satu kasus kerusakan dengan \(r\in\{0,\dots,4\}\) dan potongan waktu dengan \(t\in\{0,\dots,512\}\). Misalkan
|
||||||
|
% \begin{equation*}
|
||||||
|
% \mathbf{x}_{i,s,r,t}\in\mathbb{R}^{513}
|
||||||
|
% \end{equation*}
|
||||||
|
% menunjukkan baris (atau kolom) ke-\(t\) dari spektrogram ke-\(r\) untuk kasus kerusakan \(i\) dan sensor \(s\). Label skalar untuk kasus kerusakan tersebut adalah
|
||||||
|
% \begin{equation*}
|
||||||
|
% y_{i} = i,\quad i=0,\dots,5.
|
||||||
|
% \end{equation*}
|
||||||
|
% Kemudian didefinisikan fungsi \textit{slicing} sebagai
|
||||||
|
% \begin{equation*}
|
||||||
|
% \Lambda(i,s,r,t)
|
||||||
|
% \;=\;
|
||||||
|
% \bigl[\,
|
||||||
|
% \mathbf{x}_{i,s,r,t},
|
||||||
|
% \;y_{i}
|
||||||
|
% \bigr]
|
||||||
|
% \;\in\;\mathbb{R}^{513+1}.
|
||||||
|
% \end{equation*}
|
||||||
|
|
||||||
|
% \subsection{Bentuk Akhir Data untuk Pelatihan}
|
||||||
|
|
||||||
|
% Seluruh baris dari enam kasus kerusakan, lima pengulangan, dan 513 potongan waktu dikumpulkan menghasilkan \textit{dataset} untuk satu sisi sensor:
|
||||||
|
% \begin{equation*}
|
||||||
|
% \mathcal{D}^{(s)}
|
||||||
|
% =
|
||||||
|
% \bigl\{
|
||||||
|
% \Lambda(i,s,r,t)
|
||||||
|
% \;\big|\;
|
||||||
|
% i=0,\dots,5,\;
|
||||||
|
% r=0,\dots,4,\;
|
||||||
|
% t=0,\dots,512
|
||||||
|
% \bigr\}.
|
||||||
|
% \end{equation*}
|
||||||
|
% Karena terdapat total \(6\times5\times513=15{,}390\) baris dan setiap baris memiliki \(513\) fitur ditambah satu kolom label, maka bentuk akhir dari data untuk satu sisi sensor yang siap digunakan untuk pelatihan adalah
|
||||||
|
% \begin{equation*}
|
||||||
|
% |\mathcal{D}^{(s)}| = 15\,390 \times 514.
|
||||||
|
% \end{equation*}
|
||||||
@@ -8,25 +8,22 @@ Alur keseluruhan penelitian ini dilakukan melalui tahapan-tahapan sebagai beriku
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Akuisisi Data: Mengunduh dataset dari \textcite{abdeljaber2017} yang berisi sinyal percepatan untuk 31 kondisi struktur (1 kondisi sehat dan 30 kondisi kerusakan tunggal).
|
\item Akuisisi data: mengunduh dataset dari \textcite{abdeljaber2017} yang berisi sinyal percepatan untuk 31 kondisi struktur (1 kondisi sehat dan 30 kondisi kerusakan tunggal).
|
||||||
|
|
||||||
% \item Seleksi Sensor: Memilih sinyal dari sejumlah sensor terbatas pada garis vertikal tertentu (misalnya, node 1 dan 26) untuk mensimulasikan konfigurasi sensor yang direduksi.
|
% \item Seleksi Sensor: Memilih sinyal dari sejumlah sensor terbatas pada garis vertikal tertentu (misalnya, node 1 dan 26) untuk mensimulasikan konfigurasi sensor yang direduksi.
|
||||||
|
|
||||||
\item Ekstraksi Fitur: Melakukan normalisasi dan mengubah sinyal domain waktu mentah menjadi domain waktu-frekuensi menggunakan metode Short-Time Fourier Transform (STFT).
|
\item Ekstraksi fitur: melakukan normalisasi dan mengubah sinyal domain waktu mentah menjadi domain waktu-frekuensi menggunakan metode \gls{stft}.
|
||||||
|
|
||||||
\item \textit{Pre-processing} Fitur: Melakukan \textit{feature scaling} menggunakan normalisasi Min-Max pada setiap fitur untuk memastikan semua fitur berada dalam skala yang sama.
|
\item \textit{Pre-processing} fitur: \textit{feature scaling} digunakan untuk menormalisasi data pada setiap fitur agar semua nilai berada dalam skala yang sama.
|
||||||
|
|
||||||
\item Reduksi Dimensi: Mengurangi dimensi fitur menggunakan metode Principal Component Analysis (PCA) untuk mengurangi kompleksitas komputasi dan menghilangkan fitur yang kurang informatif.
|
\item Reduksi dimensi: \gls{pca} digunakan untuk mengurangi kompleksitas komputasi dan menghilangkan fitur yang kurang informatif.
|
||||||
|
|
||||||
\item Pengembangan Model: Membangun dan melatih model \textit{baseline} SVM untuk mengklasifikasikan lokasi kerusakan struktur.
|
\item Pengembangan model: algoritma \acrshort{svm} digunakan untuk mengklasifikasikan lokasi kerusakan struktur.
|
||||||
|
|
||||||
|
\item Optimasi \textit{hyperparameter}: pencarian \textit{grid} dilakukan dengan \textit{coarse} dan \textit{fine grid-search} dan validasi silang \textit{stratified K-Fold} untuk setiap model guna meningkatkan kinerja klasifikasi.
|
||||||
|
|
||||||
\item Optimasi \textit{Hyperparameter}: Melakukan pencarian \textit{hyperparameter} menggunakan \textit{coarse} dan \textit{fine grid-search} dengan validasi silang \textit{stratified K-Fold} untuk setiap model guna meningkatkan kinerja klasifikasi.
|
\item Evaluasi: mengevaluasi kinerja model menggunakan metrik akurasi, presisi, dan \gls{cm} pada berbagai skenario pengujian. Evaluasi dilakukan dengan dua skema: (i) validasi silang K-Fold terstratifikasi pada setiap himpunan data, dan (ii) validasi silang antar-dataset (latih pada Dataset A, uji pada Dataset B, dan sebaliknya) untuk menilai kemampuan generalisasi lintas sumber data.
|
||||||
|
|
||||||
\item Evaluasi: Mengevaluasi kinerja model menggunakan metrik akurasi, presisi, dan \textit{confusion matrix} pada berbagai skenario pengujian. Evaluasi dilakukan dengan dua skema: (i) validasi silang K-Fold terstratifikasi pada setiap himpunan data, dan (ii) validasi silang antar-dataset (latih pada Dataset-A, uji pada Dataset-B, dan sebaliknya) untuk menilai kemampuan generalisasi lintas sumber data.
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\subsection{Akuisisi Data}
|
|
||||||
\input{chapters/id/03_methodology/steps/data_acquisition}
|
|
||||||
|
|
||||||
% \subsection{Prapemrosesan Data dan Ekstraksi Fitur}
|
|
||||||
|
|
||||||
|
% \section{Prapemrosesan Data dan Ekstraksi Fitur}
|
||||||
@@ -13,4 +13,10 @@
|
|||||||
\newacronym{shm}{SHM}{structural health monitoring}
|
\newacronym{shm}{SHM}{structural health monitoring}
|
||||||
\newacronym{fea}{FEA}{finite element analysis}
|
\newacronym{fea}{FEA}{finite element analysis}
|
||||||
\newacronym{1d-cnn}{1-D CNN}{\textit{One-Dimensional Convolutional Neural Network}}
|
\newacronym{1d-cnn}{1-D CNN}{\textit{One-Dimensional Convolutional Neural Network}}
|
||||||
\newacronym{pca}{PCA}{\textit{principal component analysis}}
|
\newacronym{pca}{PCA}{\textit{principal component analysis}}
|
||||||
|
% rbf
|
||||||
|
\newacronym{rbf}{RBF}{\textit{radial basis function}}
|
||||||
|
% cm
|
||||||
|
\newacronym{cm}{CM}{\textit{confusion matrix}}
|
||||||
|
\newacronym{tsne}{t-SNE}{\textit{t-distributed stochastic neighbor embedding}}
|
||||||
|
\newacronym{pacmap}{PaCMAP}{\textit{Pairwise Controlled Manifold Approximation Projection}}
|
||||||
@@ -1,3 +1,8 @@
|
|||||||
% \usepackage{amsmath, amssymb, siunitx}
|
% \usepackage{amsmath, amssymb, siunitx}
|
||||||
% \usepackage{caption}
|
% \usepackage{caption}
|
||||||
% \usepackage{subcaption}
|
\usepackage{subcaption}
|
||||||
|
\usepackage{booktabs}
|
||||||
|
\usepackage{algorithm}
|
||||||
|
\usepackage{algpseudocode}
|
||||||
|
% \usepackage{algorithm2e}
|
||||||
|
\usepackage{xparse} % for nicer command definitions if desired
|
||||||
|
|||||||
Reference in New Issue
Block a user