I am happy to see people interested in messing around with Julia for ML. The best way to wrap your head around the concepts is usually to try it out and see what happens.

My 2 cents are that I doubt that you will get competitive results with neural networks for your regression problems (even with the modern trickeries such as ReLU-variant hidden layers). Two of the strengths of current deep learning are convolutions and very large datasets. This allows them to handle high dimensional data like no other approach. I suspect that is why you usually observe NNs in image, text and speech classification tasks.

I haven't read any recent papers on the NN regression front, but from my limited personal experience I would say that neural networks are just too flexible to be useful for datasets that are smaller than a few thousand observations (I am sure there are some data size guidelines in the upcoming DL book).

Concerning DL in Julia, there is also https://github.com/dmlc/MXNet.jl. Although I haven't tried it for regression.

On 2016-01-30 18:13, Cedric St-Jean wrote:
AFAIK deep learning in general does not have any problem with redundant inputs. If you have fewer nodes in your first layer than input nodes, then the redundant (or nearly-redundant) input nodes will be combined into one node (... more or less). And there are approaches that favor using so-called overcomplete representations with more hidden nodes / layer than input nodes.

Cédric

On Saturday, January 30, 2016 at 9:46:06 AM UTC-5, [email protected] wrote:

    Thanks, that's pretty much my understanding. Scaling the inputs
    seems to be important, too, from what I read. I'm also interested
    in a framework that will trim off redundant inputs.

    I have run the mocha tutorial examples, and it looks very
    promising because the structure is clear, and there are C++ and
    cuda backends. The C++ backend, with openmp, gives me a good
    performance boost over the pure Julia backend. However, I'm not so
    sure that it will allow for trimming redundant inputs. Also, I
    have some ideas on how to restrict the net to remove
    observationally equivalent configurations, which should aid in
    training, and I don't think I could implement those ideas with mocha.

    From what I see, the focus of much recent work in neural nets
    seems to be on classification and labeling of images, and
    regression examples using the modern tools seem to be scarce. I'm
    wondering if that's because other tools work better for
    regression, or simply because it's an old problem that is
    considered to be well studied. I would like to see some examples
    of regression nets that work well, using the modern tools, though,
    if there are any out there.

    On Saturday, January 30, 2016 at 2:32:16 PM UTC+1, Jason Eckstein
    wrote:

        I've been using NN for regression and I've experimented with
        Mocha.  I ended up coding my own network for speed purposes
        but in general you simply leave the final output of the neural
        network as a linear combination without applying an activation
        function.  That way the output can represent a real number
        rather than compress it into a 0 to 1 or -1 to 1 range for
        classification.  You can leave the rest of the network unchanged.

        On Saturday, January 30, 2016 at 3:45:27 AM UTC-7,
        [email protected] wrote:

            I'm interested in using neural networks (deep learning)
            for multivariate multiple regression, with multiple real
            valued inputs and multiple real valued outputs. At the
            moment, the mocha.jl package looks very promising, but the
            examples seem to be all for classification problems. Does
            anyone have examples of use of mocha (or other deep
            learning packages for Julia) for regression problems? Or
            any tips for deep learning and regression?


Reply via email to