I'm reading through this paper: Baran, Y., Bercovich, A., Sebe-Pedros, A., Lubling, Y., Giladi, A., Chomsky, E., ... & Tanay, A. (2019). MetaCell: analysis of single-cell RNA-seq data using K-nn graph partitions. Genome biology, 20(1), 1-19.

enter image description here

Maybe I am not familiar with this notation but I don't understand the regularization procedure as follows:

  1. What is happening in these max functions? What does the 0 indicate? They have some terms $x$ and then in the max function they write $max( x, 0)$.
  2. I assume $K$ is some regularization parameter, like a cost. Is $s_{ij} * s_{ji}$ the rank product? I.e. the geometric mean?

1 Answer 1


Without looking in too much detail:

  • We may suppose that $S$ is a matrix with dimensions indexed as $(i, j)$. So $s_{ij}$ is the cell of $S$ indexed to the $i$th row and $j$th column, and $s_{ji}$ is the cell vice versa. Therefore, symmetrizing $S$ is a matter of ensuring that $s_{ij} == s_{ji}$, which you can achieve by multiplying the (ranked?) entries. Symmetric matrices are nice for doing certain kinds of math, and yield a handy representation of undirected graphs, which the authors appear to be using for kNN.
  • $max(x, 0)$ is just saying that you want either $x$ if $x$ is non-negative, or $0$ if it is negative. Thus, you make the whole matrix non-negative, which makes some handy matrix math possible. You can see how this works computationally by inspecting e.g. the Python max() function.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.