4 Theory and Design and Implementation
5.7 Experiment 5 –Mitigating System Resource Demands
5.6.2. Deep learning Performance
Deep learning was observed to takes 50 times more to train the same dataset. The time taken to train a neural network depends on the number of iterations and the number of hidden layers. Two hidden layers were used for the network because the previous experiments carried out gave the most accurate results with two hidden layers. Further the more the number of hidden layers the more the system resources consumed. To test performance the Netbeans profiler was used to estimate the neural networks training time. To train the Neural Network 500 iterations were used as shown in Figure 5.20. The neural network was observed to learn after about 150 iterations on average.
126
Figure 5.20 Deep learning total network error graph
Netbeans profiler gave the time taken for 500 iterations as 101,865ms on average as shown in Figure 5.21. This gives the average time for 150 iterations as 30559.5ms (30.56s), which is approximately 50 times longer than EM Clustering.
127 Figure 5.21 Deep learning performance
To address the performance challenge presented by deep learning, deep learning is used off-line rather than at runtime as was the case with EM clustering. Deep learning would therefore compliment the use of EM clustering. This would be achieved by running deep learning on validation logs periodically to validate the results of EM clustering and then using the results to update the validation rules where discrepancies were detected. This way the framework would benefit from the accuracy of deep learning without compromising performance at runtime.
5.8
Summary
Because information access still remains a big challenge in most countries, the provision of a solution that enables users to access only relevant information significantly eases the cost and time burden experienced. In this chapter a health care case study that was used to test the prototype was described. The choice of the case study was motivated by the fact that it presents multiple triggers that can be used to test dynamic adaptation as well as evaluate the self-validating framework proposed. If the decision model falls short in some way, the system should evolve to update the decision rules seamlessly. This scenario enabled the testing of the self-adaptation, validation and evolution process.
128 To evaluate the framework five experiments were conducted. The objective of the first experiment was to show the frameworks ability to self-validate following an adaptation decision through the use of machine learning algorithms. Because adaptation is often as a result of multiple triggers that sometimes conflict, the second experiment set out to evaluate the frameworks ability to adapt and self-validate in the presence of multiple conflicting triggers. Self-validation could trigger further adaptation if the identified adaptation decision is not acceptable to the user. This iterative behavior could continue indefinitely if the system is not able to accurately learn resulting in an unstable system. The third experiment therefore set out to gauge how well the framework was able to learn based on the stability of the resultant system. Because of limitations experienced when analyzing natural data with clustering algorithms, a fourth experiment was set up to investigate the accuracy of the developed framework. A comparative analysis of EM clustering and deep learning algorithms was conducted to show how the later improved the accuracy of the self-validation process. Finally it was observed that deep learning also placed heavy constraints on system recourses. The objective of the last experiment was to determine the extent to which deep learning constrained the system and identify a solution to the challenge.
Results from the experiment showed that the dynamic adaptation of service oriented systems can be significantly enhanced by incorporating validation in the process. Given that user requirements are dynamic it is difficult to statically determine them and create adaptation rules. Further it is difficult to comprehensively identify all the triggers of adaptation beforehand. Adaptation rules therefore need to be developed at runtime based on changing user requirements. This can only be achieved through a self-validating process where the self-adapting system learns on the fly. Machine learning algorithms can be used to implement the self-learning process.
It is worth noting however that the approach was tested using a single case study. The use of several case studies and a variety of user devices can further validate the framework. Additionally only two machine learning techniques were used. The framework can be improved on by performing further evaluation using other learning algorithms. A longitudinal survey that makes use of more data and a larger geographic location would also have helped in gauging the stability and accuracy of the framework.
The proposed framework can be used in any other scenario where the application used needs to change its behavior depending on external or internal environment triggers. With many
129 governments providing services to citizen online, such a solution will address the challenge presented by poor infrastructure and limited technology access among low income earners. The same approach can be used for marketing consumer products or in the development of early warning systems. The ability to self-adapt, self-validate, and self-evolve gives systems a longer life than would otherwise be the case, hence saving users the cost and hustle associated with frequently having to search for updates.
130