Search code examples
machine-learningimage-classification

Is that possible to combine Newton's method to Image Classification?


Hi I'm new to the field of machine learning and now my first challenge is to increase the accuracy of Image Classification based on Dog and Cat Image Classification. So I searched on Google to find ways to do that and I found Newton's method. However it says it enormous and unlikely possible to use in general. In my case, I only use about 1600 images for 7 class.so I thought maybe(I don't know) it's possible.

What do you think about ? Is that possible in my case ?

I have no idea about machine learning and it's algorithm so it would be helpful if you give me some advice.


Solution

  • Well Newton's method is generally not used for optimization due to various reasons, gradient descent is used for the optimization and it has proven to show very good outputs. Well why newton's method is not used , you can find the reason here.

    Image classification comes under computer vision tasks and it has attained state-of-the-art results using Deep Learning (Neural Networks) which is a part of Machine Learning.

    Well, your task is to increase the accuracy of the image classification model. So I am assuming that you are using any Deep Learning model, in order to increase its accuracy, you have look into the data first and then into the model. I meant to say first increase the quality of data and if you don't get the results , then you should look into the model..

    INCREASE DATA QUALITY

    • Check whether your data is balanced or not. I mean you have 7 classes and total 1600 images , so make sure that there is no inequality in the distribution of images among the 7 classes.
    • e.g. if one class have 60% data and rest of the 40% is divided into the other classes, then your data is highly imbalanced.
    • In this case , you can use Data Augmentation for the classes having less samples. Data Augmentation techniques include, cropping, blurring, adding jitter, salt and paper noise, sharpening etc.

    INCREASE MODEL ACCURACY

    • try changing your optimization algorithm (Adam, SGD etc.)
    • try changing your learning rate for the optimization algorithm.
    • apply batch normalization
    • add dropout layers.

    BEST SOLUTION - use transfer learning that is using any pretrained model like ResNet, Inception, Xception etc. with Adam optimizer.