# Enhancing Predictive Expert Method for Link Prediction in Heterogeneous Information Social Networks
## 4 Methodology
### Predictive Expert Constructor  
After obtaining different types of link representations, we propose a predictive expert constructor that generates multiple enhancing predictive experts during the training process. The predictive expert constructor initially generates \(K\) predictive experts for all types of links in the heterogeneous information social network, denoting the \(k\)th predictive expert as \(M^{k}_{d}\left(\cdot;\theta^{k}_{d}\right)\), where \(\theta^{k}_{d}\) represents the set of all contained parameters. \(\theta^{k}_{f}\) denotes the specific parameter set for the \(k\)th enhancing predictive expert. The prediction process of the \(k\)th predictive expert for the existence likelihood of link \(l\) is as follows. \[P^{k}(l)=M^{k}_{d}\Big{(}R_{l};\theta^{k}_{d}\Big{)} \tag{5}\]  
where \(P^{k}(l)\) represents the predictive representation of link \(l\) in the \(k\)th predictive expert. Based on the \(P^{k}(l)\), the model uses cross-entropy to quantify the predictive power of this enhancing predictive expert for link \(l\), as follows. \[C^{k}(l)=-[y_{l}\log\Big{(}P^{k}(l)\Big{)}+(1-y_{l})\log\Big{(}1-P^{k}(l) \Big{)}] \tag{6}\]  
Here, \(y^{k}(l)\in\{0,1\}\), if the \(k\)th enhancing predictive expert predicts that link \(l\) exists, then \(y^{k}(l)=1\); otherwise, \(y^{k}(l)=0\). The larger the value of \(C^{k}(l)\), the better the prediction of link \(l\) by the \(k\)th expert, and the purpose of the \(k\)th expert is to maximize the prediction of the \(k\)th type of link. The model labels the link set of the \(k\)th type as \(S_{k}\), then the prediction loss function of the corresponding enhancing predictive expert of the \(k\)th type is as follows. \[L^{k}\Big{(}\theta^{k}_{f},\theta^{k}_{d}\Big{)}=\frac{1}{|S_{k}|}\sum_{l\in S _{k}}C^{k}(l) \tag{7}\]  
The model minimizes the prediction loss \(L^{k}\left(\theta^{k}_{f},\theta^{k}_{d}\right)\) by solving for the optimal parameters \(\theta^{k}_{f}\) and \(\theta^{k}_{d}\) by the process shown below. \[\left(\theta^{k}_{f},\theta^{k}_{d}\right)=\arg\min_{\theta^{k}_{f},\theta^{k }_{d}}L^{k}\left(\theta^{k}_{f},\theta^{k}_{d}\right) \tag{8}\]  
Meanwhile, to learn the individual features of different types of links and to preserve the type independence of each enhancing predictive expert, the model needs to further reduce the type correlation between them while generating experts of the respective link types. Let the correlation loss between experts of type \(k_{1}\) and experts of type \(k_{2}\) be defined as follows. \[L^{k_{1}k_{2}}(l)=-[P^{k_{1}}(l)\log P^{k_{2}}(l)+\Big{(}1-P^{k_{1}}(l)\Big{)} \log\Big{(}1-P^{k_{2}}(l)\Big{)}] \tag{9}\]  
When the value of \(L^{k_{1},k_{2}}(l)\) is large, the difference in type-specific features learned by the \(k_{1}\) and \(k_{2}\) type experts is also large, which is beneficial for each enhancing predictive expert to learn the corresponding type of link feature. As there are \(K\) types of links in total, there are also \(K\) enhancing predictive experts. The overall related predict expert loss \(L^{a}\Big{(}\theta^{a}_{f^{\prime}},\theta^{a}_{d}\Big{)}\) is defined as follows. \[L^{a}\Big{(}\theta^{a}_{f},\theta^{a}_{d}\Big{)}=\frac{2}{|K(K-1)|\cdot|S|}\sum _{k=1}^{K-1}\sum_{k^{\prime}=k+1}^{K}\sum_{l\in S}L^{k,k^{\prime}}(l) \tag{10}\]  
where \(S=S_{1}\cup S_{2}\cdot\cdot\cdot\cup S_{k}\) represents the overall link set. \(\theta^{a}_{d}\) represents the set of all contained parameters, and \(\theta^{a}_{f}\) denotes the specific parameter set for aggregated enhancing predictive experts when computing \(L^{a}\Big{(}\theta^{a}_{f},\theta^{a}_{d}\Big{)}\), respectively. The model needs to minimize the overall prediction loss and maximize the type-specific loss, allowing the enhancing predictive expert to better predict the corresponding type of link. The final loss is defined as follows.