# A Generative Adversarial Network for Financial Advisor Recruitment in Smart Crowdsourcing Platforms
## 3 Proposed Recruitment Framework
### Advisor to Investor (AIM) Matching Phase
By default, \(k_{1}=0.01\), \(k_{2}=0.03\), and \(Q=2^{p}-1\), where \(p\) is the number of bits on each pixel. In our case, \(p=8\) bits since we are employing gray-scale images and each pixels' value is ranged between 0 and 255 hence, \(2^{8}=256\) possible values exist. The first constraint in (4) indicates that a financial advisor \(f\) cannot serve more than \(n_{f}\) investors. The second constraint indicates that an investor \(i\) is willing to recruit a maximum of \(m_{i}\) financial advisors. Finally, the third constraint is added to ensure that all the investors are assigned to at least one financial advisor. The problem formulated in (4) is an NP-hard ILP that can be solved optimally using very complex methods such as the exhaustive search or the branch-and-bound method. Off-the-shelf software incorporating these algorithms can be employed to this end; however, in practice, and for a large data base and real-time services, it is highly recommended to employ low complexity algorithms. For this reason, we propose to model the problem as a weighted bipartite graph composed of the two sets \(\mathcal{I}\) and \(\mathcal{F}\). The edge interconnecting the vertices of the two sets are weighted with the similarity metric \(w_{i,f}\). Afterwards, we employ a constrained maximum weight matching algorithm to perform the matching process by selecting the edges that maximize the overall similarity between the suggested financial advisor profiles for each investor and the existing financial advisors' profiles with respect to the capacity constraints. For a large-scale database, and as an optional step, we propose to split the matching process into two steps. In the first step, we cluster the available financial advisors usingan unsupervised clustering algorithm into \(K\) clusters and select a cluster-head for each cluster. The cluster-head is selected to represent all members of its cluster and its features are selected by averaging over all the features of the other members of the same cluster. Note that for clustering, multiple algorithms can be used, such as \(K\)-Means, Density-Based Spatial Clustering of Applications with Noise (DBSCAN), Mean-shift, etc. Afterwards, we assign the investors to the best financial advisors' cluster by approximating the similarity of the suggested financial advisors profiles with the cluster-heads. This step only considers the investors \(\mathcal{I}\) and the cluster-head set denoted by \(\mathcal{C}\). Once each investor is assigned to a financial advisor cluster, the second phase aims to assign the investors within the clusters. To this end, the two sets are interconnected with a bipartite graph where the weights are computed as the similarity of the generated signature that best matches each investor profile \(\mathcal{G}(i),\quad\forall i\in\mathcal{I}\), and the signatures of all the cluster-heads. Afterwards, we perform maximum weight matching to assign each investor \(i\in\mathcal{I}\) to a cluster \(k\in\{1,\ldots,K\}\) represented by a cluster-head \(c_{k}\in\mathcal{C}\) as follows:  
\[k=\operatorname*{arg\,max}_{k\in\{1,\ldots,K\}}\quad\omega_{i,c_{k}}\quad \forall i\in\mathcal{I}, \tag{6}\]  
where \(\omega_{i,c_{k}}\) is the weight of the edge connecting the investor \(i\) and the cluster-head \(c_{k}\). We denote by \(\mathcal{I}_{k}\) the set of investors associated to cluster \(k\) where \(\bigcup\limits_{k\in\{1,\ldots,K\}}\mathcal{I}_{k}=\mathcal{I}\). We operate the intra-clusters matching where we consider the investors \(I_{k}\) assigned to the cluster of advisors \(k\in\{1,\ldots,K\}\). For each cluster, we perform the same maximum weight matching to finally assign the investors to the corresponding financial advisors based on the SSIM. Recall that the clustering step is optional and we can directly use the full set of \(\mathcal{F}\) in the bipartite matching process. We investigate the impact of clustering in the simulation results section.