I’m a nerd and a female. Thanks to the society pressures, it is not surprising to talk about the fashion in female company. I got intrigued by this idea of having colors that complement your beauty.
The moment I bumped into the rule of matching colors it was evident to me what is behind it, an illusion created by the imperfection of our own eyes. We tend to see a color as a different color, depending on the background.
In this image, two orange circles are the same color, but we see them as different colors. The same principle is behind the idea of making you look beautiful with the colors. Certain colors will work with your skin tone and make you look rested and with minimal skin imperfections.
Of course, I wanted to develop the machine learning algorithm to do this. Seems easy, isn’t? All I need is simple binary clarification for the test colors from the already established theory behind the whole shebang.
Yeah, it is not so easy.
There are 17 test colors used to determine what color group of is suitable for you. This means that if I wish to match RGB values of skin to RGB values of 17 different colors I have a puzzle for multinomial logistic regression. In itself, this is not a big issue.
If you have enough data.
At this point in time, I do not. So I had to work around it, and make an analysis of all color groups to see can I develop a continuous variable to represent a testing colors.
I used the data containing 135 individual colors and tried to see will clustering algorithm, Kmeans, match them to their predetermined 12 groups and put testing colors close to the cluster centers.
Well, that did not happen. And I have to say, I was not surprised. The original method, developed for manual testing, was capturing the imperfection of the human eye, not the nature of the colors. So, of course, the colors will not cluster around testing colors.
A different approach was needed.
So instead, I analyzed colors using the Kmeans algorithm, ending up with 28 distinct clusters. Basically, 28 different testing colors that might be used to develop a continuous variable for my machine learning algorithm.
Stay tuned for the rest.