Memahami Particle Swarm Optimization dalam AI

Memahami Particle Swarm Optimization dalam AI

Particle Swarm Optimization (PSO) adalah metode komputasi yang berupaya mengoptimalkan masalah dengan mencoba secara iteratif untuk meningkatkan solusi kandidat ke ukuran kualitas tertentu.

PSO adalah teknik AI yang dapat mendekati solusi untuk masalah pemaksimalan dan peminimalan yang sangat sulit atau tidak mungkin yang melibatkan angka. Dengan menelusuri seluruh ruang dari masalah dimensi tinggi, PSO ternyata merupakan algoritme pengoptimalan yang baik. Selain itu, ini adalah metode pengoptimalan stokastik yang kuat berdasarkan pada bagaimana kawanan bergerak dan seberapa pintar mereka.

Prosedur

PSO menentukan cara memecahkan masalah dengan membuat sekelompok kemungkinan solusi, yang disebut “partikel”, dan memindahkannya melalui ruang pencarian berdasarkan rumus matematika sederhana untuk posisi dan kecepatannya. Tentu saja, secara lokal, gerak setiap partikel dipengaruhi oleh posisinya yang paling terkenal. Namun itu juga diarahkan ke peran yang lebih menonjol di ruang pencarian, yang berubah saat partikel lain menemukan pekerjaan yang lebih baik. Ini harus memindahkan Swarm ke jawaban terbaik.

Ini adalah metaheuristik karena tidak membuat banyak asumsi tentang masalah yang coba dipecahkan dan dapat menjangkau ruang besar dari kemungkinan solusi. Selain itu, PSO tidak menggunakan gradien masalah untuk dioptimalkan. Ini berarti bahwa tidak seperti metode penurunan gradien dan kuasi-Newton, PSO tidak memerlukan masalah optimisasi untuk dapat diselesaikan dengan lebih dari satu cara.

Algoritma

Versi sederhana dari Algoritma PSO bekerja dengan memiliki sekelompok solusi yang mungkin disebut “swarm” (partikel). Beberapa rumus sederhana memindahkan partikel-partikel ini melalui ruang pencarian. Partikel-partikel bergerak sesuai dengan posisinya yang paling terkenal di ruang pencarian dan posisi paling terkenal dari seluruh gerombolan. Saat posisi yang lebih baik ditemukan, mereka akan memandu pergerakan Swarm. Diharapkan, tetapi tidak dijamin, solusi yang baik akan ditemukan dengan melakukan ini berulang kali.

Step1: Randomly initialize Swarm population of N particles Xi ( i=1, 2, …, n)
Step2: Select hyperparameter values
           w, c1 and c2
Step 3: For Iter in range(max_iter): # loop max_iter times  
            For i in range(N): # for each particle:
               a. Compute the new velocity of ith particle
                    swarm[i].velocity = 
                         w*swarm[i].velocity + 
                         r1*c1*(swarm[i].bestPos - swarm[i].position) +
                         r2*c2*( best_pos_swarm - swarm[i].position) 
               b. If velocity is not in the range [minx, max], then clip it
                    if Swarm [i].velocity < minx:
                        swarm[i].velocity = minx
                    elif swarm[i].velocity[k] > maxx:
                        swarm[i].velocity[k] = maxx
               c. Compute the new position of the ith particle using its new velocity
                    swarm[i].position += swarm[i].velocity
               d. Update the new best of this particle and the new best of Swarm
                     if swaInsensitive to scaling of design variables.rm[i].fitness < swarm[i].bestFitness:
                        swarm[i].bestFitness = swarm[i].fitness
                        swarm[i].bestPos = swarm[i].position

                     if swarm[i].fitness < best_fitness_swarm
                        best_fitness_swarm = swarm[i].fitness
                        best_pos_swarm = swarm[i].position
             End-for
         End -for
Step 4: Return the best particle of the Swarm

Sumber algoritma: OSP – ikhtisar

READ  Microsoft menangguhkan pembaruan Windows 11; tahu kenapa

Meskipun hasil bervariasi untuk varian PSO tertentu, kinerja optimal diperoleh dengan kumpulan 70-500 partikel untuk sebagian besar algoritme PSO yang diperiksa, menunjukkan bahwa opsi konvensional seringkali terlalu kecil.

Kesimpulan

Tidak ada perbedaan yang signifikan antara dua proses skala kecil. Hanya solusi yang mendekati ideal yang dapat dihasilkan menggunakan algoritme genetika pada ukuran sedang dan besar. Pendekatan PSO mudah diterapkan dan memberikan perhitungan yang akurat.

Selain itu, algoritma PSO memiliki kekurangan yaitu tunduk pada optima lokal dalam ruang berdimensi tinggi dan memiliki tingkat konvergensi yang rendah selama fase iteratif.

Written By
More from Kaden Iqbal
WhatsApp menghentikan dukungan untuk iPhone ‘sangat tua’ ini
NEW DELHI: dimiliki oleh Facebook Ada apa dilaporkan akan menghentikan dukungan untuk...
Read More
Leave a comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *