Model the adhesive strength of nanoparticles

End-to-end machine learning examples

The use of nanoparticles for the early diagnosis, treatment and imaging of a number of disorders has raised in the last years.

Indeed, they can be administered at the systemic level and can be transported by blood flow and reach any site within the macrovascular and microvascular circulation.

The aim of this study is to predict the vascular adhesion of nanoparticles from their wall shear rate and their diameter.


  1. Application type
  2. Data set
  3. Neural network
  4. Training strategy
  5. Model selection
  6. Testing analysis
  7. Model deployment

1. Application type

This is an approximation project, since the variable to be predicted is continuous (adhesive strength).

The basic goal here is to model the adhesive strength, as a function of the shear rate and the particle diameter.

2. Data set

The data set contains three concepts:

The file nanoparticle_adhesive_strength.csv contains 58 rows, each of them with 3 columns.

This data set has the following variables:

For the analysis, we split the instances as follows: 60% for training and 40% for testing.

We can calculate the distributions of the variables. The following chart shows the histogram for the adhesion variable.

As we can see, the adhesion has a semi-normal distribution.

The inputs-targets correlations help us to understand which input variables might have a bigger influence on the target variable.

The particle diameter has a bigger correlation with the particles adhering than the shear rate. On the other hand, the particle diamter correlation is positive and the shear rate correlation is negative.

3. Neural network

In this section, we design a model that approximates the number of particles adhering per unit area, as a function of shear rate and particle diamter. The model will be a neural network composed by:

A graphical representation of the neural network is depicted next. From the left to the right we have the two inputs, the scaling layer, two perceptron layers, the unscaling layer and the outputs. The number of neurons in the first perceptron layer, or complexity, is 3.

4. Training strategy

The training strategy is applied to the neural network to obtain the best possible performance. The type of training is determined by the way in which the adjustment of the parameters in the neural network takes place.

The following chart shows how the training and selection errors decrease with the epohs during the training process. The final values are trainig error = 0.062 NSE and selection error = 0.098 NSE, respectively.

5. Model selection

The objective of model selection is to find the network architecture with best generalization properties, that is, that which minimizes the error on the selection instances of the data set.

More specifically, we want to find a neural network with a selection error less than 0.098 NSE, which is the value that we have achieved so far.

Order selection algorithms train several network architectures with different number of neurons and select that with the smallest selection error.

The incremental order method starts with a small number of neurons and increases the complexity at each iteration. The following chart shows the training error (blue) and the selection error (orange) as a function of the number of neurons.

6. Testing analysis

Once we have trained the model, it is time to test its predictive capacity. This will be done by comparing the outputs from the neural network against the real target values for a set of data never seen before. The testing analysis will determine if the model is ready to move to the production phase.

The next chart illustrates the linear regression analysis for the variable particles_adhering.

For a perfect fit, the values of the intercept, slope and correlation should be 0, 1 and 1, respectively. In this case, we have intercept = -2.57, slope = 1.11 and correlation = 0.946. The achieved values are close to the ideal ones, so the model shows a good performance.

7. Model deployment

In the model deployment phase the neural network is used to make predictions about the number of particles adhering for new values of wall share rate and diameter.

We can plot directional outputs to study the behavior of the output variable particle_adhering as function of single inputs. The following reference point is used:

The next picture shows the number of particles adhering as a function of the wall shear rate around the reference point.

As we can see, for this value of the particle diameter, the number of particles adhering keeps more or less constant till the wall shear rate reaches the values around 70 and then it starts drecreasing.

On the other hand, the next image represents the number of particles adhering as a function of the particle diameter and for a reference point of the wall shear rate with value 73.4211.

In this case, for this value of the wall shear rate, the number of particles adhering increases till the particle diameter reaches the value 5 and then it starts decreasing.

As well, we can use the mathematical expression of the neural network, which is listed next.

scaled_shear_rate = 2*(shear_rate-50)/(90-50)-1;
scaled_particle_diameter = (particle_diameter-3.38896)/2.38932;
y_1_1 = tanh(0.767924+ (scaled_shear_rate*-0.811769)+ (scaled_particle_diameter*2.21102));         
y_1_2 = tanh(2.08552+ (scaled_shear_rate*-1.88506)+ (scaled_particle_diameter*-1.04971));
scaled_particles_adhering =  (-0.772609+ (y_1_1*0.646181)+ (y_1_2*0.542708));
particles_adhering = 0.5*(scaled_particles_adhering+1.0)*(74.75-13.22)+13.22;


Related solutions: