My girlfriend: Scott, I want to test how much you know about me!
Me: No sweat! It’s a piece of cake!
My girlfriend: my friend (another girl) sent me some photos of high-heeled shoes and ask me if they look nice. I don’t like them, so I suggested some new shoes. Can you guess what I suggested?
I, looking at the long list of shoes, thought that they all look the same… ….
But I must give her an answer, and the answer must be right.
Suddenly, I felt that something hit my head : Machine Learning!
This is a typical machine learning ‘Clustering’ problem for a list of data. According to the Machine Learning cheat sheet, the first thing I should do is to know the number of clusters, and if possible, the size of each cluster. The number of clusters is two (one cluster of shoes suggested by my girlfriend, and the other cluster chosen by her friend). To know the size of each cluster, I posted the following question to my girlfriend.
Me: How many did you suggest?
My girlfriend: Three
Next, I extracted features of these shoes images. I did it quickly in my mind when I was chatting with my girlfriend, but here let me put it into a table:
|Shoes||Background||Size Ratio||Direction||Image Source|
Then I quickly ran the clustering algorithm – KMeans – in my mind. These three shoes are in one cluster because they have the closest features: they have the same image background, same size ratio, same direction and from the same site.
The rest shoes are in the second cluster.
I gave the answer to my girlfriend with 100% confidence.