Wednesday, March 19, 2014

Training an Artificial Intelligence Machine to Recognize Country Flags




The AI machine was fed flag patterns like number of horizontal lines, vertical lines, colors, crescent, crosses, sun, stars, stripes, bars. It was then asked to cluster countries according to the degree of similarity of their flag patterns. 
The result is in the map of six clusters. To test if the AI was good, I took the bottom right cluster (Pink) that contains Singapore. The countries placed near to Singapore are supposed to have flags with a high degree of similarity with Singapore's flag. Now look at the collage of flags image. The flags are:
Top row from left: Singapore, Tunisia, Maldives
Center from left: Turkey, Mauritania, Pakistan
Bottom: Algeria, Comoros Islands, Indonesia.
As you can see, although the colors of the flags vary, the flags do have similarities in terms of all of them having crescent and stars. So the AI was smart enough to recognize that the crescent and stars are the important variables.Although I gave all the patterns equal weighting in importance. Indonesian flag colors are same but no crescent and stars. So if you look at Indonesia's position on the map it is in the Blue cluster but near the border of the Singapore cluster.
Another cluster that is interesting is the small Green cluster on the left which contains USA, Brazil, Canada, USSR. The flags of these countries are very different from each other. But because one of the variables in the input data was land mass, these countries were clustered together (they all have huge landmass). 
Of what practical use is this ability to do holistic classification like this? Well, for example if you fed in data on properties e.g. location, distance from the MRT, number of bus services serving location, type of dwelling, last transacted price, distance from school, postal code, constituency, rate of growth of constituency population, etc you can get a map of houses, And look for screen for houses which are similar but not in the same cluster viz undervalued/overvalued.

No comments:

Post a Comment