• 沒有找到結果。

探勘智慧型手機中應用程式使用行為之研究

N/A
N/A
Protected

Academic year: 2021

Share "探勘智慧型手機中應用程式使用行為之研究"

Copied!
91
0
0

加載中.... (立即查看全文)

全文

(1)

資訊科學與工程研究所

探勘智慧型手機中應用程式使用行為之研究

A Study on Mining Apps Usage Behavior in Smartphones

研 究 生:廖忠訓

指導教授:彭文志 教授

中 華

華 民

民 國

國 一

一 百

百 零

零 二

二 年

年 八

八 月

(2)

探勘智慧型手機中應用程式使用行為之研究

A Study on Mining Apps Usage Behavior in Smartphones

研 究 生:廖忠訓 Student:Zhung-Xun Liao

指導教授:彭文志 Advisor:Wen-Chih Peng

國 立 交 通 大 學

資 訊 科 學 與 工 程 研 究 所

博 士 論 文

A Dissertation

Submitted to Department of Computer Science

College of Computer Science

National Chiao Tung University

in partial Fulfillment of the Requirements

for the Degree of

Doctor of Philosophy

in

Computer Science

August 2013

Hsinchu, Taiwan, Republic of China

(3)

探勘

勘智

智慧

慧型

型手

手機

機中

中應

應用

用程

程式

式使

使

使用

用行

行為

為之

之研

研究

學生: 廖忠訓

指導教授: 彭文志

國立交通大學資訊科學與工程研究所博士班

摘要

隨著智慧型手機的普及,愈來愈多的行為應用程式(mobile applications)被開發及設計。使用者可以 由網路上下載這些Apps來處理各種需求,例如:相機、地圖、瀏覽器、音樂播放器,…等。並且,由於 手機的行動性,這些下載、執行及移除的行為可以發生在任何的時間及任何的地點。因為,智慧型手機 的使用記錄便成為一個複雜的時間空間資料。在本論文中,主要將探討四個主題:(1)以個人化特徵挑選 進行Apps使用預測、(2)以時間性履歷進行Apps使用預測、(3)使用者Apps動態喜好模型、(4)探勘以多 維度序列為基礎之使用者Apps使用樣式。第一個主題中,我們將收集智慧型手機上的各種感測器,包含硬體感測器,例如:時間、加速度、 地理位置、等…;軟體感測器,例如:Apps的使用順序。這些感測裝置的讀數可以有效的利用來預測使 用者的Apps使用情況。然而,智慧型手機上的感測裝置非常多,收集這些讀數不只會造成儲存空間上的 浪費,也會花費額外的能源來進行感測。因此,我們在這個主題中,會以個人化的觀點進行特徵挑選, 只有有利於預測該使用者的Apps使用的感測裝置會進行感測。如此便用大量的降低儲存訓練資料所需的 空間及感測時消耗的能量。 在第二個主題中,我們只參考時間的因素來進行Apps使用預測。我們利用傅立葉轉換來得到Apps的 使用週期,接著根據這些找出來的週期為每一個App進立他的時間性履歷。此時,由於時間資訊已經被 傅立葉轉換所消除,我們必需將具有相同週期但發生在不同時間的行為區隔開。在這裡,我們利用階層 式分群法來將類似的行為分為一群,並且視其為一種使用行為。最後,我們提出一個分數計算的系統, 可以計算出每一個App在目前時間可能被執行的機會。但由於這個機率的運算需要對App的使用機率密 度進行積分,而積分的計算對於手機來說是一項耗費能源的動作。因此,我們提出一個以柴比雪夫不等 式為基礎的分數計算方式,可以不需要進行積分,便能計算出App可能被使用的機率。 在第三個主題中,我們發現使用者的喜好是會隨著時間而改變。但大部份的使用者不會對他們所下載 的Apps進行評分,而不可能在他們每次改變喜好時,不停的重新評分。在這個主題中,我們以上一個時

(4)

間點的喜好搭配上目前時間點的使用次數來計算目前時間點的喜好。然而,使用次數並無法完整的反應 出使用者的喜好。例如:對於某些使用者來說,通訊Apps,像是Line、Whatsapp的使用次數必定比生 產力工具來得多。於是,在這個主題中,我們以線性迴歸來代表使用者喜好變化的趨勢,而該使用者喜 好的變化,便能以迴歸線的斜率來表示。第四個主題中,我們設計了一個特殊的序列樣式,稱為多維度序列樣式。由於Apps可能歸屬於各 種不同的類別,因為,我們可以將Apps的使用記錄看成是一個多維度(類別)的序列。而最常出現的多維 度序列樣式,便可以用來代表這個使用者的使用行為。在這裡,我們提出一個傳遞式的探勘方式,只需 要在第一個維度進行序列樣式探,接著再透過傳遞的方式來組合其他維度相對應的樣式,便能組合出一 個多維度的序列樣式。除此之外,我們還提出一個增加效率的資料結構,可以只找出最短的樣式,再利 用此資料結構來延長樣式的長度。

(5)

A Study on Mining Apps Usage Behavior in Smartphones

Student: Zhung-Xun Liao

Advisor: Dr. Wen-Chih Peng

Department of Computer Science

National Chiao Tung University

ABSTRACT

Smartphones have played an important role nowadays. There are more and more mobile applications (Apps) designed for smartphones. Users could download and execute different Apps for different purposes, such as camera, maps, browser, mp3 player, and so on. Furthermore, users could buy (download), launch, close and remove Apps in any location and any time due to the powerful mobility of smartphones. Therefore, the usage behavior of smartphone obviously could be seen as a complex spatio-temporal data. In this thesis, we will focus on 1) identifying users personal features for predicting their mobile Apps usage, 2) predicting the Apps to be launched regarding the usage trace, 3) modelling the dynamic preference of Apps usage, and 4) discovering users mobile usage patterns which are represented as multi-domain sequential patterns.

In the first work, we predict Apps usage for users according to their personalized features which are collected from sensors attached on smartphones. We claim that the Apps usage behavior would be affected by the hardware sensors, such as time, GPS, Accelerometer, etc. and the software sensors, such as the Apps usage sessions. Thus, we could predict user’s Apps usage in advance through collecting those sensor readings. However, to collect all of the sensors readings is impractical and inefficient. Here, we only select a set of most useful sensors for every individual user. Therefore, the training data size and the sensing energy could be reduced.

In the second work, the temporal profiles is discovered for mobile Apps. We identify the periodicity of Apps via Fourier transform and consequently, the temporal profiles are thus constructed according to the usage periods of Apps. Furthermore, due to the temporal information is eliminated after we perform the Fourier transform, we have to identify the different sub-patterns which share the same period. Thus,

(6)

a hierarchical clustering is adopted to group similar sub-patterns and different groups are considered as different usage behaviors. Finally, we propose a scoring system based on Chebychev inequality which calculate the usage probability without performing integral on the usage density probability function.

In the third work, we observe that a user’s preference to the mobile Apps (s)he has installed is dynamic. However, users seldom rate their Apps and even re-rate them when their reference is changed. In this work, we collect the mobile Apps usage trace of a user and model the current preference according to previous preference and the current usage counts. However, the usage count does not reflect the preference directly. For example, for some users, the usage count of an IM App is definitely higher than that of a productive App. Therefore, we model the usage trend by linear regression and thus the preference change is based on the slope of the regression line.

In the forth work, we design a novel sequential pattern across multiple sequence databases to model the mobile Apps usage behavior and proposed an efficient algorithm, called PropagatedMine. The pro-posed PropagatedMine performs sequential pattern mining in one starting sequence database, and then propagate the discovered sequential patterns to other sequence databases. Furthermore, to reducing the amount of propagated patterns, a lattice structure is proposed to organize and composes multi-domain sequential patterns.

(7)

家都說當學生是最幸福的時光,而我一不小心就過得太幸福了,人生有多少個六年呢?扣掉前前後後的 時間,真正能有自已的想法、做自己想做的事的時間,大概只有五到六個吧,而其中一個,我把他拿來 念博士班。發表了七篇論文,在美國住了一年,結交了許多志同道合的好朋友。未來還有多少個六年可 以如此燦爛輝煌? 謝謝我的指導教授彭文志老師,從進來念博士班開始就一直不斷的鼓勵我,讓我相信只要不停的嘗試, 努力的成果終將會被看見。這六年來,他用過去的經驗給我許多寶貴的建議,從他身上我學到了要勇敢 的嘗試並且不怕失敗,這不僅僅是學術研究上的成長,更是對人生態度的成熟。另外,也很感謝他帶我

識許多國內外傑出的教授,尤其是Data Mining的大師Prof. Philip Yu,讓我有機會能到芝加哥進行一

年的訪問,體驗不同的文化與生活,開拓了眼界。

Prof. Philip Yu是一位標準的學者,熱愛研究但不是那種只侷限在自己領域裡的教授,也因為這樣的特 性,使得他總是能夠在很短的時間內,激發出不同的思維,這也是他和許多號稱大師的教授不同之處。 每當我的研究有缺陷,思考得不夠清楚時,他總是能夠從其他的視野看到研究的價值,進而修改研究的 方向,或補充不足之處,而不會因為遇到問題就全盤推翻所有的研究成果,這樣的態度也改變了我看待 事情的角度,懂得去欣賞每件事物的美,學習保留他們的優點。在美國的這一年是博士班生涯裡最自由在的時光,可以專心的做自己的研究,同時,也讓我重拾對研究的熱情。 最重要的,要感謝我的家人,每次過年過節回家,你們總是不厭其煩的問我什麼時候要畢業,雖然場面 都會因此變得很尷尬,但你們的關心卻支持著我,讓我無後顧之優,安心的把博士班念完。感謝實驗室 裡每一位陪我渡過漫漫長路的學弟妹們,因為你們讓苦澀變的甘甜。最後,我要感謝那些看不起我及我 做的研究的人,有一句話是這麼說的,「當你需要勇氣時,上帝就給你阻礙」,我知道你們是上帝派來 給我勇氣的,謝謝你們。 人生的每個選擇都決定了未來不一樣的路,這六年來遇過好幾個關鍵的抉擇,換論文方向、國科會千里 馬計畫到芝加哥訪問、進入HTC實習,遇到的每個人,做的每個決定都成就了現在的我及這本論文。沒 有人知道如果當初做了別的決定或是往另一個方向走,現在的我會在哪裡?如果當初選擇先畢業而沒有去 經歷這些看似荒唐又浪費時間的事,現在的我又會是甚麼模樣?然而,我喜歡現在的自己,謝謝你們讓我 成為這樣的我。 謹以本論文獻給你們,因為你們豐富了我的人生,讓這篇論文有了生命。

(8)

Contents

Abstract i

Acknowledgements v

Contents vi

List of Figures viii

List of Tables x

1 Introduction 1

1.1 On the Feature Discovery for App Usage Prediction in Smartphones . . . 2

1.2 Mining Temporal Profiles of Mobile Applications for Usage Prediction . . . 2

1.3 Mining Usage Traces of Mobile Apps for Dynamic Preference Prediction . . . 3

1.4 Mining Sequential Patterns Across Multiple Sequence Databases . . . 3

2 On the Feature Discovery for App Usage Prediction in Smartphones 5 2.1 Introduction . . . 5

2.2 Related Works . . . 8

2.3 Explicit and Implicit Features . . . 8

2.3.1 Explicit Feature Collection . . . 9

2.3.2 Implicit Feature Extraction . . . 9

2.4 Personalized Feature Selection . . . 13

2.5 Experimental study . . . 15

2.5.1 Dataset Description . . . 15

2.5.2 Performance Metrics . . . 15

2.5.3 Experimental Results . . . 16

2.5.4 Comparison of Different Usage Behavior . . . 17

2.5.5 Impact of Different Parameters . . . 19

(9)

3 Mining Temporal Profiles of Mobile Applications for Usage Prediction 22

3.1 Introduction . . . 22

3.1.1 System Framework . . . 23

3.1.2 Demonstration of the System . . . 24

3.2 Design and Implementation . . . 24

3.2.1 Mining Temporal Profiles . . . 24

3.2.2 Apps Usage Prediction . . . 26

3.3 Experimental Evaluation . . . 27

3.4 Conclusions and Future Work . . . 28

4 Mining Usage Traces of Mobile Apps for Dynamic Preference Prediction 29 4.1 Introduction . . . 29

4.2 Related Work . . . 31

4.3 Preliminary . . . 31

4.4 Dynamic Preference Prediction . . . 32

4.4.1 Mode-based Prediction (MBP) . . . 33 4.4.2 Reference-based Prediction (RBP) . . . 34 4.5 Experimental Results . . . 37 4.5.1 Environment . . . 38 4.5.2 Performance Evaluation . . . 39 4.6 Conclusion . . . 40

5 Mining Sequential Patterns Across Multiple Sequence Databases 42 5.1 Introduction . . . 42

5.2 Related Works . . . 44

5.3 Preliminaries . . . 46

5.4 Algorithms of Mining Multi-domain Sequential Patterns . . . 48

5.4.1 Naive Algorithm with One Multi-domain Sequence Database . . . 49

5.4.2 Algorithm IndividualMine: Mining Patterns in Each Domain . . . 50

5.4.3 Algorithm PropagatedMine: Propagating Sequential Patterns among Domains . . 53

5.4.4 Mining Relaxed Multi-domain Sequential Patterns . . . 60

5.5 Performance Evaluation . . . 61

5.5.1 Simulation Model . . . 61

5.5.2 Experimental Results . . . 62

5.6 Conclusions . . . 69

(10)

List of Figures

1.1 Overview of this dissertation. . . 1

2.1 Overview of kNN-based App Prediction framework. . . 6

2.2 Varied recalls of predicting Apps usage via different types of sensors for different users. . . 9

2.3 The PDF of the duration of two consecutive App launches. . . 10

2.4 An example of the Apps Usage Graph (AUG). . . 11

2.5 Steps of obtaining the implicit feature of App3in the training case, · · · → App1 1 −→ App2 0.5 −−→ App1 0.5 −−→ App3. . . 12

2.6 An example of feature selection where the red data points are correctly predicted. . . 14

2.7 Impact of the number of prediction, k. . . 16

2.8 Impact of top-k frequency. . . 17

2.9 Impact of the number of Apps. . . 18

2.10 Impact of the usage count. . . 18

2.11 Impact of the entropy of Apps. . . 19

2.12 Impact of training length. . . 20

3.1 An example of the AppNow widget on a smart phone. . . 23

3.2 The system flow of AppNow. . . 23

3.3 An example of periodicity detection. . . 25

3.4 An example of behavior identification. . . 25

3.5 An example of specific times discovery. . . 26

3.6 Precision and recall of specific times discovery. . . 27

3.7 The comparison of different prediction approaches. . . 28

4.1 The number of usages of different mobile applications. . . 30

4.2 The preferences derived by MBP comparing with the Ideal preferences. . . 34

4.3 Estimate the expected usage count (marked as a star point). . . 35

4.4 Accuracy evaluation with different k. . . 39

(11)

4.6 Accuracy evaluation with the size of reference history varied. . . 40

5.1 An example of multi-domain sequential pattern. . . 43

5.2 Overview of algorithm IndividualMine. . . 51

5.3 Overview of algorithm PropagatedMine. . . 53

5.4 An example of lattice structures for sequential patterns in a starting domain (i.e., D1 in Table 2). . . 54

5.5 Example of generating atomic patterns in domain D2. . . 56

5.6 An Example of generating sequential patterns with one element in domain D2. . . 57

5.7 Example of generating sequential patterns with more than one element in domain D2. . . 59

5.8 Execution times of the three algorithms with various minimum support thresholds. . . 63

5.9 Performance of Naive, IndividualMine, and PropagatedMine with the number of sequences varied. . . 64

5.10 Performance of Naive, IndividualMine, and PropagatedMine with the average number of elements within a sequence varied. . . 65

5.11 Number of patterns propagated in IndividualMine and PropagatedMine with the average number of elements within a sequence varied. . . 66

5.12 Performance of Naive, IndividualMine, and PropagatedMine with the average number of items within an itemset varied. . . 66

5.13 Number of patterns propagated in IndividualMine and PropagatedMine with the average number of items within an itemset varied. . . 67

5.14 Performance of Naive, IndividualMine, and PropagatedMine with the number of different items varied. . . 67

5.15 Number of patterns propagated in IndividualMine and PropagatedMine with the number of different items varied. . . 68

(12)

List of Tables

2.1 Hardware sensors for the explicit feature. . . 9

2.2 The storage consumption and accuracy under varied data coverage ρ. . . 17

2.3 The execution time of KAP with and without personalized feature selection. . . 17

2.4 The recall and nDCG values under varied numbers of iterations. . . 19

2.5 The recall and nDCG values under varied minimum probability for session identification. 19 2.6 The recall and nDCG values under varied number of neighbors for kNN. . . 20

5.1 Multi-dimensional sequence database [56]. . . 45

5.2 Example of sequence databases in two domains. . . 46

5.3 An example of a multi-domain sequence database. . . 47

5.4 An example of a transformed sequence database. . . 49

5.5 An example of a transformed sequence database. . . 50

5.6 Example of propagated table D2||<(a)(c)>. . . 55

5.7 Parameters used for the data generator. . . 62

5.8 Execution times of algorithms Naive, IndividualMine, and PropagatedMine with the num-ber of domains varied on D1kC2T3I100. . . 63

5.9 Execution times of algorithms Naive, IndividualMine, and PropagatedMine with the num-ber of domains varied on D1kC2T4I200. . . 63

(13)

Chapter 1

Introduction

With the increasing number of mobile Apps developed, they are now closely integrated into daily life. Users install more and more Apps on their smartphones. Therefore, predicting Apps usage is a prerequisite for helping users 1) find the Apps they want to use and improve the user experiences; 2) pre-load complex resources, such as the graphics and GPS positioning, and launch Apps faster; 3) remove the useless Apps from memory to save energy consumption. Furthermore, the Apps usage reflects the activity users are doing. We can better capture the users behavior via discovering their Apps usage. Many research works indicated that the Apps usage highly depends on the context information, such as time, location, mobile sensor readings, and the Apps usage.

Figure 1.1 depicts the overview of this dissertation, where the first and second works focus on predict-ing Apps usage by considerpredict-ing feature selection and temporal information respectively. The third work models the dynamic preferences of users, and the forth work discovers the sequential patterns across multiple categories of Apps. In the future, work 3 and work 4 could be utilized to enhance the accuracy of Apps usage prediction. The brief introduction of each chapter in this dissertation is given as follows:

 





GPS, GSMSignal, WiFi Signal, Time, AppUsage, … GPS, GSMSignal, WiFi Signal, Time, AppUsage, … AppUsagePrediction AppUsagePrediction 3.DynamicPreferences 3.DynamicPreferences 4.MultiͲdomain SequentialPattern 4.MultiͲdomain SequentialPattern 1.Personalized Features 2.Temporal Feature

(14)

1.1

On the Feature Discovery for App Usage Prediction in

Smart-phones

We develop a framework to predict mobile Apps that are most likely to be used regarding the current device status of a smartphone. Such an Apps usage prediction framework is a crucial prerequisite for fast App launching, intelligent user experience, and power management of smartphones. By analyzing real App usage log data, we discover two kinds of features: The Explicit Feature (EF) from sensing readings of built-in sensors, and the Implicit Feature (IF) from App usage relations. The IF feature is derived by constructing the proposed App Usage Graph (abbreviated as AUG) that models App usage transitions. In light of AUG, we are able to discover usage relations among Apps. Since users may have different usage behaviors on their smartphones, we further propose one personalized feature selection algorithm. We explore minimum description length (MDL) from the training data and select those features which need less length to describe the training data. The personalized feature selection can successfully reduce the log size and the prediction time. Finally, we adopt the kNN classification model to predict Apps usage. Note that through the features selected by the proposed personalized feature selection algorithm, we only need to keep these features, which in turn reduces the prediction time and avoids the curse of dimensionality when using the kNN classifier. We conduct a comprehensive experimental study based on a real mobile App usage dataset. The results demonstrate the effectiveness of the proposed framework and show the predictive capability for App usage prediction.

1.2

Mining Temporal Profiles of Mobile Applications for Usage

Prediction

As many research works indicate the prediction ability of temporal information, we take only the temporal information into account and see how is the performance. Due to the proliferation of mobile applications (abbreviated as Apps) on smart phones, users can install many Apps to facilitate their life. Usually, users browse their Apps by swiping touch screen on smart phones, and are likely to spend much time on browsing Apps. We design an AppNow widget that is able to predict users’ Apps usage. Therefore, users could simply execute Apps from the widget. The main theme of this chapter is to construct the temporal profiles which identify the relation between Apps and their usage times. In light of the temporal profiles of Apps, the AppNow widget predicts a list of Apps which are most likely to be used at the current time. AppNow consists of three components, the usage logger, the temporal profile constructor and the Apps predictor. First, the usage logger records every App start time. Then, the temporal profiles are built by applying Discrete Fourier Transform and exploring usage periods and specific times. Finally, the system calculates the usage probability at current time for each App and shows a list of Apps with highest

(15)

probability. In our experiments, we collected real usage traces to show that the accuracy of AppNow could reach 86% for identifying temporal profiles and 90% for predicting App usage.

1.3

Mining Usage Traces of Mobile Apps for Dynamic

Prefer-ence Prediction

Due to a huge amount of mobile applications (abbreviated as Apps), for Apps providers, the usage preferences of Apps are important in recommending Apps, downloading Apps and promoting Apps. We predict and quantize users’ dynamic preferences by exploring their usage traces of Apps. To address the dynamic preference prediction problem, we propose Mode-based Prediction (abbreviated as MBP) and Reference-based Prediction (abbreviated as RBP) algorithms. Both MBP and RBP consist of two phases: the trend detection phase and the change estimation phase. In the trend detection phase, both algorithms determine whether the preference of an App is increasing or decreasing. Then, in the change estimation phase, the amount of preference change is calculated. In particular, MBP adopts users’ current usage mode (active or inactive), and then estimates the amount of change via our proposed utility model. On the other hand, RBP calculates an expected number of usage as a reference, and then builds a probabilistic model to estimate the change of preference by comparing the real usage and the reference. We conduct comprehensive experiments using two App usage traces and one music listening log, the Last.fm dataset, to validate our proposed algorithms. The experimental results show that both MBP and RBP outperform the usage-based method that is based solely on the number of usages.

1.4

Mining Sequential Patterns Across Multiple Sequence Databases

Given a set of sequence databases across multiple domains, we aim at mining multi-domain sequential patterns, where a multi-domain sequential pattern is a sequence of events whose occurrence time is within a pre-defined time window. We first propose algorithm Naive in which multiple sequence databases are joined as one sequence database for utilizing traditional sequential pattern mining algorithms (e.g., Pre-fixSpan). Due to the nature of join operations, algorithm Naive is costly and is developed for comparison purposes. Thus, we propose two algorithms without any join operations for mining multi-domain se-quential patterns. Explicitly, algorithm IndividualMine derives sese-quential patterns in each domain and then iteratively combines sequential patterns among sequence databases of multiple domains to derive candidate multi-domain sequential patterns. However, not all sequential patterns mined in the sequence database of each domain are able to form multi-domain sequential patterns. To avoid the mining cost in-curred in algorithm IndividualMine, algorithm PropagatedMine is developed. Algorithm PropagatedMine first performs one sequential pattern mining from one sequence database. In light of sequential patterns

(16)

mined, algorithm PropagatedMine propagates sequential patterns mined to other sequence databases. Furthermore, sequential patterns mined are represented as a lattice structure for further reducing the number of sequential patterns to be propagated. In addition, we develop some mechanisms to allow some empty sets in multi-domain sequential patterns. Performance of the proposed algorithms is com-paratively analyzed and sensitivity analysis is conducted. Experimental results show that by exploring propagation and lattice structures, algorithm PropagatedMine outperforms algorithm IndividualMine in terms of efficiency (i.e., the execution time).

The rest of the paper is organized as follows. Chapter 2 discusses the explicit and implicit features and personalized feature selection algorithm. Chapter 3 reduces the Apps usage problem to only consider the temporal information. Chapter 4 proposes two dynamic preferences prediction algorithms. Chapter 5 states the individualMine and propagatedMine algorithms to discover sequential patterns across multiple domains. Finally, this dissertation is concluded in Chapter 6.

(17)

Chapter 2

On the Feature Discovery for App

Usage Prediction in Smartphones

2.1

Introduction

With the increasing number of smartphones, mobile applications (Apps) have been developed rapidly to satisfy users’ needs [76, 15, 63, 72]. Users can easily download and install Apps on their smartphones to facilitate their daily lives. For example, users use their smartphones for Web browsing, shopping and socializing [46, 4]. By analyzing the collected real Apps usage log data, the average number of Apps in a user’s smartphone is around 56. For some users, the number of Apps is up to 150. As many Apps are installed on a smartphone, users need to spend more time swiping screens and finding the Apps they want to use. From our observation, each user has on average 40 launches per day. In addition, the launch delay of Apps becomes longer as their functionality becomes more complicated. In [73], the authors investigated the launch delay of Apps. Even simple Apps (e.g., weather report) need 10 seconds, while complicated Apps (e.g., games) need more than 20 seconds to reach a playable state. Although some Apps could load stale content first and fetch new data simultaneously, they still need several seconds to complete loading.

To ease the inconvenience of searching for Apps [41, 64] and to reduce the delay in launching Apps [73], one possible way is to predict which Apps will be used before the user actually needs them. Although both the iOS and Android systems list the most recently used (MRU) Apps to help users relaunch Apps, this method only works for those Apps which would be immediately relaunched within a short period. Another common method is to predict the most frequently used (MFU) Apps. However, when a user has a lot of frequently used Apps, the MFU method has very poor accuracy. In our experiments, these two methods are the baseline methods for comparison.

(18)

Hardware Sensors Apps Usage Log Explicit Feature Implicit Feature kNN Classifier Personalized Feature Selection AUG Graph

Figure 2.1: Overview of kNN-based App Prediction framework.

a temporal profile is built to represent the usage history of an App. The temporal profile records the usage time and usage period of the App. Then, when a query time is given, the usage probability of each App could be calculated through comparing the difference between the temporal profile and the query time. However, since they only consider the periodicity feature of Apps, some Apps with no significant periods cannot be predicted by their temporal profiles. In [73], the authors adopted three features to predict Apps usage: time, location, and used Apps. Based on those three features, they designed and built a system to remedy slow App launches. However, they always use these three features to predict different users’ usage, which is impractical as users could have different usage behavior. For example, the location information could be less useful for those users who have lower mobility. We claim that the features which are able to accurately predict Apps usage are different for different users and different Apps. The authors in [64] collected 37 features from accelerometer, Wi-Fi signal strength, battery level, etc., and proposed a Naive Bayes classification method to predict Apps usage. However, a Naive Bayes classification method needs sufficient training data to calculate the conditional probability, which does not always hold. Therefore, the system would fail to predict Apps if there are not exactly the same instances existing in the training dataset. In addition, they still apply all the same features to each user, instead of selecting personalized features for different users with different usage behaviors.

In this chapter, we adopt the concept of minimum description length (MDL) to select personalized features for different users and propose a kNN-based App Prediction framework, called KAP, to predict Apps usage. Once we distinguish the useful and useless features, only the useful features need to be collected. Therefore, the size of the log data could be reduced. The overall framework is shown in Figure 2.1. KAP investigates features from both explicit and implicit aspects. The explicit feature is a set of sensor readings from built-in hardware sensors, such as GPS, time, accelerometers, etc. On the other hand, the implicit feature is referred to as the correlations of Apps usage. To capture these correlations, the implicit feature is represented as the transition probability among Apps.

For the explicit feature, we focus on three types of hardware sensors: 1) device sensors, such as free space, free ram, and battery level, 2) environmental sensors, such as time, GSM signal, and Wi-Fi signal, and 3) personal sensors: acceleration, speed, heading, and location. We claim that the usage of different Apps is related to different types of sensors. Obviously, the advantages of selecting sensors for the explicit

(19)

feature is that it reduces the effect of noisy data and also saves power and storage consumption for logging data and performing the prediction.

For the implicit feature, we calculate the transition probability for each App. However, the previous works [73, 64] only take the usage order into account, and not the time duration between Apps. We claim that the length between Apps usage means different things. For example, users may take pictures via a camera App and upload those pictures to Facebook. However, some users may upload pictures immediately, while others would upload them when they have a Wi-Fi connection. Therefore, the time duration between camera and Facebook use depends on different users and different usage behaviors. To model the usage relation among Apps, an Apps Usage Graph (AUG), which is a weighted directed graph, is proposed. The weight on each edge is formulated as an exponential distribution to describe the historical usage durations. Based on AUG, the implicit feature of each training instance is derived by traversing the AUG. Consequently, the implicit feature of each testing case is derived by an iterative refinement process.

With both explicit and implicit features, KAP adopts a kNN classification model to predict Apps usage which is represented as class labels. In the experimental study, the proposed KAP framework outperforms both baseline methods and achieves accuracy of 95%. We also show that the personalized sensor selection for the explicit feature is efficient and effective. In addition, the implicit feature is useful for improving the prediction accuracy of KAP.

The major contributions of this research work are summarized as follows.

• We address the problem of Apps usage prediction by discovering different feature sets to fulfill different users’ Apps usage behavior, and propose the concept of explicit and implicit features for Apps usage prediction.

• We estimate the distribution of the transition probability among Apps and design an Apps Us-age Graph (AUG) to model both Apps usUs-age order and transition intervals. Two algorithms are proposed to extract the implicit features from the AUG graph for training and testing purposes respectively.

• We propose a personalized feature selection algorithm in which one could explore MDL to determine a personalized set of features while still guaranteeing the accuracy of the predictions.

• A comprehensive performance evaluation is conducted on real datasets, and our proposed framework outperforms the state-of-the-art methods [64].

The rest of this chapter is organized as follows. Section 2.2 investigates the related works which discuss the conventional prediction problem and Apps usage prediction. Section 2.3 introduces the explicit and implicit features. Section 2.4 presents the mechanism of personalized feature selection. Section 2.5 conducts extensive and comprehensive experiments. Finally, this chapter is concluded with Section 4.6.

(20)

2.2

Related Works

To the best of our knowledge, the prediction problem of Apps usage in this chapter is quite different from the conventional works. We focus on not only analysing usage history to model users’ behav-ior, but on personalizing varied types of features including hardware and software sensors attached to smartphones. The proposed algorithm selects different features for different users to satisfy their usage behavior. Although there have been many research works solving the prediction problem in different domains, such as music items or playlist prediction [10], dynamic preference prediction [44, 37], location prediction [38, 62, 50], social links prediction [17, 45], and so on, the prediction methods are only based on analysing the usage history. In [33], the author selected features from multiple data streams, but the goal is to solve the communication problem in a distributed system.

Currently, only a few studies discuss mobile Apps usage prediction. Although the authors in [49] adopted location and time information to improve the accuracy of Apps usage prediction, the total number of Apps is only 15. Concurrently, in [31], the authors stated that the prediction accuracy could achieve 98.9%, but they still only focus on predicting 9 Apps from a set of 15. In [73], the authors solved the prediction problem through multiple features from 1) location, 2) temporal burst, and 3) trigger/follower relation. However, they did not analyze the importance of each feature. Therefore, for different users, they always use the same three features to predict their Apps usage. In [64], the authors investigated all possible sensors attached to a smartphone and adopted a Naive Bayes classification to predict the Apps usage. However, collecting all possible sensors is inefficient and impractical. Moreover, the useful sensors for different users could vary according to users’ usage behavior. We claim that for different users, we need to use different sets of features to predict their usage. In this chapter, we collect only the subset of all features which are personalized for different users.

This chapter is the first research work which discusses how to select suitable sensors and features for different users to predict their Apps usage. Through the personalized feature selection, we could perform more accurate predictions for varied types of usage bahavior, reduce the dimensionality of the feature space, and further save energy and storage consumption. In addition, the proposed KAP framework derives the implicit feature by modelling the usage transition among Apps.

2.3

Explicit and Implicit Features

In this chapter, we separate the features into two main categories: the explicit feature and the implicit feature. The explicit feature represents the sensor readings which are explicitly readable and observable. The implicit feature is the Apps usage relations.

(21)

Table 2.1: Hardware sensors for the explicit feature.

Sensors Contextual Information

Location

Longitude Latitude Altitude

Location Cluster

Time Hour of day

Day of week

Battery Battery Level

Charging status Accelerometer

Avg. and std. dev. of {x, y, z} Acceleration changes

speed Heading

Wi-Fi Signal Received signal

GSM Signal Signal Strength

System Free space of each drive

Free RAM 0 0.2 0.4 0.6 0.8 1

Messenger Contacts Browser

Recall Application Device Environmental Personal (a) U ser1 0 0.2 0.4 0.6 0.8 1

Messenger Contacts Browser

Recall

Apllication Device

Environmental Personal

(b) U ser2

Figure 2.2: Varied recalls of predicting Apps usage via different types of sensors for different users.

2.3.1

Explicit Feature Collection

Table 2.1 shows the hardware sensors we use for the explicit feature. As different models of smartphones could have different sets of hardware sensors, we only list the most common ones whose readings are easy to record. It is totally free to add or remove any hardware sensors here.

To show the prediction ability of different types of mobile sensors, we randomly select two users from the collected dataset and perform kNN classification via the three types of sensors respectively to predict their Apps usage. Figure 2.2 shows the prediction recall of ”Messenger”, ”Contacts”, and ”Browser” for the two users. As can be seen in Figure 2.2, personal sensors would be a good explicit feature for

predicting user1’s Apps usage, while environmental sensors are good for user2. The reason is that user2

probably needs a Wi-Fi signal to access the Internet.

2.3.2

Implicit Feature Extraction

The implicit feature formulates the usage transitions among Apps in a usage session. As mentioned in [73], users use a series of Apps, called a usage session, to complete a specific task. For example, one user could use ”Maps” when travelling to a sightseeing spot, then use camera to take photos, and upload

(22)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 5 10 15 20 25 30 Probability Time(Minute) Transition Interval

Figure 2.3: The PDF of the duration of two consecutive App launches.

those photos to Facebook. Thus, the series of using ”Maps”, ”Camera” and ”Facebook” is called a usage

session, denoted as ”Map”δ1

−→”Camera”δ2

−→”Facebook”, where δ1and δ2represent the transition intervals.

The implicit feature of ”Facebook” in this usage session is thus < pM F(δ1), pCF(δ1+ δ2), pF F(∞) >,

where pM F(·), pCF(·), and pF F(·) are probability models which represent the probability of using ”Maps”,

”Camera” and ”Facebook” respectively before using ”Facebook” with the transition interval as the ran-dom variable. Note that because there is no ”Facebook” to ”Facebook” in this usage session, the transition interval is thus set to ∞ and then the probability would be 0.

The probability model could be estimated from a user’s historical usage trace. In this section, we introduce an Apps Usage Graph (AUG) which models the transition probability among Apps for a single user. For training purposes, the implicit features for the training usage sessions are derived by traversing the AUG. However, for testing purposes, since we do not know which is the App to be invoked, the derivation of the implicit feature for the training usage session cannot be utilized directly. Therefore, an iterative refinement algorithm is proposed to estimate both the next App and its implicit feature simultaneously. The following paragraphs will illustrate the details of the AUG construction and the implicit feature derivation for both the training and testing usage sessions.

Apps Usage Graph (AUG)

For each user, we construct an Apps Usage Graph (AUG) to describe the transition probability among Apps. An AUG is a directed graph where each node is an App, the direction of an edge between two nodes represents the usage order, and the weight on each edge is a probability distribution of the interval between two Apps. Since two consecutive launches could be viewed as a Poisson arrival process, we can formulate the intervals between two launches as an exponential distribution. For example, Figure 2.3 shows the probability density function (PDF) of two consecutive launches which exactly fulfils the exponential distribution where most transitions (e.g., 0.45%) are within 1 minute.

Here, Equation 2.1 formulates the exponential density function of the launch interval being in [x, x+1).

The parameter α = ˆp(0) is derived by assigning x = 0 in Equation 2.1, and could be calculated by p(0),

the real probability derived from the training data. Then, β is solved by minimizing the difference

(23)

1 3 2 p11 p12 p31 p23 p11(x)=0.4 e-1.1x p31(x)=0.1 e-0.5x p23(x)=0.43 e-1.2x p12(x)=0.45 e-0.8x ^ ^ ^ ^ ^ ^ ^ ^

Figure 2.4: An example of the Apps Usage Graph (AUG). interval i.

Empirically, we do not need to fit every interval when obtaining the exponential model. For example, in Figure 2.3, only the first 5 intervals already cover more than 75% of the training data. Therefore, we can iteratively add one interval until the data coverage reaches a given threshold. We will discuss the impact of the data coverage threshold in the experiments section.

ˆ p(x) = α exp−βx (2.1) β = argmin β X i | ˆp(i) − p(i)| = argmin β X i

|p(0) exp−βi−p(i)| (2.2)

For example, Figure 2.4 shows an AUG with three Apps. From Figure 2.4, the probability of two

consecutive usages of App1with an interval of 0.3 minutes (i.e., App1−−→ App0.3 1) is 0.4, and App1−−→ App1.5 2

is 0.2. Although AUG only takes two consecutive Apps into account, such as p12and p23, the probability

of p13, could be calculated by p12× p23.

Implicit Features for Training

For each training case, the implicit features are derived by looking up the AUG. Suppose the currently used App (i.e., class label) is Appt, the implicit feature is thus, < p′1t, p′2t, ..., p′nt>, where p′itrepresents

the probability of transiting from Appi to any random Apps and then to Appt. The probability of p

′(s)

it is

defined as in Equation 2.3 which is the summation of every probability from Appito Appt. Note that we

use a superscript, s, to indicate how many Apps are between Appiand Appt, and Appmkis the k-th App

after Appi. Once we derive the implicit feature in a reverse time order, the sub-problem of estimating

p′(s−k)mk,t is already solved. The calculation of the implicit feature for Appi stops when the transition

probability falls below a given threshold, mintp. In our collected dataset, the transition probability

falls to 0.1% when we look backward to more than 5 Apps, which is the default parameter for mintp.

(24)

App1 App2 App3 p13=p13+p12p23+p11p13^ ^ ^ 0 0.13 0.01 =0+0.09x0.13+0 App1→App3 App2→App1→App3 App1→App2→App1→App3 =0.13 0.5 0.5 0.5 0.5 0.5 1 =0.01 p13=p13=0'(0) ^ p23 =p23+p21p13'(1) ^ ^ '(0) '(2) '(1) '(0)

Figure 2.5: Steps of obtaining the implicit feature of App3 in the training case, · · · → App1−→ App1 2−−→0.5

App1−−→ App0.5 3. p′(s)it = ˆpit+ X k ˆ pi,mk× p ′(s−k) mk,t (2.3)

Algorithm 1: Deriving the implicit feature of Apptfor training.

Input: Appt: a training App

Output: IFt: the implicit feature of Appt

foreach Appi prior than Appt do

IFt[i] ← IFt[i] +pit(δˆit) ;

foreach Appm between Appi and Apptdo

IFt[i] ← IFt[i] +pim(δˆjm) × IFm[t] ;

end end

return IFt

For example, suppose we have an AUG as shown in Figure 2.4 and a usage trace as · · · → App1−→1

App2

0.5

−−→ App1

0.5

−−→ App3→ . . . . Figure 2.5 shows the process of obtaining the implicit feature of App3.

We first estimate p′(0)13 from App1

0.5

−−→ App3, then p′(1)23 from App2

0.5

−−→ App1

0.5

−−→ App3, and finally update

p′(2)13 from App1−→ App1 2 0.5

−−→ App1

0.5

−−→ App3. Note that p′(0)13 is reused for calculating p

′(1)

23 , and p

′(1)

23 and

p′(0)13 are reused for updating p′(2)13 . The implicit feature of App3 is < 0.01, 0.13, 0 >.

Implicit Features for Testing

Since the App to be predicted for current invocation, Appt, is unknown for testing, the derivation process

of implicit features for training does not work. We propose an iterative refinement algorithm to estimate

both Appt and its implicit feature, IFt, for testing. Suppose θi is the probability of Appt = Appi, the

implicit feature IFtis calculated as in Equation 2.4 which is a linear combination of the IF of each Appi.

In addition, M = [IFT

1 , IF2T, . . . ] represents the transition matrix among Apps, where IF1T, IF2T, . . .

are column vectors. Then, the value of θi could be updated by Equation 2.5, which is the probability

of staying in Appi after one-step walking along the transition matrix M . We keep updating θi and IFt

iteratively, until Appt is fixed to one specific App. In our experiments, the iterative refinement process

(25)

IFt= X Appi θi× IFi (2.4) θi= X Appm IFt[m] × M [m][i] (2.5)

Algorithm 2: Deriving the implicit feature for testing. Input: t: a testing case

Output: IFt: the implicit feature at t

while iter < threshold do

foreach θj do

IFt← IFt+ θi× IFi ;

end

foreach Appi prior than time t do

θi← θi+ IFt[m] × M [m][i] ; Normalize θi ; end iter ← iter + 1 ; end return IFt

For example, suppose the testing case is · · · → App1 −→ App1 2 −−→ App0.5 1 −−→ App0.5 t. First, we

initialize θi as < 1/3, 1/3, 1/3 >, which gives equal probability to each App, and the transition matrix

M =       0.49 0.6 0.01 0 0 0.13 0 0 0      

, which is derived by calculating the IF of each App shown in Equation 2.3.

Note that the last row is all zero because there is no App3 transiting to any other Apps. Then, the

implicit feature is < 0.37, 0.04, 0 > in the first iteration. Next, θi is updated to < 0.18, 0.22, 0.01 >, and

normalized as < 0.44, 0.54, 0.02 > according to one-step walk in M with the calculated implicit feature as the prior probability. Then, we can obtain the implicit feature as < 0.53, 0.01, 0 > in the second iteration.

2.4

Personalized Feature Selection

The goal of the personalized feature selection is to use as fewer features as possible to guarantee an acceptable accuracy. Due to the energy and storage consumption of collecting sensors readings and Apps transition relations, we should select useful features for different users in advance. Furthermore, through the personalized feature selection, we could avoid the curse of dimensionality on performing the kNN. We first apply the personalized feature selection on the training data, and then only the selected features are required to be collected in the future.

Here, we propose a greedy algorithm to select the best feature iteratively. We adopt the concept of Minimum Description Length (MDL) [59, 60] to evaluate the goodness of the features. For different

(26)

 





selection

• L(H)=log2(2+2+1) • L(D|H)=log2(0+1+1+1) • MDL=log25+log23 1 1 1 1 2 2 2 3 1 1 1 1 2 2 2 3 112 1 23 12 0 1 0 1 0 1 Time Battery WiͲFiSignal

• L(H)=log2(2+2+1) • L(D|H)=log2(0+2+1+1) • MDL=log25+log24 • L(H)=log2(4+3+1) • L(D|H)=log2(0+0+0+1) • MDL=log28 2 3 2 3 0 0 1 1 Battery WiͲFiSignal Nextround • L(H)=log2(1+1) • L(D|H)=log2(0+1+1) • MDL=log22+log22 • L(H)=log2(1+1) • L(D|H)=log2(0+0+1) • MDL=log22

Figure 2.6: An example of feature selection where the red data points are correctly predicted. features, we can have varied projections of the training data. We claim that if a feature needs fewer bits to describe its data distribution, it is good for predicting the data. Therefore, in each iteration, the feature with the minimum description length is selected. Then, those data points which are correctly predicted are logically eliminated from the training data, and the next feature is selected by the same process repeatedly. We define the description length of the hypothesis, which is shown in Equation 2.6, as

the length of representing the training data. N G(Appi) is the number of groups of Appi. The description

length of Data given the hypothesis is the total number of miss-classified data which is formulated as in Equation 2.7. L(H) =X i log2N G(Appi) (2.6) L(D|H) =X i

log2(missClassif ied(Appi) + 1) (2.7)

For example, given 8 data points in the training data and three features as shown in Figure 2.6. In the first round, Time is the feature with minimum description length. Those data points marked as red are correctly predicted and will be removed. Therefore, in the second round, only two data points are left, and the feature of Wi-Fi signal is selected due to its minimum description length.

The selection process stops when a percentage of ρ of the training data is covered. We also discuss the impact of ρ in the experimental section. Note that the number of features affects the energy and storage consumption and is set according to the capability of the smartphones. Algorithm 3 depicts the process of personalized feature selection. After the selection, only the readings of the sensors which are selected will be collected as the explicit feature in the future. In addition, only the selected Apps will be used to construct AUG.

(27)

Algorithm 3: Personalized feature selection.

Input: Dz: the training data

Output: P F : the personalized features

Let Nz← |Dz| ;

while|Dz| < ρNzdo

foreach feature f do

Calculate DLf: description length for feature f ;

end

P F ← P F ∪ {argmax

f

DLf} ;

Let Da be the set of accurately predicted data points ;

Dz← Dz− Da ;

end return P F

2.5

Experimental study

In this section, we conduct a comprehensive set of experiments to compare the performance of the proposed KAP framework with other existing methods including 1) most frequently used (MFU) method, 2) most recently used (MRU) method which is the built-in prediction method in most mobile OS, such as Android and iOS, 3) SVM, 4) App Naive Bayes [64], 5) Decision Tree, and 6) AdaBoost. In the following, we first discuss the collected dataset, then introduce the metrics employed to evaluate the performance, and finally deliver the experimental results.

2.5.1

Dataset Description

In this chapter, we use a real world dataset collected by a mobile phone company which installed a monitoring program on every volunteer’s smartphone. In this dataset, we have totally 50 volunteers including college students and faculty from June 2010 to January 2011. For each user, we separate the dataset into three parts, where each part consists of three months, and we use the first two months as training data, and the last one month as testing data. Totally, there are more than 300 different Apps installed on their smartphones, and the average number of Apps on one smartphone is 56.

2.5.2

Performance Metrics

In this chapter, we use two performance metrics: 1) average recall and 2) nDCG [29] score.

Average Recall: Since there is only one App being launched in each testing case, recall score is thus adopted as one performance metric which evaluates whether the used App is in the prediction list. The

recall score of one user is defined as P

ci∈C

I(Appci,Lci)

|C| , where C is the set of testing cases, Appci is the

ground-truth, and Lci is the prediction list at the i-th testing case. I(·) is an indicator function which

equals 1, when Appci ∈ Lci, and equals 0, otherwise. Finally, the average recall is the average of the

(28)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1 2 3 4 5 6 7 8 9 Recall Top-k C4.5 AdaBoost App-NB MFU MRU SVM KAP (a) Recall 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 1 2 3 4 5 6 7 8 9 nDCG Top-k C4.5 AdaBoost App-NB MFU MRU SVM KAP (b) nDCG Figure 2.7: Impact of the number of prediction, k.

nDCG Score: To evaluate the accuracy of the order of the prediction list, we also test the nDCG score of the prediction results. The IDCG score is fixed to 1 because there is only one used App in the

ground-truth. The DCG score is 1

log2(i+1) when the used App is predicted at position i of the prediction

list. Then, nDCG is the average of DCG

IDCG for all testing cases.

2.5.3

Experimental Results

To evaluate the performance of predicting Apps usage by the proposed KAP framework, we first evaluate the overall performance when predicting different numbers of Apps. Then, we test the performance of the personalized feature selection algorithm. The impact of different parameters for the KAP framework and kNN classification is also included. Note that we use top-k = 4, kNN=40%, and the minimum data coverage of personalized feature selection as 70% to be the default parameter settings throughout the experiment.

Overall Performance

First, we evaluate the performance KAP and other different methods under various numbers of prediction, k. As can be seen in Figure 2.7, when the number of prediction k increases, both the recall and nDCG values also increase. However, KAP, MRU, MFU, and SVM perform better than others. In Figure 2.7(a), when k = 9 (the number of predictions shown in the latest Android system), the recall of KAP could be more than 95%, while it is only about 90% for MFU, MRU, and SVM. On the other hand, the nDCG value of KAP shown in Figure 2.7(b) is always higher than that of the other methods, which means the prediction order of KAP is better.

Second, we test the accuracy of varied top-k frequency. The top-k frequency is defined as the ratio of the usage of the most frequent k Apps. For example, if a user has 5 Apps and the usage counts

are 3, 1, 2, 5, and 2, the top-2 frequency is thus 3+1+2+5+25+3 = 138. Figure 2.8 shows the results when

top-k = 4. Intuitively, when the top-k frequency increases, the accuracy of the MFU method could be better. However, in Figure 2.8(a), even when the ratio is 0.9, the MFU method performs just slightly better than the MRU method, but worse than both KAP and SVM. In Figure 2.8(b), the prediction

(29)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.5 0.6 0.7 0.8 0.9 Rcall Top-k Frequency C4.5 AdaBoost App-NB MFU MRU SVM KAP (a) Recall 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.5 0.6 0.7 0.8 0.9 nDCG Top-k Frequency C4.5 AdaBoost App-NB MFU MRU SVM KAP (b) nDCG Figure 2.8: Impact of top-k frequency.

Table 2.2: The storage consumption and accuracy under varied data coverage ρ.

Coverage(%) 30 40 50 60 70 80 90 100

Storage(KB) 28 31 34 37 43 52 82 94

Recall 0.78 0.78 0.80 0.80 0.82 0.82 0.82 0.83

nDCG 0.50 0.51 0.52 0.53 0.55 0.57 0.57 0.58

order of KAP is also better than the results of the other methods.

Impact of Personalized Feature Selection

For the proposed KAP method, we evaluate the performance of the personalized feature selection to see if the proposed MDL-based selection algorithm could reduce the used storage when maintaining a good prediction accuracy. For one user, the average used storage and prediction accuracy is shown in Table 2.2 under different data coverage ρ. As can be seen in Table 2.2 the personalized feature selection could reduce 55% of training data size and only lose 1% of recall and 3% of nDCG when the data coverage is 70%. In addition, Table 2.3 compares the execution time of KAP with and without the personalized feature selection, where the training time is reduced dramatically under ρ = 70%.

2.5.4

Comparison of Different Usage Behavior

Since different users have different usage behaivor, which could extremely affect the prediction accuracy. In this section, we separate users into different groups according to 1) number of installed Apps, 2) usage frequency, and 3) usage entropy. Then, we test the performance of applying different methods on different groups.

Table 2.3: The execution time of KAP with and without personalized feature selection.

Execution time (ms) Training Testing Total

KAP 86 160 246

(30)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0 50.0 Recall Number Of App. C4.5 AdaBoost App-NB MFU MRU SVM KAP (a) Recall 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0 50.0 nDCG Number Of App. C4.5 AdaBoost App-NB MFU MRU SVM KAP (b) nDCG Figure 2.9: Impact of the number of Apps.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 300.0 600.0 900.0 1200.0 1500.0 1800.0 2100.0 Recall Number Of Usage C4.5 AdaBoost App-NB MFU MRU SVM KAP (a) Recall 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 300.0 600.0 900.0 1200.0 1500.0 1800.0 2100.0 nDCG Number Of Usage C4.5 AdaBoost App-NB MFU MRU SVM KAP (b) nDCG Figure 2.10: Impact of the usage count. Impact of the Number of Installed Apps

When users launch more Apps, it becomes more difficult to accurately predict Apps usage. Figure 2.9 shows the recall and ndcg results for a varying number of used Apps. As can be seen in Figure 2.9, both the recall and ndcg values decrease when the number of used Apps increases for all methods. However, the decreasing rate of the proposed KAP method is much smoother than that of the others. The recall of KAP is around 85% while that of the others is below 40% when the number of used Apps is 30.

Impact of the Usage Count

Now, we test the impact of the usage count. A higher usage count means we could have more training data to learn the classification model for App prediction. Concurrently, it provides more complicated information of users’ usage behavior, and could make noisy data. Figure 2.10 shows the recall and ndcg values. The performance of KAP, Naive Bayes, and SVM goes up when the usage count increases. However, AdaBoost and Decision Tree have worse performance as the usage count goes up. The result shows that the KAP algorithm can handle more complicated and noisy data.

Impact of the Entropy of the Apps Usage

We evaluate the impact of the entropy of the Apps usage. Intuitively, as the entropy of the Apps usage becomes larger, the Apps usage is almost random, and the performance of Apps usage prediction would become worse. Figure 2.11 depicts that the proposed KAP could have around 50% accuracy when the entropy goes to 3 where the other methods only have accuracy of less than 40%.

(31)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.5 2.0 2.5 3.0 Recall Entropy C4.5 AdaBoost App-NB MFU MRU SVM KAP (a) Recall 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1.5 2.0 2.5 3.0 nDCG Entropy C4.5 AdaBoost App-NB MFU MRU SVM KAP (b) nDCG Figure 2.11: Impact of the entropy of Apps.

Table 2.4: The recall and nDCG values under varied numbers of iterations.

#Iterations 1 2 3 4 5

Recall 0.67 0.79 0.79 0.80 0.81

nDCG 0.43 0.59 0.59 0.60 0.61

2.5.5

Impact of Different Parameters

Number of Iterations for Implicit Feature Extraction

First, we test the number of iterations of deriving the implicit feature for each testing case. As shown in Table 2.4, the accuracy stays almost the same after the second iteration. This indicates that the iterative refinement algorithm could converge within 2 iteration which is sufficient to estimate the implicit feature.

Minimum Probability for Identifying Usage Sessions

As users usage sessions could be varied according to different tasks, we only need the useful length of the usage sessions to perform accurate Apps usage prediction, instead of calculate the full usage sessions. Therefore, we conduct this experiment to evaluate the impact of the length of usage sessions. Ac can be

seen in Table 2.5, the results are not affected by the minimum transition probability, mintp, too much.

From our collected data, the session length is around 2 when mintp is 0.5, and the best case is under

mintp= 0.1, which has the session length as around 5.

Parameters for kNN Classification

There are two main parameters affecting the accuracy of kNN classification: 1) the length of the training period, and 2) the number of neighbors of kNN. Here, we fix the number of predictions to 4 Apps and compare the recall and nDCG values of KAP and the other methods. Figures 2.12(a) and 2.12(b) show the results, where the recall and nDCG values of the KAP, MFU, MRU, and SVM methods almost keep

Table 2.5: The recall and nDCG values under varied minimum probability for session identification.

mintp 0.5 0.25 0.1 0.075 0.05 0.025 0.001

Recall 0.73 0.77 0.83 0.81 0.80 0.75 0.74

(32)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 4 8 12 16 20 24 Rcall Training Length(Week) C4.5 AdaBoost App-NB MFU MRU SVM KAP (a) Recall 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 1 4 8 12 16 20 24 nDCG Training Length(Week) C4.5 AdaBoost App-NB MFU MRU SVM KAP (b) nDCG Figure 2.12: Impact of training length.

Table 2.6: The recall and nDCG values under varied number of neighbors for kNN.

kNN(%) 20 40 60 80 100

Recall 0.74 0.79 0.80 0.80 0.81

nDCG 0.55 0.61 0.63 0.63 0.64

the same performance under varied training lengths. Therefore, we suggest that we just need to collect a short period as training data to predict users’ Apps usage, since users’ behavior is considered as stable over a short period.

Finally, we evaluate the impact of selecting different numbers of neighbors to perform kNN classifica-tion. Because the training data of different users could vary from several hundreds to thousands. we use a relative value for the number of neighbors. Table 2.6 shows the results of the recall and nDCG values for different number of neighbors. As can be seen in Table 2.6, even only select 40% of training data as the neighbors, the recall value is almost 80%. Therefore, we set the default number of neighbor as 40% throughout the experiments.

2.6

Conclusion

In this chapter, we propose an Apps usage prediction framework, KAP, which predicts Apps usage regarding both the explicit readings of mobile sensors and the implicit transition relation among Apps. For the explicit feature, we consider three different types of mobile sensors: 1) device sensors, 2) environmental sensors, and 3) personal sensors. For the implicit features, we construct an Apps Usage Graph (AUG) to model the transition probability among Apps. Then, for each training datum, we could represent the next used App as the implicit feature which describes the probability of transition from other Apps. Note that, since the next App in the testing data is unknown, we propose an iterative refinement algorithm to estimate both the probability of the App to be invoked next and its implicit feature. We claim that different usage behaviors are correlated to different types of features. Therefore, a personalized feature selection algorithm is proposed, where for each user, only the most relative features are selected. Through the feature selection, we can reduce the dimensionality of the feature space and the energy/storage consumption.

(33)

We integrate the explicit and implicit features as the feature space and the next used App as the class label to perform kNN classification. In the experimental results, our method outperforms the state-or-the-art methods and the currently used methods in most mobile devices. In addition, the proposed personalized feature selection algorithm could maintain better performance than using all features. We also evaluate the performance of KAP for different types of users, and the results show that KAP is both adaptive and flexible.

(34)

Chapter 3

Mining Temporal Profiles of Mobile

Applications for Usage Prediction

3.1

Introduction

Smart phones have became an important smart device in people’s daily life. We use them to communicate with friends, check emails, take pictures, and play games. Concurrently, we can install many kinds of mobile applications (abbreviated as Apps) in our smart phone and invoke them for individual purposes. However, according to our observation, the average number of Apps of each device is about 70 to 80 and that of some devices which even exceed 150. We realize that as the number of Apps in a user’s smart phone increases, users will spend an increasing amount of time looking for and launching the Apps they want to use.

To deal with this problem, we have designed an AppNow widget which can dynamically predict users’ App usage through mining temporal profiles from the users’ previous usage behavior. For example, Figure 3.1 shows different prediction results at different times in one day. In Figure 3.1(a), the time is 9:00 a.m. and AppNow shows that the user is intending to start work by checking calender, emails, and so on. In Figure 3.1(b), the time goes to 12:30 p.m. and AppNow indicates that the user is about to communicate with friends using social network services. In Figure 3.1(c), the user is likely to play games at home when the time is 8:30 p.m. However, there are two challenges when designing the AppNow widget: 1) connecting the relation between Apps and their launched times, and 2) calculating the usage probability through comparing the App launched times and current time. First, Apps are not always launched at the same time. For example, if a user checks Facebook approximately once every one and a half hours, the usage time could be around 9:00, 10:30, 12:00, and so on. Therefore, to connect the relation between time and Apps usage, we proposed a temporal profile to summarize the usage history of each App. Second, since the launched times of an App may not exactly match the current time, we have

(35)

(a) Morning (b) Noon (c) Night

Figure 3.1: An example of the AppNow widget on a smart phone.

Periodicity Detection

Behavior Identification

Probability-based Scoring

App Usage Predictior

Specific Time Discovery

Current Time

App usage history

Temporal Profile Constructior Usage Logger

Display Predicted Apps

Figure 3.2: The system flow of AppNow.

to model the usage probability over the time different between the launched times and current time. To the best of the authors’ knowledge, although there are many research works focusing on smart phones [66, 32, 53, 67, 77, 57, 58, 81], there are no existing works that explore predicting usage behavior, let alone developing a widget on smart phones. On the other hand, current prediction algorithms on location, purchasing, and co-authoring [28, 30, 51, 12] do not create the relation with the aspect of time, such that they cannot be applied to solve the novel problem of predicting the App usages.

3.1.1

System Framework

The system flow of the AppNow widget is shown in Figure 3.2, where AppNow possesses three main components, a usage logger, a temporal profile constructor and an App usage predictor. The usage logger records the launched time and App ID on every App launch. The temporal profile constructor builds a temporal profile for each App. We summarize and investigate the usage history for each App into a set of (period, {specific time}) tuples which is, therefore, called a temporal profile for that App. The usage predictor calculates the probability of using each App at the current time. The AppNow widget then shows the 4 Apps with the highest probability.

數據

Table 2.1: Hardware sensors for the explicit feature. Sensors Contextual Information
Figure 2.3: The PDF of the duration of two consecutive App launches.
Figure 2.5: Steps of obtaining the implicit feature of App 3 in the training case, · · · → App 1 − → App 1 2 −−→ 0.5 App 1 −−→ App0.5 3
Figure 2.6: An example of feature selection where the red data points are correctly predicted.
+7

參考文獻

相關文件

- - A module (about 20 lessons) co- designed by English and Science teachers with EDB support.. - a water project (published

Lu, Linear-time compression of bounded-genus graphs into information-theoretically optimal number of bits, in Proceedings of the Thirteenth Annual ACM-SIAM Symposium on

We try to explore category and association rules of customer questions by applying customer analysis and the combination of data mining and rough set theory.. We use customer

So, we develop a tool of collaborative learning in this research, utilize the structure of server / client, and combine the functions of text and voice communication via

In this thesis, we develop a multiple-level fault injection tool and verification flow in SystemC design platform.. The user can set the parameters of the fault injection

This study chose a qualitative research method to explore more in-depth information access strategy for the establishment of many commodities, institute of emphasis from

• I referred to curriculum standards and 4 textbooks series (children and parents are from 4 schools) to develop research-based activities suitable for parent-child Math Camp.

For meeting the requirement in aggregate usage and maximizing utilization ratio of E&amp;R resources obtained from the site, this study tried to adjust the optimum