1

粒子群优化(PSO)算法中,是否可以使用数据集来初始化粒子的位置,而不是使用统一的随机数?

4

1 回答 1

1

是的,可以使用数据集值而不是随机初始化来初始化群粒子。您需要从数据集中选择随机样本,并将其分配给群体粒子的位置向量。

群体粒子的初始化

class Particle:
    position=[]
    velocity=[]
    pbest=[]
  
    
    def __init__(self):
          for i in range(rows): // rows is number of sample in your dataset
            
                                       
             self.position=Training_dataset[i,:]
             self.velocity=np.random.rand(rows,columns) 
             // columns is number of dimensions or features in dataset
                                   
               self.pbest=self.position
                


for i in  range(no_of_sample_in_dataset):
    
            p=Particle()              
            swarm.append(p)
于 2018-03-01T17:02:01.183 回答