0

I am new to ML, and I have a dataset:

Data Set

Where:

X = {X_1, X_2, X_3, X_4, X_5, X_6, X_7};
Y = Y;

I'm trying to find the possible relationship between X and Y like Y = M(X) using Deep Learning. To my knowledge, this is a regression task since the data type of my target Y is real.

I have tried some regression algorithms like LMS and Stepwise regression but none of those gives me a promising result. So I'm turning into the deep neural network solution, so:

  • Can ANN do this regression task?
  • How to design the network, especially the type of layers, activation function, etc.?
  • Is there some existing NN architecture I can refer to?

Any help is appreciated.

xtluo
  • 1,961
  • 18
  • 26
  • 2
    The question is way too broad (too many questions; most of these cannot be answered definitly with current knowledge). It also seems you are lacking some background in ML. Maybe you should check some ML-courses first, and only then NN-based approaches. Some remarks: Can ANN do this: sure; cybenko-theorem tells us it's possible. Other solutions: there are tons of other ML-based approaches. Nearest-Neighbors, everything based on DecisionTrees (RandomForest, GradientBoosting), Kernel-SVM, all these approaches are nonlinear. You don't mention what exactly you want to achieve. – sascha Sep 01 '16 at 01:51
  • Thank you for pointing out these problems about my question. And, what I am trying to do is using NN-based approaches to achieve my goal mentioned in my question. And I do not know what kind of NN to choose and how to organize the NN structure? – xtluo Sep 02 '16 at 01:32
  • 1
    Creating good NNs is an art (where some people got good intuition and *some theory* which supports creating good models). But this is not as well understood as the other approaches i mentioned above. If you really want to stick to NNs: try a simple [MLP](https://en.wikipedia.org/wiki/Multilayer_perceptron) first with one hidden layer, You could try some sizes for the hidden layer and play with the activation functions. Of course it's also possible to add more hidden layers. But keep in mind, that in general, NN-based approaches need a lot of data. And there is also the tuning of learning-rate. – sascha Sep 02 '16 at 01:40

1 Answers1

0

I don't have a solution for the machine learning part, but I do have a solution that would maybe work (since you asked for any other solutions).

I will say it might be difficult to use machine learning, since not only do you need to find a relationship (assuming there is one), but you need to find the right type of model (is it linear, quadratic, exponential, sinusoidal, etc.) and then you need to find the parameters for those models.

In the R programming language, it is easy to set up a multiple linear regression, for example. Here is a sketch of the R code you would use to find a linear regression.

data = load("data.Rdata") # or load a table or something
regression = lm(Y ~ X1 + X2 + X3 + X4 + X5 + X6 + x7, data = data)
print(summary(regression))

Edit: you might get better answers here: https://datascience.stackexchange.com/

Alpha Bravo
  • 170
  • 12
  • Thanks for your help. Actually I have tried some solutions like regression, but the outcome is not I want, not even close.Also, I have tried the **neuralnet** package in R, but I think the way it does with NN is quite simple. – xtluo Sep 02 '16 at 01:43