SlowGuess/NeurIPS_2023_OCR huggingface dataset:
We then repeat the following process to find a large cluster (or stop when the number of iterations is large enough). In Line 4-7, we sample a vertex  $u \in Y_2$  and consider the column vector  $\hat{\mathbf{u}}$  corresponding to  $u$  in the bi-adjacency matrix  $\hat{A}$  between  $Y_2$  and  $Z$ . Then we consider the projection  $P_{\hat{A}_{k'}} \hat{\mathbf{u}}$  of  $\hat{\mathbf{u}}$  onto the subspace of the first  $k'$  singular vectors of  $\hat{A}$  for some appropriately chosen  $k'$ , and the set  $S$  of all vertices  $v$  in  $Y_2$  whose projections are within distance  $L/20$  from  $\mathbf{p_u}$ , for some parameter  $L$ . In Lines 9-15, we give a process that completely recovers a large cluster when  $S$  is a plural set. More precisely, we first test if  $|S| \geq \overline{s}/21$  and if so, we invoke Algorithm 4 to obtain  $T_1 = \text{IDENTIFYCLUSTER}(S, W, \overline{s})$ , which simply defines  $T_1$  to be the set of all vertices  $v \in W$  with  $N_S(v) \geq q|S| + (p - q)\frac{\overline{s}}{56}$ . Then we check (Line 10) if the set  $T_1$  satisfies a few conditions to test if  $u$  is indeed a good center (so that  $S$  is a plural set) and test if  $T_1 = V_1 \cap W$ . If so, we then invoke IDENTIFYCLUSTER( $T_1, U, \overline{s}$ ) to find  $V_1 \cap U$ . Note that we use a two-step process to find  $V_1$ , as  $N_S(u)$  is not a sum of independent events for  $u \in U$ .
Algorithm 1 CLUSTER  $(G = (V,E),p,q)$ : Recovering one large cluster
1:  $\hat{A},\hat{B},Y_2,Y_1,Z,W\gets \mathrm{PREPROCESSING}(G,p,q)$    
2:  $\overline{s}\gets$  ESTIMATINGSIZE(G,p,q,W,Y2)   
3: for  $i = 1,\dots ,h = \sqrt{n}\log n$  do   
4: sample a vertex  $u$  from  $Y_{2}$    
5:  $\pmb {u}\gets$  the column vector consisting of the edges between  $u$  and  $Z$    
6:  $\mathbf{p_u}\gets P_{\hat{A}_{k'}}\hat{\mathbf{u}}$  , the projection of  $\widehat{\mathbf{u}}$  onto the subspace of the first  $k^{\prime}$  singular vectors of  $\hat{A}$  where  $k^{\prime} = (p - q)\sqrt{n} /\sqrt{p(1 - q)}$    
7:  $S\gets \{v\in Y_2:\| \mathbf{p_u} - \mathbf{p_v}\| \leq \frac{L}{20}\}$  , where  $\mathbf{p_v}\gets P_{\hat{A}_{k'}}\widehat{\mathbf{v}}$  and  $L = \sqrt{0.004}(p - q)\sqrt{s}$    
8: if  $|S|\geq \frac{\overline{s}}{21}$  then   
9:Invoke IDENTIFYCLUSTER(S,W,  $\overline{s})$  to get set  $T_{1}$    
10: if  $|T_{1}|\leq \frac{\overline{s}}{6}$  or  $\exists v\in T_{1}$  s.t.  $N_{T_1}(v)\leq (0.9p + 0.1q)\cdot |T_1|$  or  $\exists v\in W\setminus T_1$  s.t.  $N_{T_1}(v)\geq (0.9p + 0.1q)\cdot |T_1|$  then   
11: continue   
12: else   
13: Invoke IDENTIFYCLUSTER(T1,U,  $|T_{1}|$ ) to obtain a set  $T_{2}$    
14: Merge the two sets to form  $T = T_{1}\cup T_{2}$    
15: Return  $T$    
16: Return  $\emptyset$
2.1 The analysis
We first show that ESTIMATINGSIZE outputs an estimator  $\overline{s}$  approximating the size of the largest cluster within a factor of 2 with high probability.
Lemma 2.1. Let  $\overline{s}$  be as defined in Line 6 of Algorithm 3. Then with probability  $1 - n^{-8}$  we have  $0.48 \cdot s_{\max} \leq \overline{s} \leq 0.52 \cdot s_{\max}$ .
Recall that  $\hat{A}$  (resp.  $\hat{B}$ ) is the bi-adjacency matrix between  $Y_{1}$  (resp.  $Y_{2}$ ) and  $Z$ . Let  $A$  and  $B$  be the corresponding matrices of expectations. That is,  $\hat{A} = A + E$ , where  $E$  is a random matrix consisting of independent random variables with 0 means and standard deviations either  $\sqrt{p(1 - p)}$  or  $\sqrt{q(1 - q)}$ .
For a vertex  $u \in Y_1$ , let  $\widehat{\mathbf{u}}$  and  $\mathbf{u}$  represent the column vectors corresponding to  $u$  in the matrices  $\hat{A}$  and  $A$  respectively (We define analogous notations for  $\hat{B}$  and  $B$  when  $u \in Y_2$ ). We let  $e_u := \widehat{\mathbf{u}} - \mathbf{u}$ , i.e.,  $e_u$  is the random vector with zero mean in each of its entries. Recall that  $\mathbf{p}_{\mathbf{u}} = P_{\hat{A}_{k'}} \widehat{\mathbf{u}}$ .
Figure 1: Partition of the vertices
Algorithm 2 PREPROCESSING  $(G,p,q)$ : Partition and projection
1: Randomly partitions  $V$  into four subsets  $Y_{1}, Y_{2}, Z, W$  such that each vertex is added to  $Y_{1}, Y_{2}, Z, W$  with probability  $1/8, 1/8, 1/4, 1/2$ , respectively.
2: Let  $Y = Y_{1} \cup Y_{2}$ ,  $U = Y \cup Z$ .
3: Let  $\hat{A}$  (resp.  $\hat{B}$ ) be the bi-adjacency matrix between  $Y_{1}$  (resp.  $Y_{2}$ ) and  $Z$ .
4: Return  $\hat{A},\hat{B},Y_2,Y_1,Z,W$
Algorithm 3 ESTIMATINGSIZE  $(G =$ $(V,E),p,q,W,Y_{2})$  : Estimating the size of the largest cluster
1:  $s^* \gets \frac{2^{13} \cdot \sqrt{p(1 - q)} \cdot \sqrt{n} \cdot \log n}{(p - q)}$
2: for  $i = 1, \dots, h = \sqrt{n} \log n$  do
3: sample  $u_{i}$  from  $Y_{2}$  uniformly at random.
4:  $N_W(u_i)\gets \#$  of neighbors of  $u_{i}$  in  $W$
5:  $u\gets \arg \max N_W(u_i)$
6:  $\overline{s} \gets \frac{N_W(u) - q|W|}{(p - q)}$
7: if  $\overline{s} \leq s^* / 3$  then
8: Exit(0)
9: else
10: Return  $\overline{s}$
Algorithm 4 IDENTIFYCLUSTER(S,R,s): Finding a subcluster  $R\cap V_{i}$  using a  $V_{i}$ -plural set  $S$
1:  $T\gets \emptyset$
2: for each  $v \in R$  do
3: if  $N_{v,S} \geq q|S| + (p - q)\frac{\overline{s}}{56}$  then
4: add  $v$  to  $T$
5: Return  $T$
Now we bound the distance between  $P_{\widehat{A}_{k'}} \widehat{\mathbf{u}}$  and the expectation vector  $\mathbf{u}$ . We set  $\varepsilon = 0.002$  in the following.
Lemma 2.2. Follows the setting of Algorithm 2, we fix  $Y_{1}, Y_{2}, Z, W$ . For any vector  $u \in Y_{2}$  and  $k' \geq 1$  we have  $\| P_{\widehat{A}_{k'}}(\widehat{\mathbf{u}}) - \mathbf{u} \| \leq \frac{1}{\sqrt{s_u}} \| (P_{\widehat{A}_{k'}} - I)A \| + \| P_{\widehat{A}_{k'}}(e_u)\|$ .
Furthermore, for some constant  $C_2$ , and  $\varepsilon$  as described above we have
1.  $\| (P_{\widehat{A}_{k^{\prime}}} - I)A\| = \| (P_{\widehat{A}_{k^{\prime}}} - I)\widehat{A} -(P_{\widehat{A}_{k^{\prime}}} - I)E\| \leq 2C_2\sigma \sqrt{n} +\lambda_{k^{\prime} + 1}(A)$  with probability  $1 - \mathcal{O}(n^{-3})$  for a random  $\hat{A}$ , where  $\lambda_t(A)$  is the t-th largest singular value of  $A$ .
2. For any set  $V' \subset Y_2$  s.t.  $|V'| \geq \frac{4\log n}{\varepsilon^2}$ , with probability  $1 - n^{-8}$ , we have  $\| P_{\widehat{A}_{k'}}(e_u) \| \leq \frac{1}{\varepsilon} \sigma \sqrt{k'}$  for at least  $(1 - 2\varepsilon)$  fraction of the points  $u \in V'$ .
We have the following result regarding the  $t$ -th largest singular value  $\lambda_t(A)$  of  $A$ .
Lemma 2.3. For any  $t > 1$ ,  $\lambda_t(A) \leq (p - q)n / t$ .
Now we introduce the a definition of good center, the ball of which induces a plural set.
Definition 2.4 (Good center). We call a vector  $\widehat{\mathbf{u}}\in \hat{B}$  a good center if it belongs to a cluster  $V_{i}$  such that  $|V_{i}|\geq \frac{s_{\max}}{4}$  and  $\left\| P_{\hat{A}_{k^{\prime}}}(\boldsymbol {e}_u)\right\| \leq \frac{1}{\varepsilon}\sigma \sqrt{k^{\prime}}$
That is, a good center is a vertex that belongs to a large cluster and has a low  $\ell_2$  norm after the projection. Then by Lemma 2.2, we have the following corollary on the number of good centers.
Corollary 2.5. If  $s_{\mathrm{max}} \geq 16\sqrt{n} \log n$ , then with probability  $1 - n^{-8}$  there are  $(1 - 2\varepsilon) \cdot s_{\mathrm{max}}$  many good centers in  $V$ .
This implies that if we sample  $\frac{100n\log n}{\overline{s}}$  many vertices independently at random, we shall sample a good center with probability  $1 - n^{-8}$ .
Good center leads to plural set We show that if at line 4 a good center from a cluster  $V_{i}$  is chosen, then the set  $S$  formed in line 7 is a  $V_{i}$ -plural set. Recall that  $L = \sqrt{0.004} (p - q)\sqrt{s}$ . Let  $L_{\varepsilon} := L$ .
Lemma 2.6. Let  $u$  be a good center belonging to  $V_{i} \cap Y_{2}$  and  $S = \{v \in Y_{2} : \| \mathbf{p}_{\mathbf{u}} - \mathbf{p}_{\mathbf{v}} \| \leq L_{\varepsilon} / 20\}$ . Then it holds with probability  $1 - \mathcal{O}(n^{-3})$  that  $|V_{i} \cap S| \geq \overline{s} / 21$  and for any other cluster  $V_{\ell}$  with  $\ell \neq i$ ,  $|S \cap V_{\ell}| \leq 1.05\varepsilon \overline{s}$ . Thus  $S$  is a  $V_{i}$  plural set as  $1 / 21 \cdot 1 / 10 \geq 1.05\varepsilon$ .
**Plural set leads to cluster recovery** We now prove that given a plural set for a large cluster  $V_{i}$ , we can recover the whole cluster. This is done by two invocations of Algorithm 4.
Lemma 2.7. Let  $U, W$  be the random partition as specified in Algorithm 1. Let  $S \subseteq Y_2$  be the  $V_i$ -plural set where  $|V_i| \geq s_{\max} / 4$ . Let  $T_1 \coloneqq \text{IDENTIFYCLUSTER}(S, W, \overline{s})$  and  $T \coloneqq T_1 \cup \text{IDENTIFYCLUSTER}(T_1, U, \overline{s})$ . Then with probability  $1 - \mathcal{O}(n^{-3})$ , it holds that  $T_1 = V_i \cap W$ ,  $T_1 \geq \frac{\overline{s}}{6}$  and  $T = V_i$ .
Testing if  $T_{1}$  is a sub-cluster Since  $S$  may not be a plural set, we show that we can test if  $T_{1} = W \cap V_{i}$  for some large cluster  $V_{i}$  using the conditions of Line 10 of Algorithm 1.
Lemma 2.8. Let  $v$  be a good center from  $V_{i} \cap Y_{2}$  such that  $|V_{i}| \geq \frac{s_{\max}}{4}$  and let  $S = \{u \in Y_{2} : \| \mathbf{p}_{\mathbf{u}} - \mathbf{p}_{\mathbf{v}} \| \leq \frac{L_{\varepsilon}}{30}\}$ . Let  $T_{1}$  be the set returned by IDENTIFYCLUSTER(S, W, s). Then with probability at least  $1 - n^{-8}$ ,  $|T_{1}| \geq \frac{s}{6}$  and  $N_{T_1}(u) \geq (0.9p + 0.1q)|T_1|$  for any  $u \in T_{1}$  and  $N_{T_1}(u) \leq (0.9p + 0.1q)|T_1|$  for any  $u \in W \setminus T_{1}$ .
Finally, we show that if the set  $T_{1} \neq V_{i} \cap W$  for some large cluster  $V_{i}$ , then it satisfies one of the conditions at line 10 of Algorithm 1. Together with the previous results this guarantees correct recovery of a large set at every round.
Corollary 2.9. Let  $T_{1} = \mathrm{IDENTIFYCLUSTER}(S, W, \overline{s})$  be a set such that  $T_{1} \neq V_{i} \cap W$  for any underlying community  $V_{i}$  of size  $|V_{i}| \geq s_{\max} / 7$ . Then with probability  $1 - n^{-8}$  either  $|T_{1}| \leq \frac{\overline{s}}{6}$  or there is a vertex  $u \in T_{1}$  such that  $N_{T_{1}}(u) \leq (0.9p + 0.1q)|T_{1}|$ .
Remark 2.10. Note that in Lemma 2.8 and Corollary 2.9, the quantity  $N_{T_1}(u)$  for any  $u \in T_1$  is a sum of independent events. This is because the event that a vertex in  $v \in W$  is chosen in  $T_1$  is solely based on  $N_u(S)$ , where  $S \cap T = \emptyset$ . Thus, for any  $u_1, u_2 \in T$ , there is an edge between them (as per underlying cluster identities) independent of other edges in the graph.
The proofs of the above results are deferred to Appendix 2.1.
Now we are ready to prove Theorem 1.2.
Proof of Theorem 1.2 By the precondition, we have that  $s_{\max} \geq s^*$ . First, in Line 2, Lemma 2.1 guarantees that  $0.48s_{\max} \leq \overline{s} \leq 0.52s_{\max}$ . By Corollary 2.5 and the fact that we iteratively sampled vertices  $\Omega(\sqrt{n}\log n)$  times, with probability  $1 - n^{-8}$ , one such vertex  $u$  is a good center. Given such a good center, by Lemma 2.6, we know with probability  $1 - \mathcal{O}(n^{-3})$ , a  $V_i$ -plural set is recovered on Line 7. Then by Lemma 2.7, given such a  $V_i$ -plural set, the two invocations of IDENTIFYCLUSTER recovers the cluster  $V_i$  with probability  $1 - \mathcal{O}(n^{-3})$ . Furthermore, Lemma 2.8 shows that if the sampled vertex  $v$  is a good center, then with probability  $1 - n^{-8}$  none of the conditions of line 10 are satisfied, and we are able to recover a cluster. On the other hand, Corollary 2.9 shows that if  $T_1 \neq V_i \cap W$  for any large cluster  $V_i$ ,  $(V_i : |V_i| \geq s_{\max}/7)$  then one of the conditions of line 10 is satisfied with probability  $1 - n^{-8}$  and the algorithm goes to the next iteration to sample a new vertex in line 4. Taking a union bound on all the events for at most  $\mathcal{O}(\sqrt{n}\log n)$  iterations guarantees that algorithm 1 finds a cluster of size  $s_{\max}/7$  with probability  $1 - \mathcal{O}(n^{-2})$ . This completes the correctness of Algorithm 1.
3 The algorithm in the faulty oracle model
We describe the main ideas of our algorithm NOISYCLUSTERING for clustering with a faulty oracle. Let  $V$  be the set of items that contains  $k$  latent clusters  $V_{1},\ldots ,V_{k}$  and  $\mathcal{O}$  be the faulty oracle. Following the idea of [27], we first sample a subset  $T\subseteq V$  of appropriate size and query  $\mathcal{O}(u,v)$  for all pairs  $u,v\in T$ . Then apply our SBM clustering algorithm (i.e. Algorithm 1 CLUSTER) on the graph (with all the edges for the pairs that are reported to belong to the same cluster) induced by  $T$  to obtain clusters  $X_{1},\dots ,X_{t}$  for some  $t\leq k$ . We can show that each of these sets is a subcluster of some large cluster  $V_{i}$ . Then we can use majority voting to find all other vertices that belong to  $X_{i}$ , for each  $i\leq t$ . That is, for each  $X_{i}$  and  $v\in V$ , we check if the number of neighbors of  $v$  in  $X_{i}$  is at least  $\frac{|X_i|}{2}$ . In this way, we can identify all the large clusters  $V_{i}$  corresponding to  $X_{i}$ ,  $1\leq i\leq t$ .
Furthermore, we can just choose a small subset of  $X_{i}$  of size  $O\left(\frac{\log n}{\delta^{2}}\right)$  for majority voting to reduce query complexity. Then we can remove all the vertices in  $V_{i}$ 's and remove all the edges incident to them from both  $V$  and  $T$  and then we can use the remaining subsets  $T$  and  $V$  and corresponding subgraphs to find the next sets of large clusters. The algorithm NOISYCLUSTERING then recursively finds all the large clusters until we reach a point where the recovery condition on the current graph no longer holds. The pseudocode and the analysis of NOISYCLUSTERING are deferred to Appendix F.
Now we exhibit various properties of our algorithms by running it on several unbalanced SBM instantiations and also compare our improvement w.r.t the state-of-the-art. We start by running our algorithm RECURSIVECLUSTER on the instances used by the authors of [4]. WLOG, we assume that  $|V_{1}| \geq |V_{2}| \cdots \geq |V_{k}|$ . We denote the algorithm in [4] by ACX.
Exp. #	n	p,q	k	Cluster sizes	Recovery by us	Recovery by ACX
1	1100	0.7, 0.3	4	{800, 200, 80, 20}	Largest cluster	All clusters
2	3200	0.8, 0.2	5	{800, 200, 200, 50, 50}	Largest cluster	All clusters
3	750	0.8, 0.2	4	{500, 150, 70, 30}	Largest cluster	Incorrect
Recovery
4	800	0.8, 0.2	4	{500, 200, 70, 30}	Two largest clusters	Incorrect
Recovery
Comparison with ACX In Exp-1 (abbreviated for Experiment #1) and Exp-2, our algorithm recovers the largest cluster while ACX recovers all the clusters. This is because we have a large, constant lower bound on the size of the clusters we can recover. If we scale up the size of the clusters by a factor of 20 in those instances, then we are also able to recover all clusters.
Overcoming the gap constraint in practice Exp-3 is the "mid-size-cluster" experiment in [4]. In this case, ACX recovers the largest cluster completely, but only some fraction of the second-largest cluster, which is an incorrect outcome. In [4], the authors used this experiment to emphasize that their "gap-constraint" is not only a theoretical artifact but also observable in practice. In comparison, we recover the largest cluster while do not make any partial recovery of the rest of the clusters. In Exp-4, we modify the instance in Exp-3 by changing the size of the second cluster to 200. Note that this further reduces the gap, and ACX fails in this case as before. In comparison, we are able to recover both the largest and the second largest cluster. This exhibits that we are indeed able to overcome the experimental impact of the gap constraint observed in [4] in the settings of Table 1.
Table 1: Comparing RECURSIVECLUSTER with ACX [4]
Exp. #	n	p,q	k	Cluster sizes	Recovery by us
5	2900	0.7, 0.3	1000	{1000, 903} ∪ {1}i=1997	Large clusters
6	12300	0.85, 0.15	4	{12000, 100, 100, 100}	All clusters
Table 2: Further Evaluation of RECURSIVECLUSTER
We then run some more experiments in the settings of Table 2 to describe other properties of our algorithms as well as demonstrate the practical usefulness of our "plural-set" technique.
Many clusters Exp-5 covers a situation where  $k = \Omega(n)$  (specifically  $n/3$ ), which can not be handled by ACX, as the size of the recoverable cluster in [4] is lower bounded by  $k \log n / (p - q)^2 > n$ . In comparison, our algorithm can recover the two main clusters. We also remark, in this setting, the spectral algorithm in [28] with  $k = 1000$  can not geometrically separate the large clusters.
Recovery of small clusters Exp-6 describes a situation where the peeling strategy successfully recovers clusters that were smaller than  $\sqrt{n}$  in the original graph. Once the largest cluster is removed, the smaller cluster then becomes recoverable in the residual graph. Finally, we discuss the usefulness of the plural set.
Run-time comparison Here, note that our method is a combination of a  $(p - q)\sqrt{n} / \sqrt{p(1 - q)}$  dimensional SVD projection, followed by some majority voting steps. Furthermore, we have
$(p - q) / \sqrt{p(1 - q)} \leq 2\sqrt{p}$ . This implies that the time complexity of our algorithm is  $\mathcal{O}\left(2\sqrt{p} \cdot n^{2.5}\right)$ . In comparison, the central tool used in the algorithms by [3, 4] is an SDP relaxation, which scales as  $\mathcal{O}(n^3)$ . This implies that the asymptotic time complexity of our method is also an improvement on the state-of-the-art. We also confirm that the difference in the run-time becomes observable even for small values of  $n$ . For example, our algorithm recovers the largest cluster in Experiment 1 (with  $n = 1100$ ) of table 1 in 1.4 seconds. In comparison, [3] recovers all 4 clusters, but takes 44 seconds.
On the importance of plural sets Recall that in Algorithm 1 (which is the core part of RECURSIVECLUSTER), we first obtain a plural-set  $S$  in the partition  $Y_{2}$  of  $V$  (see Figure 1 to recall the partition).  $S$  is not required to be  $V_{i} \cap Y_{2}$  for any cluster  $V_{i}$ , but the majority of the vertices in  $S$  must belong to a large cluster  $V_{i}$  (which is the one we try to recover). We have the following observations:
1. In Exp-3 of Table 1, in the first round we recover a cluster  $V_{1}$ . Here in our first step, we recover a plural set  $S$ , where  $S \subset V_{1} \cap Y_{2}$ . That is, we do not recover all the vertices of  $V_{1}$  in  $Y_{2}$  when forming the plural-set.
2. In Exp-4 of Table 1, in the second iteration we recover a cluster  $V_{2}$ . However, the plural set  $S \not\subset V_{2}$ , and in fact contains a few vertices from  $V_{4}$ ! This is in fact the exact situation that motivates the plural-set method.
In both cases, the plural-set is then used to recover  $S_{1} \coloneqq V_{1} \cap W$  and  $V_{2} \cap W$  respectively, and then  $S_{1}$  is used to recover the vertices of the corresponding cluster in  $U$ . Thus, our technique enables us to completely recover the largest cluster even though in the first round we may have some misclassifications. A more thorough empirical understanding of the Plural sets in different applications is an interesting future work.
We conclude our paper with some more discussion and future directions.
In this work, we design a spectral algorithm that recovers large clusters in the SBM model in the presence of arbitrary numbers of small clusters and compared to previous work, we do not require gap constraint in the size of consecutive clusters. Some interesting directions that remain open are as follows.
1. We note that both our algorithm and [4] require knowledge of the probability parameters  $p$  and  $q$  ([4] also need the knowledge of  $k$ , the number of clusters). Thus, whether parameter-free community recovery algorithms can be designed with similar recovery guarantees is a very interesting question.
2. Both our result (Algorithm 1) as well as [4] have a multiplicative log  $n$  term in our recovery guarantees. In comparison, the algorithm by Vu [28], which is the state-of-the-art algorithm in the dense case when "all" clusters are large, only has an additive logarithmic term. This raises the question of whether this multiplicative logarithmic factor can be further optimized when recovering large clusters in the presence of small clusters.
Additionally, we note that the constant in our recovery bound is quite large  $(2^{13})$ , and we have not made efforts to optimize this constant. We believe this constant can be optimized significantly, such as through a more careful calculation of the Chernoff bound in Theorem A.2.
[1] Emmanuel Abbe. Community detection and stochastic block models: recent developments. The Journal of Machine Learning Research, 18(1):6446-6531, 2017.
[2] Emmanuel Abbe and Colin Sandon. Community detection in general stochastic block models: Fundamental limits and efficient algorithms for recovery. In 2015 IEEE 56th Annual Symposium on Foundations of Computer Science, pages 670-688. IEEE, 2015.
[3] Nir Ailon, Yudong Chen, and Huan Xu. Breaking the small cluster barrier of graph clustering. In International conference on machine learning, pages 995-1003. PMLR, 2013.
[24] Arya Mazumdar and Barna Saha. A theoretical analysis of first heuristics of crowdsourced entity resolution. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, pages 970–976, 2017.
[25] Frank McSherry. Spectral partitioning of random graphs. In Proceedings 42nd IEEE Symposium on Foundations of Computer Science, pages 529-537. IEEE, 2001.
[26] Michael Mitzenmacher and Charalampos E Tsourakakis. Predicting signed edges with  $o(n^{1 + o(1)}\log n)$  queries. arXiv preprint arXiv:1609.00750, 2016.
[27] Pan Peng and Jiapeng Zhang. Towards a query-optimal and time-efficient algorithm for clustering with a faulty oracle. In Conference on Learning Theory, 2021.
[28] Van Vu. A simple svd algorithm for finding hidden partitions. Combinatorics, Probability & Computing, 27(1):124, 2018.
[29] Jaewon Yang and Jure Leskovec. Defining and evaluating network communities based on ground-truth. In Proceedings of the ACM SIGKDD Workshop on Mining Data Semantics, pages 1-8, 2012.
A Preliminary Notations and Tools
Notations for vectors. Let  $\hat{M}$  be the adjacency matrix of the graph  $G = (V, E)$  that is sampled from  $\mathrm{SBM}(n, k, p, q)$ . We denote by  $M$  the matrix of expectations, where  $M[i, j] = p$  if the  $i$ -th and  $j$ -th vertices belong to the same underlying cluster, and  $M[i, j] = q$  otherwise. Going forward, we shall work with several sub-matrices of  $\hat{M}$  and for any submatrix  $M'$ , we denote by  $\widehat{M'}$  and  $M'$  the random matrix and the corresponding matrix of expectations.
We also use the norm operator  $\| \cdot \|$  frequently in this paper. We use the operator both for vectors and matrices. Given a vector  $\mathbf{x} = (x_{1},\ldots ,x_{d})$ , we let  $\| \mathbf{x}\| \coloneqq \sqrt{\sum_{i}x_{i}^{2}}$  denote its Euclidean norm. When the input is a matrix  $M$ ,  $\| M\|$  denotes the spectral norm of  $M$ , which is its largest singular value.
We describe the well-known Weyl's inequality.
Theorem A.1 (Weyl's inequality). Let  $\hat{A} = A + E$  be a matrix. Then  $\lambda_{t+1}(\hat{A}) \leq \lambda_{t+1}(A) + \|E\|$  where  $\|\cdot\|$  is the spectral norm operator as described above.
We will make use of the following general Chernoff Hoeffding bound.
Theorem A.2 (Chernoff Hoeffding bound [18]). Let  $X_{1}, \ldots, X_{n}$  be i.i.d random variables that can take values in  $\{0, 1\}$ , with  $\operatorname{E}[X_i] = p$  for  $1 \leq i \leq n$ . Then we have
1.  $\operatorname{Pr}\left(\frac{1}{n}\sum_{i=1}^{n}X_{i} \geq p + \varepsilon\right) \leq e^{-D(p + \varepsilon \|p)n}$
2.  $\operatorname{Pr}\left(\frac{1}{n}\sum_{i=1}^{n}X_{i} \leq p - \varepsilon\right) \leq e^{-D(p - \varepsilon ||p)n}$