A minhash implementation with multiple hash functions can easily handle comparisons between sets with a vastly different number of elements because the denominator of the unbiased estimator $k$ is based on the number of hash functions, which is always fixed.
However, when calculating a minhash using a single hash function, you need to choose a value $k$ which represents the minimum $k$ values when all the items in $S$ are run through a single hash function.
How can you process a set $S$ that has less than $k$ elements and get an unbiased estimate?
I see two possible approaches. The first is to simply void any sets that don't have more than $k$ elements for comparison. This is undesirable because even for sets with a small number of values, I'd still like to compare it to other sets (which I can do with the multiple hashing variant).
The second is to get the intersection of $h_k(S_1)$ and $h_{k}(S_2)$ where $|S_{1 and/or 2}| < k$ as you would normally. This seems like it would work, but for small sets that are very similar (if not outright duplicates of each other) it seems it would provide erroneous values; you'd possibly miss matches, but at least you won't get false positives for reasons other than your hash function not being a perfect hash.
kis significantly smaller than your document size. It clearly doesn't give you much speed benefits if the documents are often smaller. You can probably sample with replacement and it will still work, too. – Anony-Mousse Aug 27 '12 at 20:40k, the estimated error rate can skyrocket (e.g.k = 5then the estimated error rate is 0.4472). You need fairly large values ofkin order to get a respectable estimated error rate. – casperOne Aug 28 '12 at 15:28