Informazioni sull'aggiornamento della velocità nell'ottimizzazione dello swarm di particelle binarie

3

Mi sto chiedendo come interpretare l'aggiornamento della velocità in un binario Particle Swarm Optimization ( PSO). Per ricapitolare l'aggiornamento di velocità:

V(t+1) = V(t) + c1 * r1 * (XlocalBest  - X(t))
                + c2 * r2 * (XglobalBest - X(t))

Capisco che il vettore di posizione binaria si rapporta ai valori nel dominio discreto. Tuttavia, il vettore binario contiene solo 0 e 1 s, dove la lunghezza di questo vettore è n -dimensionale. Quello che non ottengo è che il vettore di velocità con valore reale n prende il vettore binario% (%) di posizione e prende per esempio la differenza tra la migliore posizione locale a un dato indice e la posizione corrente.

È corretto che ci siano solo n , 0 valori che vengono sottratti per ogni valore di 1 nell'aggiornamento? (Quindi, ad esempio, X viene solo moltiplicato con c1 * r1 , 0 o 1 )?

Come posso utilizzare queste informazioni in relazione alla funzione sigmoid che viene spesso utilizzata in questi OSP? Dovrei aggiornare le velocità, e per esempio prendere un vettore di velocità delle particelle in cui ogni elemento è nel dominio -1 , e inserirlo nella funzione sigmoide, e attivare o disattivare le posizioni bit corrispondenti nel vettore binario della particella come [0,1) , dove r < sigmoid(velocity value) è casuale in r ? Questo suona giusto, o ho capito male?

    
posta user1511956 16.11.2013 - 05:45
fonte

0 risposte

Leggi altre domande sui tag