91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: Python
  • 標簽: pso??bpnn??

資源簡介

粒子群優化算法對BPNN進行超參數優化的python代碼實現,親測可用

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-
“““
Created?on?Fri?Apr?13?20:40:15?2018

@author:?wanglei
“““
from?datasets?import?LoadData
from?datasets?import?Fitness
from?keras.models?import?Sequential
from?keras.layers?import?DenseDropoutActivation
from?keras.optimizers?import?AdamSGD
from?keras.utils.visualize_plots?import?figures??
import?matplotlib.pyplot?as?plt??
import?numpy?as?np

#數據導入
data?=?LoadData.load_data()
train_input?=?data[‘train_input‘]
train_output?=?data[‘train_output‘]
test_input?=?data[‘test_input‘]
test_output?=?data[‘test_output‘]

#神經網絡參數設置
inputnum?=?train_input.shape[1]
hiddennum?=?12
outputnum?=?train_output.shape[1]

#PSO?參數設置
pso_c1?=?1.499455
pso_c2?=?1.49445

pso_maxgen?=?200
pso_sizepop?=?30?#pso?種群中粒子數
pso_longpop?=?inputnum*hiddennum+hiddennum*outputnum+hiddennum+outputnum

pso_Vmax?=?1
pso_Vmin?=?-1
pso_popmax?=?5
pso_popmin?=?-5

#?粒子位置/速度初始化
pso_pop?=?10?*?np.random.rand(pso_sizepoppso_longpop)?-5
pso_V?=?2?*?np.random.rand(pso_sizepoppso_longpop)?-1

#?評價粒子適應度
pso_fitness?=?np.random.rand(pso_sizepop1)?+5
i?=?0?#pso種群粒子長度迭代index
while?i?????
????print?(?‘fitness:?‘?+?str(i))
????pso_fitness[i]=Fitness.fit(train_inputtrain_outputtest_inputtest_outputpso_pop[i])
????i?=?i?+1

pso_fitBest?=?pso_fitness.min()
pso_fitBest_index?=?np.argmin(pso_fitness)?
pso_zbest?=?pso_pop[pso_fitBest_index]?#全局最佳
pso_gbest?=?pso_pop?#個體最佳?初始為pop初始值
pso_zbest_fit?=?pso_fitBest?#全局最佳值的適應度
pso_gbest_fit?=?pso_fitness
fit_history?=?[]

fit_history.append(pso_zbest_fit)

#PSO?迭代
j?=?0?#?pso種群迭代代數index
k?=?0?#?pso種群粒子長度迭代index
while?j?????print?(?‘gen:‘?+?str(j))
????
????while?k?????????print(?‘gen:‘?+?str(j)?+?‘pop?update:‘?+?str(k))
????????
????????#速度更新
????????pso_V[k]?=?pso_V[k]?+?pso_c1?*?np.random.random_sample()?*?(pso_gbest[k]?-?pso_pop[k])?+?pso_c2?*?np.random.random_sample()?*?(pso_zbest?-?pso_pop[k])
????????#超過界限的置為界限
????????pso_V[k][np.argwhere(pso_V[k]?>?pso_Vmax)]?=?pso_Vmax
????????pso_V[k][np.argwhere(pso_V[k]?????????
????????#位置更新
????????pso_pop[k]?=?pso_pop[k]?+?0.2?*??pso_V[k]
????????pso_pop[k][np.argwhere(pso_pop[k]?>?pso_popmax)]?=?pso_popmax
????????pso_pop[k][np.argwhere(pso_pop[k]?????????
????????#自適應變異
????????if?np.random.random_sample()?>?0.95:
????????????pso_pop[k][np.random.randint(0pso_longpop)]?=?10?*?np.random.random()?-5
???????????????????
????????pso_fitness[k]=Fitness.fit(train_inputtrain_outputtest_inputtest_outputpso_pop[k])
????????k?=?k?+?1
????????
????#更新個體/群體最優值
????k?=?0
????while?k?????????print?(‘gen:‘?+?str(j)?+?‘?best?update‘?+?str(k))
????????if?pso_fitness[k]?????????????pso_gbest[k]?=?pso_pop[k]
????????????pso_gbest_fit[k]?=?pso_fitness[k]
????????????
????????if?pso_fitness[k]?????????????pso_zbest?=?pso_pop[k]
????????????pso_zbes

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3345??2018-04-13?20:43??PSO.py

?????文件???????2773??2018-07-17?20:42??PSO_BP.py

-----------?---------??----------?-----??----

?????????????????6118????????????????????2


評論

共有 條評論