SLP and MLP algorithms require setting appropriate thresholds to determine the output of the neural network. Selecting an appropriate threshold improves prediction accuracy of user activity. However, this is complicated as the output of the sigmoid activation function used is non-linear. Hence, the upper and lower thresholds were designed to be adaptive according to usage data patterns specified for learning.
Fig7Intelligent Widget_decryptedFig7Intelligent Widget_decrypted

Figure 7: Screen Shots of SLP, MI and MLP in action


Since a mobile phone platform is not suitable for file operations, the test environment could not be based on file inputs. Manual data entry was not practical as there was more than 20 days of user activity data. A special function, loadActivity, was implemented for the loading of test environments onto the mobile phone. Two main categories of test scenarios were created for each learning algorithm – weekly repeating user activity pattern and daily repeating user activity pattern. This enables algorithmic performance under a range of conditions to be analyzed and evaluated. A parameter decides the category of testing scenario to be used and loaded into a vector. At the end of each day, the next day’s data is loaded. Figure 7 shows some screen shots in different contexts.


Testing focuses on the prediction accuracy of usage pattern by the MI, SLP and MLP learning algorithms. Usage pattern comprises widget interaction activity, user location, time, traffic conditions and heart condition. Table 2 summarizes the overall performance.

Table 2: Summary Overview of Prediction Accuracy

Daily repeating usage pattern Weekly repeating usage pattern
Minimal Intelligence (MI) 57.6% 32.4%
Single Layer Perceptron with Error Correction (SLP) 97% 61%
Multi Layer Perceptron with BackPropagation (MLP) 97% 61.9%