# Dual-Channel Feature Enhanced Collaborative Filtering Recommendation Algorithm
## 3 DCFECF Model
### Local Convolutional Channel
\[Attention(q,X)=\sum_{l=1}^{m}\alpha_{l}X_{l} \tag{8}\]  
Therefore, the weight value of user \(u\)'s evaluation of \(m\) items is expressed as \(\alpha_{ul}\), \(l=1,2,\dots,m\). Furthermore, if the weights of \(x_{1},x_{2},\dots,x_{n}\) are \(\omega_{1},\omega_{2},\dots,\omega_{n}\), respectively, the formula for calculating the weighted average \(\overline{x}\) of these \(n\) numbers is shown in Equation (9):  
\[\overline{x}=\frac{x_{1}\omega_{1}+x_{2}\omega_{2}+\dots+x_{n}\omega_{n}}{ \omega_{1}+\omega_{2}+\dots+\omega_{n}} \tag{9}\]  
Assuming that the upper limit of the neighborhood order of user node \(u\) is \(M\), the process of determining the transition probability threshold \(P_{\Theta}^{k}(2\leq k\leq M)\) for each order is listed in Algorithm 1:  
```
Input: User-Item initialization bipartite interaction graph Output: Transition probability threshold \(P_{\Theta}^{k}\) for each order
1. Calculate the transfer matrix \(P^{k}\) of each order, obtain the weight value \(\alpha\) of each connecting edge through the self-attention mechanism, and determine the first-order neighborhood range of user node \(u\). 2.for\(k\) from 2 to \(M\)do
3. Identify all \(k\)-order nodes in the bipartite interaction graph, that is, all nodes that can reach user node \(u\) through \(k\) connecting edges. 4. For each \(k\)-order node, identify the nodes connected to it in the \(k-1\) order neighborhood, and obtain the weight value \(\alpha\) of the connecting edges between the two nodes. 5. Combine the weight value \(\alpha\) with the transfer probability of \(k\)-order nodes to obtain the weighted average value, which is the \(k\)-order transition probability threshold \(P_{\Theta}^{k}\). 6.endfor
7.return\(P_{\Theta}^{k}\)
```  
**Algorithm 1**Calculation of transition probability threshold \(P_{\Theta}^{k}\) for the of user node \(u\) in each order  
The following content continues the setting of neighborhood information aggregation methods in DCCF. If the component \(\left[P^{k}\right]ij\geq P_{\Theta}^{k}\) in the transfer matrix exists, then there is a reachable path between node \(i\) and node \(j\) in the corresponding \(k\)-order neighborhood. Taking user node \(u\) and item node \(i\) as examples, the aggregation method of their corresponding neighborhood information is shown in Equations (10) and (11). \[x_{N_{(u)-k}}=\frac{1}{\sqrt{\left|N_{(u)-k}\right|}}\sum_{i\in N_{(u)-k}} \frac{1}{\sqrt{\left|N_{(i)-k}\right|}}x_{i} \tag{10}\]  
\[x_{N_{(i)-k}}=\frac{1}{\sqrt{\left|N_{(i)-k}\right|}}\sum_{u\in N_{(i)-k}} \frac{1}{\sqrt{\left|N_{(u)-k}\right|}}x_{u} \tag{11}\]where \(k\) is the order of the neighborhood, \(N(\cdot)-k\) is the \(k\)-th order neighborhood of the node, and \(|N(\cdot)-k|\) is the number of neighboring nodes within the \(k\)-th neighborhood of the node. In each order of neighborhood, the feature information of neighboring nodes is weighted and accumulated. \(1/\sqrt{|N(u)-k|}\) and \(1/\sqrt{|N(i)-k|}\) are attenuation coefficients, which play a normalization role. By integrating neighborhood information of each order through mean aggregation, local neighborhood features of nodes are obtained. \[x_{N_{(u)}}=\frac{1}{k}\Big{(}x_{N_{(u)-1}}+x_{N_{(u)-2}}+\cdots+x_{N_{(u)-k}} \Big{)} \tag{12}\]  
\[x_{N_{(i)}}=\frac{1}{k}\Big{(}x_{N_{(i)-1}}+x_{N_{(i)-2}}+\cdots+x_{N_{(i)-k}} \Big{)} \tag{13}\]  
Finally, the output of the local convolutional channel is shown in Equations (14) and (15). \[x_{u}^{local}=x_{u}+x_{N_{(u)}} \tag{14}\]  
\[\alpha_{l}=soft\text{max}(s(key_{l},q))=soft\text{max}(s(X_{l},q))=\frac{e^{s( X_{l},q)}}{\sum\limits_{l=1}^{m}e^{s(X_{l},q)}} \tag{6}\]0  
where \(x_{u}\) and \(x_{i}\) represent the characteristics of user node \(u\) and item node \(i\), respectively. In addition, \(x_{N(\cdot)}\) represents local neighborhood features. Combining node features and local neighborhood information of nodes, the calculation results of local convolutional channels are obtained.