Midterm Exam 2024/2025

Created onDibuat pada
Last updated onTerakhir diperbarui
21 min read21 menit baca
IDensembleCNNFFNN
ContributorsKontributor
Razi Rachman Widyadhana - @zirachw

UTS IF3270 Pembelajaran Mesin, Semester II 2024-2025. Tanggal 14 April 2025, 110 menit (11.00-12.50 WIB), tutup buku & tutup catatan. Boleh menggunakan kalkulator (selain dari mobile devices).

#Link to this headingBagian I: Ensemble dan CNN

#Link to this headingSoal 1 [Nilai: 10]

Dari pernyataan berikut ini, lingkarilah huruf di depan pernyataan yang benar, dan silanglah huruf di depan pernyataan yang salah.

a. Inferensi pada bagging dilakukan dengan training model dari dataset hasil bootstrap sampling dan dengan agregasi model menggunakan majority voting hasil prediksi semua model.

b. Inferensi semua base model pada parallel ensemble ataupun sequential ensemble tetap dapat dilakukan secara paralel.

c. Ensemble diversity pada random forest berupa model dilatih dengan variasi dataset hasil bootstrap sampling dan random subspace.

d. Ensemble diversity pada heterogeneous ensembles (with weighting dan with meta learning) berupa model dilatih dengan variasi algoritma learning.

e. Ensemble diversity pada Gradient Boosting berupa model dilatih dengan variasi bobot setiap instance pada dataset yang sama.

f. Ensemble diversity pada AdaBoost berupa model dilatih dengan variasi target residual pada setiap iterasi.

g. Jika diberikan satu ensemble models, agregasi model Adaboost dengan algoritma versi Han et al. (2022) dan algoritma versi Kunapuli (2023) dapat memberikan hasil prediksi yang berbeda.

h. Pada AdaBoost versi Kunapuli (2023), instance yang salah diklasifikasikan oleh model pada iterasi tt akan memiliki bobot yang lebih besar dari iterasi t−1t-1 dengan mengalikan bobot saat ini dengan eαe^\alpha dengan α\alpha menyatakan error pada iterasi tt.

i. Pada Gradient Boosting dengan yy adalah nilai target dan y^\hat{y} adalah nilai prediksi, residual =y−y^= y - \hat{y} merupakan negative gradient dengan menggunakan squared loss function. Nilai residual dan squared loss selalu sama.

j. Hasil prediksi suatu instance pada AdaBoost versi Han et al. (2022) dengan nn base model dilakukan dengan mengambil hasil prediksi base model terakhir.

#Link to this headingSoal 2 [Nilai: 12.5]

Diberikan model CNN dengan arsitektur sebagai berikut (complex layer terminology) untuk klasifikasi gambar:

  • Input layer berukuran 32×32×332 \times 32 \times 3
  • Satu layer konvolusi dengan 5 kernel berukuran 7×77 \times 7, dengan padding =1= 1 dan pergeseran 3 sel, tahap detector dengan ReLU, serta tahap maxpooling dengan kernel berukuran 4×44 \times 4, tanpa padding, dan pergeseran 2 sel.
  • Satu layer fully connected (dense) dengan jumlah neuron 10
  • Output layer 5 neuron dengan fungsi aktivasi softmax

#Link to this headinga. [Nilai: 5]

Tentukanlah ukuran feature map yang dihasilkan dari layer konvolusi dengan mengisi tabel berikut ini. Detail perhitungan wajib diisi.

#Link to this headingb. [Nilai: 7.5]

Tentukanlah jumlah bobot (trainable parameter) pada model CNN tersebut (shared parameter = True) dengan mengisi tabel berikut ini. Output shape diisi dgn dimensi feature map (dalam format v×v×dv \times v \times d) atau dimensi vektor (dalam format vector length).

#Link to this headingSoal 3 [Nilai: 7.5]

Lakukanlah forward propagation untuk mendapatkan feature map dari suatu layer konvolusi jika diberikan data input (xx) berukuran 3×3×23 \times 3 \times 2 pada suatu layer konvolusi yang memiliki 1 kernel berukuran 2×22 \times 2. Stride yang digunakan 1, dan tanpa menggunakan padding. Tahap detector dengan ReLU, dan tahap pooling dengan fungsi maksimum dengan kernel berukuran 2×22 \times 2, tanpa padding, dan pergeseran 2 sel.

Berikanlah secara eksplisit feature map per tahap dari layer konvolusi tersebut.

Data input xx (channel 1):

[101001110]\begin{bmatrix} 1 & 0 & 1 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{bmatrix}

Data input xx (channel 2):

[101010101]\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}

Kernel (channel 1):

[100−1]\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}

Kernel (channel 2):

[0−110]\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}

Bias: 0.5

#Link to this headingBagian II: Perceptron

Untuk soal 1 dan 2: Diberikan 2 data latih dengan 2 fitur x1x_1 dan x2x_2, serta label kelas yy. Tentukan jenis pembelajaran Perceptron yang tepat untuk setiap kasus. Jawaban mungkin lebih dari satu. (Nilai: 4)

  • (a) Perceptron training rule
  • (b) Batch gradient descent
  • (c) Stochastic gradient descent
  • (d) Tidak ada yang benar

#Link to this headingSoal 1

x1x_11−1−2−1
x2x_22−11−3
yy1−11−1

#Link to this headingSoal 2

x1x_120−1−1−2
x2x_2231−3−4
yy1−1−1−11

Untuk soal 3 s.d. 6: Tentukan apakah pernyataan berikut Benar atau Salah, dan tuliskan alasannya. (Nilai: 6)

#Link to this headingSoal 3

Pada pelatihan dengan menggunakan Perceptron Training Rule, update bobot dilakukan sepanjang iterasi.

#Link to this headingSoal 4

Prinsip algoritma pembelajaran Gradient Descent pada Perceptron adalah merupakan strategi pencarian dengan kemiringan untuk mendapatkan error nol.

#Link to this headingSoal 5

Pada Perceptron Training Rule dan Stochastic Gradient Descent proses update bobot dilakukan dengan mekanisme dan aturan yang sama.

#Link to this headingSoal 6

Penggunaan learning rate yang besar pada Perceptron pasti konvergen ke lokal minimum.

#Link to this headingSoal 7 [Nilai: 15]

Terdapat dataset berikut dengan label kelas yy. Encoding kelas positif = 1, negatif = −1, batas positif >0> 0. Inisialisasi bobot semua atribut = 1, bias = −1. Learning rate 0.1, 1 epoch.

Data Latih:

idx1x_1x2x_2yy
d1101
d200−1
d3111

Data Uji:

idx1x_1x2x_2yy
d400.951
d50.50−1

#Link to this headinga.

Lakukan pembelajaran dengan Batch Gradient Descent. Tuliskan bobot akhir, error, dan prediksi data uji beserta akurasi.

#Link to this headingb.

Lakukan pembelajaran dengan Stochastic Gradient Descent. Tuliskan bobot akhir, error, dan prediksi data uji beserta akurasi.

#Link to this headingc.

Model mana yang menghasilkan kinerja lebih baik? Berikan alasannya.

#Link to this headingSoal 8 [Nilai: 10]

Tuliskan minimal 5 perbedaan prinsip Convolutional Neural Network (CNN) dengan FFNN. Berikan penjelasan singkat untuk setiap poin.

#Link to this headingBagian III: ANN - FFNN

Terdapat struktur Feed Forward Neural Network (Fully Connected) seperti pada gambar berikut. Fungsi aktivasi untuk neuron di hidden layer adalah fungsi linear. Fungsi aktivasi untuk neuron di output layer adalah sigmoid. Fungsi error atau loss: 12(target−output)2\frac{1}{2}(\text{target} - \text{output})^2, dengan turunannya terhadap output adalah −(target−output)-(\text{target} - \text{output}). Turunan fungsi linear adalah 11. Turunan fungsi sigmoid: output×(1−output)\text{output} \times (1 - \text{output}). Learning rate adalah 0.50.5. Penamaan bobot: wasal, tujuanw_{\text{asal, tujuan}}, contoh wi1h2w_{i_1h_2} artinya bobot dari input 1 ke neuron 2 di hidden layer.

Arsitektur: Input iˉ(2)\bar{i}(2) → Hidden hˉ(3)\bar{h}(3) → Output oˉ(2)\bar{o}(2)

Input: i=[0.50.1]i = \begin{bmatrix} 0.5 \\ 0.1 \end{bmatrix}

Target: o1=0.1,  o2=0.9o_1 = 0.1, \; o_2 = 0.9

Bobot input → hidden:

W(1)=[0.10.50.30.20.60.4],b(1)=[0.70.80.9]W^{(1)} = \begin{bmatrix} 0.1 & 0.5 & 0.3 \\ 0.2 & 0.6 & 0.4 \end{bmatrix}, \quad b^{(1)} = \begin{bmatrix} 0.7 \\ 0.8 \\ 0.9 \end{bmatrix}

Bobot hidden → output:

W(2)=[0.10.60.10.60.10.6],b(2)=[0.50.1]W^{(2)} = \begin{bmatrix} 0.1 & 0.6 \\ 0.1 & 0.6 \\ 0.1 & 0.6 \end{bmatrix}, \quad b^{(2)} = \begin{bmatrix} 0.5 \\ 0.1 \end{bmatrix}

Keterangan:

  • W(1)W^{(1)} berukuran 2×32 \times 3: baris = input, kolom = hidden neuron
  • W(2)W^{(2)} berukuran 3×23 \times 2: baris = hidden neuron, kolom = output neuron
  • b(1)b^{(1)} berukuran 3×13 \times 1: bias untuk setiap hidden neuron
  • b(2)b^{(2)} berukuran 2×12 \times 1: bias untuk setiap output neuron

#Link to this headingSoal 1 [Nilai: 6]

Tentukan berapa banyak parameter yang perlu dipelajari berdasarkan arsitektur FFNN pada gambar. Tuliskan angka yang terlibat dan tidak hanya hasil akhir saja.

#Link to this headingSoal 2 [Nilai: 6]

Tentukan nilai semua neuron pada hidden layer, dan nilai pada output o2o_2. Jawaban tidak hanya hasil akhir berupa angka, tuliskan semua angka yang terlibat dalam perhitungan.

#Link to this headingSoal 3 [Nilai: 6]

Tentukan nilai ∂E∂neto1\frac{\partial E}{\partial \text{net}_{o_1}} (turunan error terhadap kombinasi linear o1o_1) dan nilai ∂E∂neto2\frac{\partial E}{\partial \text{net}_{o_2}} dengan menuliskan lengkap formula serta semua angka yang terlibat.

#Link to this headingSoal 4 [Nilai: 6]

Tentukan nilai ∂E∂neth3\frac{\partial E}{\partial \text{net}_{h_3}} (turunan error terhadap kombinasi linear h3h_3) dengan menuliskan lengkap formula serta semua angka yang terlibat.

#Link to this headingSoal 5 [Nilai: 6]

Tentukan nilai bobot wi1h3w_{i_1h_3} yang baru dengan menuliskan lengkap formula serta angka yang terlibat.