Concrete is the most important material in construction. Quality of concrete mainly depends on the constituent materials and their proportions. The objective is to design concretes having some given properties. The result must be a product with the highest quality by following the specifications and reduced cost by using the exact mix.

Compressive strength is one of the most important properties of concrete. It is measured by breaking cylindrical concrete specimens in a compression-testing machine. Depending on the application (building, highway...) we need a concrete with a specific compressive strength or another.

A set of compressive strength tests has been performed in the laboratory for 425 concrete specimens with different ingredients.

The concrete compressive strength is a highly nonlinear function of age and ingredients. The objective is to model the compressive strength from these components.

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

The basic goal here is to model the compressive strength, as a function of the concrete components.

The first step is to prepare the data set, which is the source of information for the approximation problem. It is composed of:

- Data file.
- Variables information.
- Instances information.

The data file concrete_properties.csv contains 8 columns and 425 rows.

The next listing shows the variables in the data set and their use:

**cement**, in kg/m3.**blast_furnace_slag**, in kg/m3.**fly_ash**, in kg/m3.**water**, in kg/m3.**superplasticizer**, in kg/m3.**coarse_aggregate**, in kg/m3.**fine_aggregate**, in kg/m3.**compressive_strength**, in MPa.

The samples are divided into a training, a selection and a testing subsets. They represent 60% , 20% and 20% of the original instances, respectively, and are splitted at random.

The second step is to set the neural network stuff. For approximation project types, a neural network is usually composed by:

- Scaling layer.
- Perceptron layers.
- Unscaling layer.

The scaling layer contains the statistics on the inputs calculated from the data file and the method for scaling the input variables. Here the minimum and maximum method has been set. Nevertheless, the mean and standard deviation method would produce very similar results.

In this case, we use two perceptron layers.

The unscaling layer

The fourth step is to select an appropriate training strategy. It is composed of two things:

- A loss index.
- An optimization algorithm.

The loss index chosen is the normalized squared error with L2 regularization.

The normalized squared error divides the squared error between the outputs from the neural network and the targets in the data set by a normalization coefficient. If the normalized squared error has a value of 1 then the neural network is predicting the data 'in the mean', while a value of zero means perfect prediction of the data. This error term does not have any parameters to set.

The L2 regularization is applied to control the complexity of the neural network by reducing the value of the parameters. A weak regularization weight is applied here.

The learning problem can be stated as to find a neural network which minimizes the loss index. That is, a neural network that fits the data set (error term) and that does not oscillate (regularization term).

The next step in solving this problem is to assign the optimization strategy. We use the quasi-Newton method here.

The neural network is trained to obtain the best possible performance. The next table shows the training history.

The best generalization is achieved by using a model whose complexity is the most appropriate to produce an adequate fit of the data. Order selection is responsible of finding the optimal number perceptrons.

In this example, the order selection algorithm selected is the simulated annealing. It is evaluated with a maximum order of 15 hidden perceptrons and with a cooling rate of 0.8.

The output of the results shows the next graph with the losses for each order evaluated. The red line represents the selection loss, and the blue line symbolizes the training loss.

It also shows a table with the losses for the optimal order and some final states of the algorithm.

The algorithm selects the order with the minimum selection loss, and for greater values than this order the selection error increase because the overfitting of a complex model.

A standard method for testing the prediction capabilities is to compare the outputs from the neural network against an independent set of data.

The next plot shows the predicted compressive strength values versus the actual ones. As we can see, both values are very similar for the entire range of data. The correlation coefficient is close to 1, which indicates that there is a good correlation.

It is also convenient to explore the errors made by the neural network on single testing instances. In this example, some outliers are removed to achieve the best possible performance. The mean error is 5.53%, with a standard deviation of 3.69%, which is a good value for this kind of applications.

Once we know that the neural network can predict the compressive strength accurately, we can move to the model deployment phase to design concretes with desired properties.

It is very useful to see the how the outputs vary as a function of a single input, when all the others are fixed. Directional outputs plot the neural network outputs through some reference point.

The next list shows the reference point for the plots.

**cement**:265 kg/m3.**blast_furnace_slag**:86 kg/m3.**fly_ash**:62 kg/m3.**water**:183 kg/m3.**superplasticizer**:7 kg/m3.**coarse_aggregate**:956 kg/m3.**fine_aggregate**:764 kg/m3.**compressive_strength**: MPa.

The following plot shows how the compressive strength varies with the cement amount for that reference point.

The next listing is the mathematical expression represented by the predictive model.

The formula from below can be exported to the software tool required by the customer.

The purpose of improving quality of concrete was to help construction companies to obtain the best product suited to their needs at minimum cost. We have used a neural network to model 425 specimens of concrete, in order predict the compressive strength as a function of the constituent materials and their proportions.

To conclude, neural networks are a simple and efficient method which can bring a competitive advantage to your business.

- I-Cheng Yeh, "Modeling of strength of high performance concrete using artificial neural networks", Cement and Concrete Research, Vol. 28, No. 12, pp. 1797-1808 (1998).