• 沒有找到結果。

The goal of top K Apps prediction is to predict the Apps which are likely used by the user at the query time from a set of Apps usage patterns with multiple features. We propose two algorithms to derive a list of top K Apps. One is the naive prediction and another one is adaptive prediction.

5.2.1 Naive Prediction Algorithm

Due to a user’s Apps usage patterns may include various features, round-robin selection is a naive approach to generate a list of top K Apps from Apps usage probability model with multiple features.

A round robin is an arrangement of choosing all elements in a group equally in some rational order.

The naive prediction algorithm is designed by the concept of round-robin selection. In each round of naive prediction algorithm, we select Apps according to the probability of each feature

sequen-Algorithm 1: Naive Prediction

foreach fi Of 2 Apps usage probability model do

4

Appi GetHighestProbability(fi) ;

5

tially and equally. Given a set of a user’s Apps usage patterns which formulated as the Apps usage probability model, the naive prediction algorithm generates the top K list of Apps by selecting one Apps based on the probabilities of each feature sequentially until the top K Apps are extracted. The naive prediction algorithm is shown in Algorithm 1.

Figure 5.1 shows an example of the naive prediction algorithm. First of all, the feature selection order is randomly determined as fg-ft-fp. In the first round, the App with the highest probability is selected from the global f requency, fg, which is the Phone App, and then the App with the highest probability is selected from the temporal frequency, ft, which is the Gmail App. Finally, the App with the highest probability is selected from the periodicity, fp, which is the Alarm App.

In the second round, we start selecting the Apps with second highest probability from each feature

Figure 5.2: An example of adaptive prediction for top K Apps

should be considered to improve the prediction accuracy. In our prediction problem, we attempt to predict a user’s App usage at the query time, i.e., what Apps may be likely used by the user at a specific time from the user’s App usage probability model. The App usage probability model includes three App usage features: global f requency, temporal f requency, and periodicity.

Global f requency represents the overall usage frequency of the App. T emporal f requency means the App is used frequently at the certain duration of time. P eriodicity indicates the usage of the App occurs in a certain period repeatedly and under the period exists the specific times. For a prediction at the specific query time, we suppose that the periodicity has the greatest predictive influence than others and temporal f requency has greater influence than global f requency.

In our experiment, we will verify that this feature selection ordering is the optimal combination for prediction accuracy. Based on the concept of feature selection ordering, we propose an adaptive prediction algorithm.

5.2.2 Adaptive Prediction Algorithm

In adaptive prediction algorithm, we first evaluate and extract the possible Apps from the App usage probability model, and then, we present a probability value, pv, to constrain the usage probability for the list of top K Apps generation, and a decreasing factor, df, to decrease the pv when the number of Apps is not reach to K. To generate the number of K ranking Apps, there is one or more

Algorithm 2: Adaptive Prediction

Input: Apps usage probability model, K, pv and df Output: A list of top K Apps, L

than one round to select the Apps. In the first round, the adaptive prediction algorithm selects the Apps of which the usage probability of periodicity is larger or equal than pv, and then selects the Apps of which the usage probability of temporal f requency is also larger or equal than pv, and finally selects the global f requency as the same way until picks number of K Apps. If there is no probability of Apps larger or equal than pv or the number of Apps does not reach to K, the pv is decreased by multiplying the decreasing factor df and goes to the next round to pick Apps until

our experimental results for the high accuracy. Second, a set of candidate Apps are extracted from Apps usage probability model, as shown in line 4 to 5. Third, an ordering list of Apps is generated by adaptive prediction under pv, as shown in line 6 to 7. Last, if the number of Apps does not reach to K, the pv is decreased by the decreasing factor df, as shown in line 11, and then repeat to the second step. As the selected Apps reach to K, the adaptive prediction algorithm ends and returns the top K Apps list.

Figure 5.2 shows an example of the adaptive prediction algorithm. Given the pv as 0.8 and the df as 0.9, in the first round, the Apps of which probabilities are higher than pv are selected from the periodicity, fp, which is the Alarm App, and then the Apps of which probabilities are higher than pv are selected from the temporal f requency, ft, which is the Gmail App. Lastly, the Apps of which probabilities are higher than pv are selected from the global frequency, fp, but there is no Apps of which probabilities are higher than pv. Since the number of Apps is not reach to the user defined K, the adaptive prediction goes to the second round and the pv is decreased by the df and continue selecting the Apps under the pv until the number of Apps reaches to K.

Chapter 6

Experiments

In this section, we evaluate our proposed methods for Apps usage patterns and the prediction algo-rithms. All algorithms in our system are implemented in the Java and PHP language on a Linux operating system computer with Intel Xeon Core 4 CPU (2.66GHz) and 8GB memory.

相關文件