Sensors 2018, 18, 2674 6 of 29
ANNs are supervised models that are typically used for regression and classification problems.
The learning algorithms commonly used in ANNs include the radial basis function networks [
47
],
perceptron algorithms [
48
], back-propagation [
49
], and resilient back-propagation [
50
].
Also, a large
number of ANN-based learning algorithms have been reported, such as counter propagation
algorithms [
51
], adaptive-neuro fuzzy inference systems [
52
], autoencoder, XY-Fusion, and supervised
Kohonen networks [
53
], as well as Hopfield networks [
54
], multilayer perceptron [
55
], self-organising
maps [
56
], extreme learning machines [
57
], generalized regression neural network [
58
], ensemble neural
networks or ensemble averaging, and self-adaptive evolutionary extreme learning machines [59].
Deep ANNs are most widely referred to as deep learning (DL) or deep neural networks
(DNNs) [
60
]. They are a relatively new area of ML research allowing computational models that
are composed of multiple processing layers to learn complex data representations using multiple
levels of abstraction. One of the main advantages of DL is that in some cases, the step of feature
extraction is performed by the model itself. DL models have dramatically improved the state-of-the-art
in many different sectors and industries, including agriculture. DNN’s are simply an ANN with
multiple hidden layers between the input and output layers and can be either supervised, partially
supervised, or even unsupervised. A common DL model is the convolutional neural network (CNN),
where feature maps are extracted by performing convolutions in the image domain. A comprehensive
introduction on CNNs is given in the literature [
61
]. Other typical DL architectures include deep
Boltzmann machine, deep belief network [62], and auto-encoders [63].
2.4.7. Support Vector Machines
Support vector machines (SVMs) were first introduced in the work of [
64
] on the foundation of
statistical learning theory. SVM is intrinsically a binary classifier that constructs a linear separating
hyperplane to classify data instances. The classification capabilities of traditional SVMs can be
substantially enhanced through transformation of the original feature space into a feature space of
a higher dimension by using the “kernel trick”. SVMs have been used for classification, regression,
and clustering. Based on global optimization, SVMs deal with overfitting problems, which appear
in high-dimensional spaces, making them appealing in various applications [
65
,
66
]. Most used SVM
algorithms include the support vector regression [
67
], least squares support vector machine [
68
],
and successive projection algorithm-support vector machine [69].
2.4.8. Ensemble Learning
Ensemble learning (EL) models aim at improving the predictive performance of a given statistical
learning or model fitting technique by constructing a linear combination of simpler base learner.
Considering that each trained ensemble represents a single hypothesis, these multiple-classifier systems
enable hybridization of hypotheses not induced by the same base learner, thus yielding better results in
the case of significant diversity among the single models. Decision trees have been typically used as the
base learner in EL models, for example, random forest [
70
], whereas a large number of boosting and
bagging implementations have been also proposed, for example, boosting technique [
71
], adaboost [
72
],
and bootstrap aggregating or bagging algorithm [73].
3. Review
The reviewed articles have been, on a first level, classified in four generic categories; namely, crop
management, livestock management, water management, and soil management. The applications of
ML in the crop section were divided into sub-categories including yield prediction, disease detection,
weed detection crop quality, and species recognition. The applications of ML in the livestock section
were divided into two sub-categories; animal welfare and livestock production.