Kumpulan algoritma optimasi yang paling umum digunakan untuk Ilmu Pengetahuan Data & Pembelajaran Mesin
Repositori ini dibuat oleh dan menjadi milik: https://github.com/muradmustafayev-03
Panduan Kontribusi: https://github.com/muradmustafayev-03/optimisation-algorithms/blob/main/contributing.md
Untuk melaporkan masalah apa pun: https://github.com/muradmustafayev-03/optimisation-algorithms/issues
Untuk menginstal paket sebagai penggunaan perpustakaan:
Pip Instal Optimisation-Algorithms
Kemudian untuk mengimpor:
Impor optimisation_algorithms
Dalam proyek ini saya mencoba mengumpulkan sebanyak mungkin algoritma optimasi yang berguna, dan menulisnya dengan cara yang sederhana dan dapat digunakan kembali. Idenya adalah menulis semua algoritma ini di Python, dengan cara yang mendasar, namun mudah digunakan, dengan Numpy menjadi satu-satunya perpustakaan eksternal yang digunakan. Proyek ini saat ini pada tahap awal pengembangan, tetapi orang sudah dapat mencoba dan mengimplementasikannya dalam proyek mereka sendiri. Dan yang pasti, Anda selalu dipersilakan untuk berkontribusi atau membuat saran. Umpan balik apa pun dihargai.
Untuk informasi lebih lanjut: https://en.wikipedia.org/wiki/mathematical_optimization
Algoritma optimasi adalah algoritma, yang digunakan untuk menemukan nilai input minima global , atau lebih jarang, dari maxima global fungsi suatu.
Dalam proyek ini, semua algoritma mencari minimum global dari fungsi yang diberikan. Namun, jika Anda ingin menemukan maxima global dari suatu fungsi, Anda dapat melewati negasi fungsi Anda: -f (x) , alih -alih f (x) , karena itu mimima akan menjadi maxima fungsi Anda.
Algoritma optimasi banyak digunakan dalam pembelajaran mesin , matematika dan berbagai ilmu terapan lainnya.
Ada beberapa jenis algoritma optimasi , jadi di sini ada deskripsi singkat dari yang digunakan dalam proyek:
Algoritma ini mulai dari titik acak atau tertentu, dan langkah demi langkah bergerak ke minima terdekat. Mereka sering membutuhkan turunan parsial atau gradien fungsi, yang membutuhkan fungsi agar dapat dibedakan. Algoritma ini sederhana dan berfungsi baik untuk fungsi seperti mangkuk , thow jika ada mor lebih dari satu fungsi minimum, ia dapat stok di minimum lokal , yang dilaksanakan menemukan yang global .
Algoritma ini dimulai dengan serangkaian solusi acak, kemudian secara kompetetik memilih solusi terbaik dari set dan berdasarkan pada mereka, menghasilkan serangkaian solusi baru yang lebih baik, sehingga mengembangkan setiap iterasi. Algoritma ini tidak stok pada minimum lokal , tetapi secara langsung menemukan yang global , sehingga dapat digunakan untuk banyak fungsi minimum lokal .
Fungsi benchmark digunakan untuk menguji algoritma optimasi , namun dapat digunakan sendiri. Ada beberapa fungsi benchmark yang digunakan dalam proyek ini, dan mereka dibagi menjadi beberapa jenis tergantung pada bentuknya.
Untuk informasi lebih lanjut dan definisi matematika fungsi, lihat: https://www.sfu.ca/~ssurjano/optimization.html