3
$\begingroup$

Many applications of image classification involves convolutional neural network, where the image is treated directly as a 2D (or 3D, if multiple images) matrix.

I wonder if images can be classified (and with reasonably good performance) with a MLP or softmax regression or even SVMs by vectorizing them, meaning to stack each row or column of this 2D matrix into a single row or column vector and feeding that into the network directly (no convolution)

The answer is probably negative...but I wonder if anyone know whether this is possible.

$\endgroup$
1
  • 2
    $\begingroup$ An image is usually represented by a 3D tensor, except for gray scale images. $\endgroup$
    – Michael M
    Sep 5 '20 at 7:53
1
$\begingroup$

LeCun tracks MNIST performance on many classification models.

yann.lecun.com/exdb/mnist/

Unsurprisingly, CNNs do the best, but his “Neural Nets” category gives a number of fully-connected models with classification error under $1\%$. The SVM and KNN categories also report models with error rates under $1\%$.

$\endgroup$
1
$\begingroup$

While you may get reasonable performance on dataset like MNIST which consists of small greyscale image, treating image as a vector will not lead to good performance:

-reasonably sized image may be of size 224x224x3 pixels = 150.528 features. Most methods (logistic regression, SVM, fully connected neural network) will probably overfit / fails to learn a good generalization.

-the main problem is that by treading the image as a vector, you are throving out the information of spatial distance between pixels. Useful features in image are usually local, depending on pixels in small area. The CNNs perform so well because they exploit this prior information.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.