Anda di halaman 1dari 45

Learning Progress

Review Week 12
Oleh: Kelompok 6 (Coldplay)
Anggota Kelompok 6
(Coldplay)

Adel Nor Muhammad


Muhammad Ali Akbar

Annisa Rahma Melyanta


Zulfi Jauharul Ikhsan

01 Regression

02 Linear Regression

A. Regression 03 Lasso and Ridge

Decision Tree and Random Forest


04
Regression

05 Evaluation metrics for regression


B. Neural Network
01 Sejarah ANN 06 Activation Function

02 Artificial Neural Network 07 Network Training

03 Tipe ANN 08 Backpropagation Learning

04 Perceptron 09 Discussion on NN

05 Multilayer Perceptron 10 MLP in Sklearn


01 Supervised vs Unsupervised

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 data train dan data test

} 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 :

Untuk perbandingan antar model dapat ditampilkan seperti diatas. Dimana


dari tabel di atas dapat terlihat perbandingan beberapa model yang sudah
di uji, untuk kemudian dipilih model yang paling optimal berdasarkan Error
yang rendah dan R Square yang tinggi.
B. Neural Network
Sejarah ANN
1. Pada tahun 1943 ketka Warren McMulloch, seorang neurofisiologi dan Walter Pitts
seorang ahli matematika menulis makalah tentang cara kerja dari neuron.
2. Pada tahun 1949, Donald Hebb memperkuat konsep neuron dalam bukunya, The
Organization of Behavior yang menunjukkan bahwa jaringan syaraf diperkuat setiap kali
digunakan.
3. Pada tahun 1958, Frank Rosenblatt, seorang ahli biologi saraf dari Cornell, berhasil
menemukan sebuah two-layer-network, yang disebut sebagai Percepton.
4. Pada tahun 1959, Bernard Widrow dan Marcian Hoff dari Stanford mengembangkan
model ADALINE (Adaptive Linear Elements ) dan MEDALINE (Multiple Adaptive Linear
Elements).
5. Pada tahun 1982, John Hopfield mempresentasikan makalahnya pada National
Academy of Sciences tentang pendekatannya untuk menciptakan perangkat yang
berguna, menyenangkan, pandai berbicara dan kharismatik.
6. Pada tahun 1987, Konferensi International Institute of Electrical and Electronics (IEEE)
tentang Neural Network dihadiri lebih dari 1.800 peserta.
Artificial Neural Network (ANN)
Artificial Neural Network (ANN) atau
jaringan syaraf tiruan adalah jaringan dari
sekelompok unit pemroses kecil yang
dimodelkan berdasarkan perilaku jaringan
syaraf manusia.
ANN terdiri dari sejumlah besar elemen
pemrosesan informasi (neuron) yang saling
terhubung dan bekerja bersama-sama
untuk menyelesaikan sebuah masalah
tertentu, yang pada umumnya dalah
masalah klasifikasi ataupun prediksi.
Tipe ANN
1. Feedforward Neural Network (FFNN)
adalah model yang digunakan untuk
pemodelan data respon yang bersifat
kategori.
2. Recurrent Neural Network (RNN) adalah
model yang dirancang khusus untuk
memproses data yang bersambung atau
berurutan (sequential data), biasanya
digunakan untuk menyelesaikan tugas
yang terkait dengan data time series,
3. Convolutional Neural Network (CNN)
adalah model yang digunakan pada data
image untuk mendeteksi dan mengenali
object pada sebuah image.
Perceptron
metode Neural Network sederhana yang menggunakan algoritma training untuk melakukan
klasifikasi secara linier. dengan kata lain, Perceptron digunakan untuk mengklasifikasikan
data input yang diberikan.
Perceptron terdiri dari 4 bagian. yaitu :
- Input Values
-weights dan Bias
- Net Sum
- Activation Function
Perceptron
Perceptron bekerja dengan cara :
- semua input dikalikan dengan weight
- jumlahkan semua hasil perkalian inout dengan weight
- mengaplikasikan activation function ke weighted sum
Multilayer Perceptron
MLP merupakan Supervised Machine
Learning yang dapat mengatasi
permasalahan yang tidak linear
Model ini terdiri dari tiga jenis layer yaitu
input layer, hidden layer, output layer.
Kecuali node input, setiap node adalah
neuron yang menggunakan fungsi aktivasi
nonlinier.
MLP menggunakan backpropagation
untuk training-nya.
General Structure of MLP

Hasil dari Net Input


function itu nantinya
akan dimasukan dalam
perhitungan activation
function.
Setelah dilakukan
Dimana dalam proses ini dilakukan
pembobotan kembali
pembobotan (penjumlahan Input X dengan w yang optimal
weight) untuk menghasilkan nilai untuk mendapatkan
Net input Function ouput prediksi
Activation Function

Fungsi Aktivasi memutuskan apakah


neuron harus diaktifkan atau tidak.
Artinya akan menentukan apakah input
neuron ke jaringan penting atau tidak
dalam proses prediksi menggunakan
operasi matematika yang lebih
sederhana.
Activation Function berguna untuk
regresi non linier
Network Training
Tujuan dari Training
Untuk mendapatkan weights yang optimal untuk dapat memaksimalkan akurasi dari
klasifikasinya

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

Discussion on Neural Network


Pros Cons
Robust -berfungsi baik ketika training set mengandung error Waktu yang lama saat training
Output bisa discrete, real-valued, atau vector Sulit untuk dipahami
C. Unsupervised Learning
Supervised vs Unsupervised
Supervised Learning
Mempelajari data dengan label atau target untuk
memprediksi hasil.
Contoh:
1. Memprediksi fitur kategori (Ya/Tidak, Mau/Tidak
Mau).
2. Memprediksi fitur kontinu (harga rumah, harga
saham).
Unsupervised Learning
Mempelajari data tanpa adanya target data untuk
mencari pola dari data.
Contoh:
1. Melakukan segmentasi data (segmentasi
pelanggan, segmentasi risiko)
K-Means
K-means adalah salah satu algoritma unsupervised learning yang digunakan untuk
mengelompokkan data berdasarkan variabel atau feature.
Tujuannya, adalah untuk mendapatkan kelompok data dengan memaksimalkan
kesamaan karakteristik dalam klaster dan memaksimalkan perbedaan antar klaster.
Cara Kerja K-Means
1
1. Tentukan jumlah cluster (k).
Dalam contoh, ditetapkan bahwa K =3.

2. Pilih titik acak sebanyak k.


Titik ini merupakan titik seed dan akan menjadi
titik centroid proses pertama. 2
Titik ini tidak harus titik data.

3. Label semua data berdasarkan titik centroid


terdekat. 3
Semua data diberikan label mengikuti titik
centroid dari setiap klaster.
Perhitungan jarak bisa menggunakan algoritma
jarak tertentu, secara default dilakukan dengan
Euclidean Distance .
Evaluating clustering performance
Cluster dievaluasi berdasarkan beberapa ukuran seperti jarak antara titik cluster.
Maka terdapat beberapa metriks untuk mengevaluasi performa dari cluster.

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 :

1. Elbow Method 2. Silhoutte Score

Di mana setelah mendapatkan nilai inertia Di mana setelah mendapatkan nilai


score, kita mencari titik lengkung untuk silhouette score, kita mencari titik (nilai)
mendapatkan nilai K yang optimal yang paling tinggi untuk mendapatkan
nilai K yang optimal
Discussion on the K-means
Keuntungan K-means
Mudah untuk di-implementasikan
Mampu menangani dataset yang besar
Generalisasi cluster untuk berbagai bentuk dan ukuran

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)

Dari gambar disamping, dengan adanya 1


data outlier berdampak besar terhadap
pengelompokan cluster yang termasuk
dalam lingkaran biru.
Di mana harusnya dapat lebih optimal
apabila pengelompokan berdasarkan
lingkaran merah.
K-Medoids
digunakan untuk memilih objek yang mewakili sebanyak k, yang dimana K disebut sebagai
Medoids
perbedaan K-Means dan K-Medoids yaitu jika K-means meminimalkan jumlah kuadrat
dalam cluster sedangkan K-Medoids digunakan untuk meminimalkan jumlah jarak antara
setiap titik dengan medoid dari clusternya
Cara Kerja K-Medoids (PAM)
-pilih medoid secara acak sebanyak k Tetapkan datapint ke titik tengah
cluster
Cara Kerja K-Medoids (PAM)
Hitung Absolute Error Criteration

Nilai Absolute Error Criteration


E= (3+4+4)+(3+1+1+2+2)=20
Cara Kerja K-Medoids (PAM)
Hitung Absolute Error Criteration

Nilai Absolute Error Criteration {o2,o8)


E= (3+4+4)+(3+1+1+2+2)=20
Nilai Absolute Error Criteration {o2,o7)
E= (3+4+4)+(2+2+1+3+3)=22

menghitung Cost Function


Absolute Error (o2,o7)-Absolute Error(o2,o8)
S=22-20 (S>0 = ide yang buruk jika mengganti o8 ke o7)
K-Medoids
keuntungan :
- mudah dipahami dan implementasikan
- algoritma K-Medoids bekerja dengan cepat dan bida convergen
dalam jumlah step tertentu
- PAM tidak terlalu sensitive terhadap outlier

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)

Cara kerja DBSCAN:


Memilih core point secara acak
Mengklasifikasi tetangga / border point berdasarkan radius (density-reachable object) dari core point
Jika MinPts dalam sebuah radius terpenuhi, maka terbentuk sebuah class. Jika tidak, object dianggap
outlier
Kegiatan tersebut berlangsung hingga seluruh object terklasifikasi
Mengoptimalkan Minpts dan Epsilon
Menentukan MinPts
Semakin besar data set maka semakin besar nilai MinPts.
Jika data memiliki banyak outlier, atur nilai MinPts lebih besar
Umumnya, MinPts >= atau = jumlah dimensi dalam data set
Jika bentuk dataset lebih dari 2 dimensi, pilih MinPts = 2*dim

Menentukan radius / ε
Melihat grafik K-Distance
Terima Kasih

Anda mungkin juga menyukai