小科普:機器學習中的粒子群優化演算法!
“梯度下降不會讓你成為機器學習的專家”
PSO被認為是蟻群演算法、魚群演算法之外的一種群體智慧的優化演算法。後來它被簡化並用於解決優化問題。
PSO使用了一堆叫做蜂群的粒子,這些粒子可以四處移動並探索搜尋空間。
這些粒子的運動方向是-
-
粒子自身的先前速度(慣性)
-
與單個粒子最佳已知位置的距離(認知力)
-
遠離人群最知名的位置(社會力量)
基本上,粒子彼此間的共同通訊會使它們聚得更快。該群集不能完全探索搜尋空間,但可能會找到更好的解決方案。
有趣的是,當粒子的個體最佳狀態優於群體最佳時,群體運動的總體方向可以在任何時間點改變。這使得許多無序和更多機會接近成本函式的全域性最小值。
現在回到現實,PSO相對來說非常容易。
與梯度下降不同,成本函式不可微分的。這是Python中用於模擬這些群粒子的簡單實現。令人驚訝的是,你不需要很多數學。它只是簡單確定三種不同的速度並計算粒子的適應度。我們儘可能多地迭代。
全居最佳或群體最佳將得到最優價值。
每個粒子都描述一組引數值和初始速度(向量)。我們只需在成本函式中插入這些值來計算適應度。這將給出我們粒子的適應度。
在每次迭代中,我們計算每個粒子的適應度。獲得了群體的最佳適應值,現在我們只需簡單地更新速度,即我們之前討論過的初始速度、認知力和社會力量的結果。
這是一個可以幫助您實現它的程式碼段。
群體粒子的初始位置是任意的。 為了獲得最佳效果,您可以在搜尋空間的不同位置生成多個群,以獲得最佳效果。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509949/viewspace-2158395/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 粒子群演算法中對於學習因子的改進演算法
- 聯邦學習中的優化演算法聯邦學習優化演算法
- 優化演算法庫DEAP的粒子群優化演算法(PSO)示例程式碼分析優化演算法
- 利用粒子群優化演算法(PSO)來優化vnpy的量化策略引數優化演算法
- 粒子群優化演算法對BP神經網路優化 Matlab實現優化演算法神經網路Matlab
- AI學習筆記——Tensorflow中的Optimizer(優化器)AI筆記優化
- 計算智慧(CI)之粒子群優化演算法(PSO)(一)優化演算法
- 【機器學習】新手必看的十種機器學習演算法機器學習演算法
- MLSys提前看:機器學習的分散式優化方法機器學習分散式優化
- 【機器學習】--迴歸問題的數值優化機器學習優化
- 機器學習中常見優化方法彙總機器學習優化
- 最實用的機器學習演算法優缺點分析機器學習演算法
- 收藏!機器學習演算法優缺點綜述機器學習演算法
- 機器學習中的元學習機器學習
- 機器學習演算法機器學習演算法
- 【機器學習】深度學習與經典機器學習的優劣勢一覽機器學習深度學習
- 深度學習 - 常用優化演算法深度學習優化演算法
- 小資料在機器學習中的重要性機器學習
- 機器學習中的聚類演算法演變及學習筆記機器學習聚類演算法筆記
- 【機器學習】深度解析機器學習五大流派中主演算法精髓機器學習演算法
- 機器學習演算法學習筆記機器學習演算法筆記
- 機器學習中的 CatBoost機器學習
- 深度學習中的優化方法(二)深度學習優化
- 深度學習中的優化方法(一)深度學習優化
- 機器學習 – 特徵選擇演算法流程、分類、優化與發展綜述機器學習特徵演算法優化
- 機器學習演算法:AdaBoost機器學習演算法
- 機器學習13種演算法的優缺點,你都知道哪些?機器學習演算法
- 深度學習優化演算法總結深度學習優化演算法
- 優化學習率相關演算法優化演算法
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 從 0 開始機器學習 - 機器學習演算法診斷機器學習演算法
- 併發優化 - 降低鎖顆粒優化
- 併發優化 – 降低鎖顆粒優化
- 【機器學習】機器學習建立演算法第1篇:機器學習演算法課程定位、目標【附程式碼文件】機器學習演算法
- 17個機器學習的常用演算法機器學習演算法
- Arduino和低功耗微控制器機器學習 - 優化延遲UI機器學習優化
- 機器學習演算法一覽機器學習演算法
- 機器學習——梯度下降演算法機器學習梯度演算法