Mat Kelcey

matpalm.com · Personal blog · on HN since 2009

Mat Kelcey writes about machine learning and data experiments, such as counting bees on a Raspberry Pi and hashing text.

What HN saysCommenters point to his Simhash write-up as a reference for locality-sensitive hashing, and link his bee-counting and Wikipedia-to-philosophy posts as original sources.
28HN people shared it
11linked it in comments
20stories submitted
902story points
3 months agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Counting Bees on a Raspberry Pi with a ConvNet
    4 people · 180 points · first shared 2018 · 23 comments on HN
  2. 2
    Simhash
    4 people · first shared 2014
  3. 3
    Do all first links on Wikipedia lead to philosophy?
    3 people · 291 points · first shared 2011 · 48 comments on HN
  4. 4
    Cool Machine Learning Books
    2 people · 250 points · first shared 2020 · 16 comments on HN
  5. 5
    Tokenising the english text of 30TB common crawl
    2 people · 72 points · first shared 2011 · 7 comments on HN
  6. 6
    A brutally short intro to Theano word embeddings
    2 people · 13 points · first shared 2015 · discussion on HN
  7. 7
    The Median of a Trillion Numbers
    1 people · 48 points · first shared 2009 · 20 comments on HN
  8. 8
  9. 9
    The median of a trillion numbers
    1 people · 11 points · first shared 2016 · 2 comments on HN
  10. 10
  11. 11
    Text classification - resemblance metrics
    1 people · 2 points · first shared 2012 · discussion on HN
  12. 12
    Semi-supervised Learning with Naive Bayes
    1 people · 2 points · first shared 2014 · 1 comments on HN
  13. 13
    The distance from celion dion to napalm death
    1 people · 2 points · first shared 2009 · discussion on HN
  14. 14
  15. 15
    Latent semantic analysis for dummies
    1 people · 2 points · first shared 2010 · discussion on HN

What HN people wrote when they linked it

VorticonCmdr · 2026-07-26
have a look at Simhash as well: https://www.matpalm.com/resemblance/simhash/
overlords · 2020-01-20
Downvoters, please see http://matpalm.com/resemblance/simhash/ https://en.wikipedia.org/wiki/SimHash Simhash, a type of local sensitive hashing - using hash functions on ngrammed data. That is exactly what Vowpal Wabbit does.
ccnafr · 2018-06-03
Source: http://matpalm.com/blog/counting_bees/ Once again, mods don't replace the link to an obvious blog spam article just because it's from TechCrunch.
baobrien · 2018-06-03
Previous discussion: https://news.ycombinator.com/item?id=17103635 The blog post the article is actually about: http://matpalm.com/blog/counting_bees/
stevetrewick · 2016-10-04
Something not entirely quite unlike this http://matpalm.com/blog/2011/08/13/wikipedia-philosophy/
blauwbilgorgel · 2014-07-26
For fast and larger scale near-duplicate detection see Google All-Pairs Similarity Search: https://code.google.com/p/google-all-pairs-similarity-search/ . The SimHash algo: http://matpalm.com/resemblance/simhash/ and Gensim's Similarities Class: http://radimrehurek.com/gensim/similarities/docsim.html For blogspam detection can't PG whip up a nice Bayesian model for that ;) ? Again if you want fast and large scale spam filters see Vowpal Wabbit: http://hunch.net/~vw/ . For something more advanced see scikit-learn: http://scikit-learn.org/ which has many algo's up for this task. A new option you may not have considered yet, is to crowdsource this task. Just offer a labelled dataset and let the HN and ML community have a go at it. I'd love to do content and URL-based spam modelling.
bravura · 2012-10-26
Cool! @matpalm, please run your English extractor scripts on it! (http://matpalm.com/blog/2011/12/10/common_crawl_visible_text/) 'If you would like access to this set of crawl data, please contact us at info at archive dot org and let us know who you are and what you’re hoping to do with it. We may not be able to say “yes” to all requests, since we’re just figuring out whether this is a good idea, but everyone will be considered.' This is annoying, that they're using the enterprise sales model for distribution. Just put it on S3.
pooyak · 2012-03-12
This blog post: http://matpalm.com/blog/2012/01/01/common_crawl_collocations/ mentions that commoncrawl's data is last updated September 2010. Does anyone know if that's still the case?
cperciva · 2009-08-24
The author pointed this out; see "optimizing even more" under http://matpalm.com/median/erlang_multi.html
cyphers · 2021-03-31
The passage quoted above refers to the way google plans to audit FLoC, not FLoC itself. Each browser is assigned a single floc ID, which is (for now) a 50-bit hash that is not human readable on its own. But the floc ID is intended to capture something meaningful about browsing behavior. Two users with similar browsing history are likely to have similar, if not the same, floc IDs. Floc IDs which are close together (hamming distance-wise) also reflect similar browsing histories. (http://matpalm.com/resemblance/simhash/) It will be totally possible to gather data about what kind of people belong to a particular floc -- provided that you operate a large website or ad network. It will probably not be possible for normal people. There's a risk that advertisers will learn that a particular floc ID corresponds to a "sensitive category" of users. That's what google is trying to prevent. Google plans to audit floc IDs for correlation with visits to sensitive websites. In order to do so, it's assigning a "sensitivity" label to certain websites, and then applying that label to each user who visits those websites. Then it will run analyses to see whether users with a particular floc ID are more likely to have a particular label. Floc IDs that correlate too strongly with a particluar label will be thrown out. The passage is attempting to explain why this does not prevent adtech from learning other meaningful things about flocs -- for example, that users in a specific floc are…
Houshalter · 2016-10-01
It does introduce new information. This is how semi-supervised learning works. Many words may be missed by the weak model, but can be inferred correctly from their context. Then you have new labels to train the weak model on, to make it better at those words. The way I'm describing it is probably not the optimal way to do it. I don't know if there is a better way. But the point is it must be possible to take advantage of the vast quantities of unlabelled data we have. Humans brains somehow do something similar. Semi supervised learning is really cool. I saw one successful example where they labelled just a few emails as spam and not spam. Then they trained used their weak classifier to label thousands of unclassified emails, and then used those as training data for an even stronger model. It actually works: http://matpalm.com/semi_supervised_naive_bayes/semi_supervised_bayes.h… https://en.wikipedia.org/wiki/Semi-supervised_learning

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close