- 242 Views
- Uploaded on
- Presentation posted in: General

Binary Particle Swarm Optimization (PSO)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Particle m

…..

Particle 1

Generate and initialize particles with random position (X) and velocity (V)

Evaluate position (Fitness)

Update Position

If fitness(X) >fitness(Pbest)

Pbest=X

If fitness(X) >fitness(Gbest)

Gbest=X

Update velocity

Termination criterion is met? (e.g., Gbest=sufficient good fitness or maximum generations)

Yes

No

Return the best solution

A Particle

Position vector,

(m is the total number of particles).

(n is the dimension of data).

Velocity vector,

is limited by

- A particle = a solution or a gene subset.
- If bit is 1,gene is selected.
If bit is 0,gene is unselected.

Particle position

Gene expression data

A subset of selected genes by a particle

An example of a particle position representation in PSO for gene selection.

Updating the velocity of a particle:

Inertia

W = inertial weight.

= velocity for particle i at dimension d.

Personal influence

= acceleration constant.

= random value.

= position for particle i at dimension d.

= the best previous position of the ith particle.

Global influence

= acceleration constant.

= random value.

= the global best position of all particles.

Updating the position of a particle:

if

= random value.

else

Idea

Action

Position update

A new and simple rule

Based on the whole of bits of a particle

(Not based on single bit)

Velocity update

Particle velocity should be positive

1) if

=>

or

2) if

=>

or

Analyzing the sigmoid function:

The properties of the sigmoid function

3) if

=>

or

1) Modify the rule of position update:

- The diagnostic goal = to develop a medical procedure based on the least number of possible genes for accurate disease detection.
- Many previous works (biological and computational researches) have proved that a smaller number of genes can possible to produce higher classification accuracy.

A new and simple rule of position update:

if

= random value.

The whole of bits of a particle

else

2) A simple modification of the formula of velocity update

The whole of bits of particles

Calculation for the distance of two position.

Example:

and

Step 1) Calculate the difference of bits for

a = 4

b = 3

Step 2) Calculate the distance between

and

3) A Fitness Function:

is leave-one-out-cross-validation (LOOCV) accuracy on the training set using the only genes in

is the number of selected genes in

M is the total number of genes for each sample

and

are two priority weights corresponding to the importance of accuracy and the number of selected genes, respectively.