Machine Learning in the Real World π§ π€
ML for real-world applications is much more than designing fancy networks and fine-tuning parameters.
In fact, you will spend most of your time curating a good dataset.
Let's go through the process together π
#RepostFriday
Collect Data π½
We need to represent the real world as accurately as possible. If some situations are underrepresented we are introducing Sampling Bias.
Sampling Bias is nasty because we'll have high test accuracy, but our model will perform badly when deployed.
π
Traffic Lights π¦
Let's build a model to recognize traffic lights for a self-driving car. We need to collect data for different:
βͺοΈ Lighting conditions
βͺοΈ Weather conditions
βͺοΈ Distances and viewpoints
βͺοΈ Strange variants
And if we sample only π¦ we won't detect π₯ π€·ββοΈ
π
Data Cleaning π§Ή
Now we need to clean all corrupted and irrelevant samples. We need to remove:
βͺοΈ Overexposed or underexposed images
βͺοΈ Images in irrelevant situations
βͺοΈ Faulty images
Leaving them in the dataset will hurt our model's performance!
π
Preprocess Data βοΈ
Most ML models like their data nicely normalized and properly scaled. Bad normalization can also lead to worse performance (I have a nice story for another time...)
βͺοΈ Crop and resize all images
βͺοΈ Normalize all values (usually 0 mean and 1 std. dev.)
π