2
$\begingroup$

I googled most of topics over the Internet, and Convolution Neural Network is prevailing to apply to image/pattern recognition. Perhaps, it is more easily to understand the concept of this methodology.

What if my dataset is composed of quantitative variable e.g., age,duration: last contact duration, in seconds (numeric), campaign: number of contacts performed during this campaign and for this client. Also, categorical variables are job ( type of job) , marital status, and education. More detail information, https://archive.ics.uci.edu/ml/datasets/Bank+Marketing

One can use classic logistic regression or SVM on Bank Marketing, How about deep learning approach? How to implement? Any good explanation from image concept to non-image problem like Bank Marketing or other cases?

$\endgroup$

1 Answer 1

0
$\begingroup$

Much of the point of convolutional neural networks is to use clever weight-sharing and dropping of connections (setting weights equal to zero). My drawings from here may be useful.

Apply the filter to the upper left 2x2 array.

Apply the filter to the upper left 2x2 array.

Apply the filter to the upper right 2x2 array.

enter image description here

Apply the filter to the bottom left 2x2 array.

enter image description here

Apply the filter to the bottom right 2x2 array.

enter image description here

Here is the entire layer, with the 3x3 input image mapping to four neurons for the four positions in the image where convolution occurs.

enter image description here

A fully-connected layer would have each feature/pixel on the left connected to each neuron on the right for a total of $36$ different connections, so $36$ colors instead of $4$.

For an image, this sharing of weights and dropping of connections has a reasonable interpretation as looking for local patterns in the image.

If you just have a collection of features that lack the obvious relationship to each other like the pixels of an image do, you can shoehorn your features into a convolutional neural network by arranging the features in a rectangle and acting like that is an image, and your code will run, but the weight-sharing and connection-dropping lacks the clever interpretation from image data. This does not make it ridiculous to apply a convolutional neural network to such data, particularly if you can validate that the model achieves good performance, but the cleverness is lacking, and other approaches to lowering the parameter count might make more sense (e.g., dropout).

Neural networks in general could make more sense, however. There is not necessarily a clever architecture for general features like images have convolutional neural networks, but various universal approximation theorems say that, speaking loosely, any decent function can be approximated arbitrarily closely by a neural network of sufficient size, so if you believe there to be a decent function that uses your features to explain the outcome ($y$) of interest, a a neural network has a reasonable shot of approximating it.

(What the universal approximation theorems do not say is how large of a network you need to approximate a function or how a large parameter count puts you at a high risk of overfitting to the noise that inevitably exists in your data.)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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