# Dual-Channel Feature Enhanced Collaborative Filtering Recommendation Algorithm
## 3 DCFECF Model
### Time Factor Weighting  
In the traditional collaborative filtering model, the similarity between users and the real score of users are usually taken into account when predicting the score, while the time factor is often ignored. In practical applications, users may no longer be interested in items they were previously interested in, especially as the impact on predictions gradually decreases over time. Therefore, a time factor is introduced to weight the score in order to more accurately predict the user's next visit.  
Among commonly used weighting functions, the Ebbinghaus forgetting curve and logistic function are widely used in research. [PERSON] et al. [16] introduce the time factor \(TF1\), as shown in Equation (21), to improve the recommendation effect by considering possible changes in user interest during different time periods. [PERSON] et al. [17] combine the Ebbinghaus forgetting curve with \(TF1\) to address the issue of long user history intervals, balance the scoring time difference, simulate changes in human interest, and optimize the time factor \(TF1\) to \(TF2\), as shown in Equation (22).  
\[f_{1}(t)=\frac{1}{1+e^{-(T_{i}-T_{0})}} \tag{21}\]  
\[f_{2}(t)=\frac{1}{1+e^{-(\frac{T_{i}-T_{0}}{T_{0}})}} \tag{22}\]  
where \(T_{i}\) is the time corresponding to the user's rating of item \(I_{i}\), \(T_{0}\) is the time corresponding to the user's first item rating, and \(T_{n}\) is the total time the user has used the recommendation system.  
In time factor \(TF2\), the consideration is to homogenize the time interval for each user's rating, assuming that the time interval for each user to rate the item is uniform. However, in practical application scenarios, the time interval for user rating is not uniform because user rating time exists in dense and non-dense areas [18]. That is to say, the level of user memory for evaluation items over a period of time is not only related to the length of the interval but also to the number of items evaluated by the user during that period. If the number of item ratings accounts for a large proportion of the total number of item ratings from the first time that user rated an item to the time that user rated item \(I_{i}\), it is considered that the user has a high level of memory during this period, and the time weight of the scoring intensive area should be appropriately increased.  
Therefore, this paper modifies the time factor \(TF2\) and obtains the time factor \(TF3\), denoted as function \(f_{3}(t)\), as shown in Equation (23):  
\[f_{3}(t)=\frac{1}{1+e^{-[\lambda\cdot\frac{T_{i}-T_{0}}{T_{n}}+(1-\lambda) \cdot\frac{N_{T_{i}-T_{0}}}{N_{T_{d}}-T_{0}}]}} \tag{23}\]  
where \(\lambda\) is a hyperparameter, which is used to balance the coefficient proportion of the time interval factor and item scoring density factor. \(T_{d}\) represents the time corresponding to the user's last item rating, \(N_{T_{i}-T_{0}}\) represents the number of item ratings given by the user received during the time period from \(T_{0}\) to \(T_{i}\), and \(N_{T_{d}-T_{0}}\) represents the total number of item ratings the user received during the use of the recommendation system.  
We add a density factor of the item score in \(TF2\) to make the time factor expression more reasonable and record function \(f_{3}(t)\) as function \(f(t)\).