布穀鳥搜尋演算法

布穀鳥搜尋演算法cuckoo search algorithm)係一種機械學習上會用嘅最佳化演算法:喺自然界,布穀鳥出咗名會喺第啲品種嘅雀鳥嘅巢嗰度生蛋,而啲布穀鳥仔生咗出嚟之後,仲會本能噉將同一個巢嘅蛋推出去巢外,等佢養父母集中精神淨係餵佢-布穀鳥仔會寄生喺第啲雀鳥嗰度;布穀鳥演算法就係建基於布穀鳥嘅繁殖過程嘅做法。虛擬碼如下[1]

 Objective function: 
 產生  個寄主巢;
 While 終止條件未達到
   隨機攞隻布穀鳥,設定佢個解答(解答喺機械學習上就係柞模型參數)
   評估佢嘅表現 
     [For maximization,  ];
   隨機攞個寄主巢,佢嘅表現係 
   if  放棄,以布穀鳥個解答取代;
   end if
   
   將表現最差嗰啲巢刪除;
   得淨低嗰啲巢有得繁殖。
 end while

參考

  1. Valian, E., Mohanna, S., & Tavakoli, S. (2011). Improved cuckoo search algorithm for feedforward neural network training. International Journal of Artificial Intelligence & Applications, 2(3), 36-43.