Review Week 12
Oleh: Kelompok 6 (Coldplay)
Anggota Kelompok 6
(Coldplay)
01 Regression
02 Linear Regression
04 Perceptron 09 Discussion on NN
02 K-Means
C. Unsupervised
Learnng 03 K-Medoids
04 DBSCAN
A. Regression
Regression
metode untuk menentukan kekuatan dan karakter hubungan antara variable dependen dan
serangkaian variable lainnya.
perbedaan antara Regression dan clasification:
- algoritma regression : nilai berupa continuous. sepesti contoh herga sutau barang, gaji,
umur dll
- algoritma Classification : nilai berupa diskrit. seperti contoh gender, sehat atau tidak
sehat, merokok atau tidak merokok dll.
keduanya, regresi dan klasifikasi merupakan bagian dari kategori supervised learning
Linier Regression
linier Regression digunakan untuk
membangun hubungan antara 2
variable dengan menggunakan garis
lurus
2 variable tersebut adalah variabel
independen dan variable dependen.
variabel independen merupakan
variablel yang mempengaruhi sebuah
perubahan sedangkan variabel
dependen merupakan variable yang
dipengaruhi akibat karena adanya
variabek independen
Linier Regression mencoba untuk
menggambarkan garus yang dekat
dengan data dengan menemukan
slope dan intercept dan
meminilamkan error pada regresi
Example
Dataset di atas menunjukan harga-harga rumah dan feature yang dimilikinya. Untuk
membuat model prediksi regresi dapat dilihat pada slide berikut
} memisahkan independent dan dependent variable
} membuat model prediksi Hasil koefisien, kemiringan, hasil prediksi dan nilai asli:
Bias dan Variance
Regresi linear berpotensi untuk menghasilkan model ML yang underfitting atau overfitting, karena regresi
linear mencari nilai koefisien yang dapat mengurangi nilai sum of squared error mungkin akan memberi nilai
koefisien terhadap feature yang memiliki kemampuan prediksi rendah.
Untuk mengatasinya, dapat membuat regulasi untuk memberi batasan nilai koefisien
Lasso & Ridge Regression
Regresi Lasso dan Ridge adalah beberapa cara sederhana untuk meminimalkan
kompleksitas model dan menghindari over-fitting yang mungkin dihasilkan dari regresi
linier sederhana.
Regresi Lasso (L1 Regression)
Dasar untuk hukuman adalah jumlah nilai
absolut dari bobot untuk fitur.
Mencoba untuk mencapai solusi yang jarang di
mana sebagian besar fitur memiliki bobot nol.
Regresi Ridge (L2 Regression)
Dasar untuk hukuman adalah jumlah kuadrat
dari bobot.
Mencoba untuk mengurangi besarnya bobot
yang terkait dengan semua fitur, sehingga
mengurangi efek setiap fitur pada nilai prediksi.
Decision Tree Regression
Decision Tree adalah model prediksi menggunakan
struktur pohon atau struktur berhirarki.
Kelebihan:
1. Mudah dipahami dan diintrepetasikan
2. Membutuhkan sedikit persiapan data.
3. Dapat digunakan untuk validasi model
menggunakan tes statistik.
4. Mampu menyelesaikan masalah multi-output.
Kekurangan:
1. Dapat membuat bagan terlalu rumit yang tidak
menggeneralisasikan data dengan baik, disebut
overfitting. Solusinya adalah melakukan prunning.
2. Decision tree menjadi tidak stabil karena variasi
kecil. Solusinya adalah menggunakan Decision
tree dalam sebuah ensemble.
Random Forest Regression
Merupakan algoritma dalam
Supervised Learning yang
menggunakan ensemble learning
method untuk kasus
classification dan regression.
Ensemble learning method adalah
teknik yang menggabungkan
prediksi dari beberapa algoritma
machine learning untuk membuat
prediksi yang lebih akurat.
Hasil prediksi adalah label
terbanyak (untuk kasus
classification) atau rata rata hasil
prediksi (untuk kasus regression)
dari model tree yang banyak.
Evaluation Metrics
Pearson correlation coefficient (r) = mengukur kekuatan dan arah hubungan linier
antara dua variabel (-1 to 1).
Coefficient determination (r2 or r square) = memberikan proporsi varians
(fluktuasi) dari satu variabel yang diprediksi dari variabel lainnya (0 to 1).
Root mean square error (RMSE) = merupakan besarnya tingkat kesalahan hasil
prediksi. Semakin kecil (mendekati 0) semakin baik (prediction errors).
Performance Comparison
Contoh table perbandingan model :
Langkah-langkah
Inisialisasi weights wij dengan nilai acak (random)
Masukan (feed) sample training X ke dalam jaringan satu persatu
Untuk setiap unit
1. Hitung output value O dengan mengaplikasikan activation function
2. Hitung error E
3. Update weights wij dan biases
Backpropagation Learning
Backpropagation adalah cara untuk meminimalkan error pada output yang dihasilkan oleh jaringan multilayer.
Backpropagation bekerja secara bolak-balik sampai menemukan weight optimal sesuai parameter. Proses tersebut
berjalan sesuai parameter yang ditentukan.
Flow:
Input Weight -> Hidden Layer Weight -> Output -> Error Check -> New Hidden Layer Weight -> New Input Layer
Weight
MLP in SkLearn
class sklearn.neural_network.MLPClassifier(hidden_layer_sizes=(100,), activation='relu', *, solver='adam',
alpha=0.0001, batch_size='auto', learning_rate='constant', learning_rate_init=0.001, power_t=0.5,
max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False,
momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1, beta_1=0.9,
beta_2=0.999, epsilon=1e-08, n_iter_no_change=10, max_fun=15000)
Hyperparameter
hidden_layer_sizes: Jumlah hidden layer dan node-nya
activation: Activation function
max_iter: Jumlah iterasi
learning_rate_init: Tahapan pembelajaran yang dilalui
1. Inertia
Jumlah kuadrat (Sum of squared distance ) jarak dari
setiap titik (xi) dengan cluster-nya (Ck).
Jika inertia kecil, artinya poin dekat satu sama lain
2. Silhoutte score
a : jarak rata-rata ke semua titik lain dalam clusternya.
b : jarak rata-rata ke semua titik lain di cluster terdekat
berikutnya.
Score diatara -1 to 1. Bagus jika score mendekati 1.
How to choose the K?
Untuk mencari K yang optimal, dapat dilakukan dengan 2 metode, yaitu :
Kerugian K-means
Sensitive terhadap outliers
Memilih nilai k butuh usaha yang lebih
Ketika jumlah dimensi meningkat, skalabilitasnya menurun
A Problem of K-Means
Sensitive terhadap outliers
Outlier: objek dengan nilai yang sangat besar (atau kecil)
Kekurangan :
- hasil bisa berbeda ketika dijalankan karena nilai K-Medoids dipilih
secara acak
- Algoritma PAM dalam K-Medoid Clustering bekerja dengan baik pada
dataset tapi tidak bisa Scale untuk dataset yang besar
Density-Based Spatial Clustering of Applications with Noise (DBSCAN)
VS
DBSCAN:
Dapat mengklasifikasi object dalam area padat dengan menentukan core point secara random dan membuat
object tetangga dengan parameter tertentu sebagai class yang sama
Dapat mengklasifikasi data dengan bentuk arbitrary (memisahkan data sesuai bentuk sebaran seperti
gambar)
Dapat mendeteksi noise
Proses satu kali scan
Parameters
core point
border
outlier
radius
Parameter
Radius ε : Luas area untuk
menentukan object tetangga
MinPts : Jumlah minimum poin
dalam lingkungan (neighborhood)
Menentukan radius / ε
Melihat grafik K-Distance
Terima Kasih