Anda di halaman 1dari 130

CII-3L3 Pembelajaran Mesin Lanjut

Swarm Intelligence, PSO, dan FA


Semester Genap 2020/2021

Dr. Suyanto, S.T., M.Sc.


Web: http://suyanto.staff.telkomuniversity.ac.id
Email: suyanto@telkomuniversity.ac.id
HP/WA: +62 812 84512345

22-08-2017
Machine Learning

Deep Nature-Inspired Reinforcement


Learning Learning
Learning (Swarm Intelligence)

Neural-Based Unsupervised Ensemble


Learning Learning Learning

Decision Tree Bayesian Support Vector


Learning Learning Machine
Apa itu SI?
Emergent collective intelligence of groups of simple agents”
(Bonabeau et al, 1999)

Kecerdasan kolektif yang muncul begitu saja dari kelompok-


kelompok agen sederhana
Bird Flocking: Formasi V

Tabrakan antar burung ???


Bagaimana paus mencari makan?
Jembatan Semut
• Pencarian makanan (Foraging behaviours)

• Perkawinan (Marriage behaviours)

• Konsep ratu lebah (Queen bee concept)


–Queen-Bee Evolution [Sung, 2003]
–Bee Crossover untuk memperbaiki GA [Kara, 2004]
www.learner.org
cheats-cuckoo
animal.discovery.com.
Mengapa Membutuhkan SI?
• SI merupakan sebuah teknik komputasi yang simpel, fleksibel, dan memiliki tingkat ergodicity
(has same behaviour averaged over time) yang tinggi (Yang et al., 2013)

• Pada awalnya, SI memang didesain untuk menyelesaikan masalah optimasi, baik kontinu
maupun diskrit

• Dalam perkembangannya, SI terbukti memberikan performansi tinggi untuk menyelesaikan


berbagai masalah komputasi secara luas, termasuk big data mining

• Satu kekuatan SI adalah sangat cepat menemukan solusi yang (mendekati) optimum, apalagi
jika diimplementasikan menggunakan komputasi paralel maupun terdistribusi
Jika d = 10, berapa luas lingkaran?

r 2  (22 / 7)(52 )
 78,57

10

Luas = (12/16).100
= 75

Lebih akurat jika ribuan titik?


Jika d = 10, berapa luas area merah?

Luas lingkaran – luas


bulan sabit – 2 x luas
10 bintang = SULIT ???

Luas = (12/20).100
= 60

Lebih akurat jika ribuan titik?


Luas area merah = ???

Model matematis ??

10
Luas = (16/20).100
= 80

Lebih akurat jika ribuan titik?

10
Jumlah domba = ? 7 x 5 = 35
Presisi atau kecepatan?

Presisi dan cepat !!!

Jumlah domba = ? Sulit sekali


[Amrit Choudhary, “AI Fish based on the works of Craig. W. Reynolds”, 2015]
[Craig Reynolds, www.red3d.com/cwr/boids]
Kapan Menggunakan SI?
• Ruang masalah sangat besar, kompleks, dan sulit dipahami

• Kurang atau bahkan tidak ada sama sekali pengetahuan untuk merepresentasikan masalah
ke dalam ruang pencarian yang lebih sempit

• Tidak tersedia analisis matematis yang memadai

• Tidak dapat diselesaikan menggunakan metode-metode konvensional

• Terdapat batasan waktu, misalnya dalam sistem waktu nyata (real time system)

• Solusi yang diharapkan tidak harus paling optimum, tetapi bisa diterima oleh pengguna
Di Mana Menggunakan SI?
• Apa inti dari semua masalah komputasi?

• Optimasi (optimization)

• Optimasi bisa berupa pencarian nilai maksimum (maksimasi) atau nilai minimum (minimasi)

• Coba sebutkan masalah komputasi apapun!

• Pasti semuanya akan bermuara pada masalah optimasi


Bagaimana Menggunakan SI?
• Setiap teknik dalam SI memiliki sejumlah parameter yang saling berkaitan dan nilainya harus
diatur secara hati-hati untuk menjaga keseimbangan antara eksplorasi (diversifikasi) dan
eksploitasi (intensifikasi) calon-calon solusi untuk menemukan solusi terbaik secara cepat.

• Bagaimana cara mengatur parameter-parameter tersebut?

• Sejauh ini belum ada satupun formula matematis yang dapat digunakan untuk menentukan,
atau setidaknya mengestimasi, nilai-nilai parameter tersebut.

• Semuanya hanya bergantung intuisi dan pengalaman empiris.


Particle Swarm Optimization (PSO)

Apa itu PSO?


• Particle Swarm Optimization (PSO) ditemukan oleh James Kennedy
dan Russ Eberhart pada tahun 1995 (Kennedy and Eberhart, 1995)
• PSO terinspirasi oleh tingkah laku sosial kawanan burung yang
terbang berduyun-duyun (bird flocking) atau gerombolan ikan yang
berenang berkelompok (fish schooling)
• Burung dan ikan memiliki kecerdasan luar biasa dalam mengatur
kecepatan terbang dan berenang sehingga jarak di antara mereka
tetap terjaga
Bagaimana PSO bekerja?
• PSO dimulai dengan suatu populasi yang terdiri atas sejumlah partikel (yang
menyatakan calon-calon solusi) yang dibangkitkan secara acak
• Selanjutnya, dilakukan perbaruan posisi dan kecepatan terbang setiap partikel secara
iteratif untuk menghasilkan solusi baru yang lebih baik
• Setiap partikel pada PSO tidak pernah mati. PSO memiliki memory untuk menyimpan
solusi terbaik
• Partikel-partikel yang potensial terbang di dalam ruang masalah mengikuti partikel-
partikel yang optimum saat ini
• PSO berhenti ketika solusi optimum telah ditemukan atau kondisi tertentu telah
tercapai. Dengan konsep ini, PSO mudah diimplementasikan dengan sedikit pengaturan
parameter
Partikel
X : posisi partikel saat ini dalam ruang pencarian
P : posisi solusi terbaik yang ditemukan partikel
V : arah terbang partikel

x-fitness : nilai fitness dari vektor X


p-fitness : nilai fitness dari vektor P
Neighborhood topology: Ring (local) vs Star (global)
[Craig Reynolds, www.red3d.com/cwr/boids]
Update vektor velocity dulu, kemudian posisi
PSO Models
Maximum velocity

• Velocity partikel pada setiap dimensi dibatasi pada suatu velocity


maksimum Vmax
• Jika percepatan akan mengakibatkan velocity pada suatu dimensi
melebihi Vmax, maka velocity pada dimensi tersebut dianggap
sama dengan Vmax
• Nilai batas Vmax ditentukan oleh user
2 2
f ( x1 , x2 )  x1  x2
2 2
f ( x1 , x2 )  x1  x2
2 2
f ( x1 , x2 )  x1  x2
2 2
f ( x1 , x2 )  x1  x2
2 2
f ( x1 , x2 )  x1  x2
2 2
f ( x1 , x2 )  x1  x2
2 2
𝑓 = 𝑥 +𝑥
1 2
5

Optimum
-8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8

-1

-2

-3

-4

-5
5
P5
P1
4

2 P6

P3 Optimum
-8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8

-1

P4
-2 Best

-3
P2
-4

-5
P5
P1

P6

P3 Optimum

P4
Best

P2
P1 P5
Best

P3 P6
Optimum

P4
P2
P1 P5
Best

P3 P6
Optimum

P4
P2
P1

P5

P3

Optimum P6
Best

P2

P4
P1

P5

P3

Optimum P6
Best

P2

P4
P1

P3 P5

P6
P2 Best

P4
P5
P3
P1
P2 P6
P4
Fungsi multimodal: Drop Wave

1  cos12 x12  x 22 
f ( x1 , x 2 )    

1 2
2
2

x1  x 2  2

Global Minimum = -1
x1 = 0, x2 = 0
1  cos12 x12  x 22 
f ( x1 , x 2 )    

1 2
2

x1  x 22  2
PSO = Single-leader organization
PSO = Some static-leaders
PSO untuk TSP?
• Satu Particle = satu solusi
• Partikel = vektor bernilai riil
• Urutkan nilai-nilai riil secara descending (dari besar ke kecil)
• Ranking = urutan kunjungan
• Indeks vektor = nomor kota
[Craig Reynolds, www.red3d.com/cwr/boids]
Firefly Algorithm (FA)

Tiga aturan FA (Yang et al., 2013)


• Semua kunang-kunang adalah unisex: setiap firefly akan tertarik satu sama lain
• Daya tarik (attractiveness) kunang-kunang bersifat proposional terhadap
intensitas cahaya (light intensity) yang dimilikinya. Kunang-kunang yang memiliki
cahaya kurang terang akan tertarik dan bergerak ke kunang-kunang bercahaya lebih
terang. Jika tidak ada kunang-kunang bercahaya lebih terang dari dirinya, maka
kunang-kunang tersebut akan bergerak secara acak
• Intensitas cahaya kunang-kunang ditentukan oleh fungsi objektif. Untuk masalah
maksimasi, intensitas cahaya proposional dengan nilai fungsi objektif. Bentuk lain
dari intensitas cahaya dapat didefinisikan dengan cara yang mirip dengan fungsi
fitness pada algoritma genetika.
Attractiveness
Jarak
Gerak
FA

PSO
2 2
𝑓 = 𝑥 +𝑥
1 2
5

Optimum
-8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8

-1

-2

-3

-4

-5
5
F5
F1
4

2 F6

F3 Optimum
-8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8

-1

F4
-2

-3
F2
-4

-5
F5
F1

F6

F3 Optimum

F4

F2
F5

F1

F6

F3 Optimum

F4

F2
F5

F6

F1

F3 Optimum

F4

F2
F5

F6

F1

F3 Optimum

F4

F2
F5

F6

F1

F3 Optimum

F2
F4
F5

F6

F1

F3 Optimum

F2
F4
F5

F6

F1

F3 Optimum

F2
F4
F5

F6

F1
F3
Optimum

F2
F4
F5

F6

F1
Optimum

F3

F2
F4
F5

F6

F1
Optimum

F3

F2
F4
F5

F6

F1
Optimum

F4
F3

F2
F5

F6

F1
Optimum

F4
F3

F2
F5

F6

F1

F4
F3

F2
F6

F1
F5

F4
F3

F2
F6

F1
F5

F4
F3

F2
F5F1F6
F2
F4
F3
Fungsi multimodal: Drop Wave

1  cos12 x12  x 22 
f ( x1 , x 2 )    

1 2
2
2

x1  x 2  2

Global Minimum = -1
x1 = 0, x2 = 0
FA = Dynamic-leader organization
A firefly just follows any brighter
PSO FA
-0.93
-0.82

-0.84 -0.94

-0.86 -0.95

-0.88
Best Cost

Best Cost
-0.96
-0.9

-0.97
-0.92

-0.94 -0.98

-0.96
-0.99
-0.98

-1
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Iteration Iteration
Ukuran Performansi

Dua Ukuran Performansi:


• Efektivitas
• Efisiensi
Efektivitas
• Pada KBBI, efektif atau mangkus = “ada efeknya (akibatnya, pengaruhnya,
kesannya), manjur atau mujarab (tentang obat), dapat membawa hasil;
berhasil guna (tentang usaha, tindakan), atau mulai berlaku (tentang undang-
undang, peraturan)”
• Efektivitas metode SI = seberapa bagus solusi metode SI dibanding optimum
global atau seberapa sering metode SI menemukan optimum global
• Efektivitas metode SI dapat dihhitung dengan dua cara:
– Persentase solusi SI dibanding optimum global
– Persentase tercapainya optimum global dalam sejumlah running
Efektivitas

 S  100  90 
P  1    100% P  1    100%  90%
 G  100 
 

P = persentase solusi SI
G = maksimum global
S = selisih antara solusi yang dihasilkan SI dengan maksimum global
Efektivitas

 S  100  110 
P  1    100% P  1    100%  90%
 G  100 
 

P = persentase solusi SI
G = minimum global
S = selisih antara solusi yang dihasilkan SI dengan minimum global
Efektivitas

F 95
Q   100% Q  100%  95%
R 100

Q = persentase tercapainya optimum global


F = frekuensi tercapainya optimum global
R = jumlah running
Efisiensi
• Pada KBBI, efisien atau sangkil = “tepat atau sesuai untuk mengerjakan
(menghasilkan) sesuatu (tidak membuang-buang waktu, tenaga, biaya)”
• Efisiensi metode SI = seberapa besar biaya, waktu dan sumber daya
komputer, yang diperlukan untuk menemukan optimum global
• Efisiensi metode SI dihitung berdasarkan dua variabel:
– Jumlah Individu (ukuran populasi)
– Jumlah Iterasi (evolusi)
Efisiensi
• PSO dengan 10 partikel  optimum global pada iterasi ke-500
• PSO dengan 8 partikel  optimum global pada iterasi ke-600

• PSO mana yang lebih efisien?


THANK YOU

Anda mungkin juga menyukai