## 3 Proposed Method
### Optimizing the Weights of Time Contextual Factors
To cope with this problem, we model user preferences based on day-hour time slots instead of records in watching history. As the maximum number of day-hour time slots is 168, it leads to the great decrease of the constraints and needs a constant time for optimization, which is very important for a standalone TV with low computation power. Let us assume that the present time is 1:30 a.m. on Monday and we recommend a channel for the user in Figure 1. Which channel will the user prefer? From the viewpoint of usual context, the user may prefer channel 1 because channel 1 has the highest score in \(U^{u}\). From the viewpoint of day context, the user will choose channel \(q\) which has the highest score in \(D^{u}_{\text{Mon}}\). From the viewpoint of hour context, it is channel 1, which is the most preferred channel in \(H^{u}_{1-2h}\), and from the viewpoint of day-hour context, channel 2, the most preferred channel is \(T^{u}_{\text{Mon}:1-2h}\). We may conclude that the user will choose one of channels 1, 2, and \(q\). So, we try to maximize the preference scores of channels 1, 2, and \(q\). That is, the preference scores of channels 1, 2, and \(q\) should be higher than those of the other  
43, covering drama, entertainment, news, sports, cartoon, and so on. The watching history dataset contained 3318 users and 4,587,478 records. The average number of records per user was about 1383. The watching records of which length was less than 10 min are removed and users who have less than 200 viewing records were also removed for experiments. Seven baseline methods were compared with the proposed one: _kNN_, _SVD_, _Pop_usual_, _Pop_day_, _Pop_hour_, _Pop_dayhour_, and _QP_log_. _kNN_ and _SVD_ are based on CF approaches. _kNN_ is a user-based CF. _SVD_ is a singular vector decomposition-based CF. _kNN_ and _SVD_ use the user-program matrix of all users' viewing records. _Pop_usual_, _Pop_day_, _Pop_hour_, and _Pop_dayhour_ are popularity-based methods on each user. _Pop_usual_ recommends based on matrix \(U^{u}\), which does not consider time context and others recommend based on a matrix \(D^{u}\), \(H^{u}\), and \(T^{u}\), respectively. _QP_log_ is the approach which optimized weights of time-contextual factors of each viewing instance in logs with quadratic programming [17]. We note that it only uses the channel information and does not use the genre as a feature. _Pop_usual_, _kNN_, and _SVD_ are time context-free and the others are time context dependent. The number of neighbors in _kNN_ was set to 200; the rank of _SVD_ was set to 100; and the parameter \(\alpha\) of the proposed method was set to 0.8. We choose the values that showed the best performances. We tried six different numbers of neighbors--50, 100, 150, 200, 250, and 300--for _kNN_. For _SVD_, three different ranks--50, 100, and 150--were searched, and for our method, we tested six values of \(\alpha\): 0.0, 0.2, 0.4, 0.6, 0.8, and 1.0. _kNN_ and _SVD_ showed very similar performances regardless of parameter changes. We used each user's first 80% of watching logs as the training data and the rest was used as the test data. The recommender system recommended from one to five TV programs. As the evaluation metrics, the hit rate and the average rank are used. The hit rate (HR) is the average value of hits. If the watched program is included in the recommendation list, it is a hit recommendation. The average rank (AR) is the average of the ranks of the watched program in each user's recommendation list. A lower AR means that the watched program is highly recommended by the system.