QBoard » Artificial Intelligence & ML » AI and ML - Conceptual » Artificial neural networks

Artificial neural networks

  • I want to know whether Artificial Neural Networks can be applied to discrete values inputs? I know they can be applied to continuous valued inputs, but can they be applied to discrete valued ones? Also, will perform well for discrete valued inputs?
      October 28, 2021 6:34 PM IST
    0
  • Well, good question let me say!
    First of all let me answer directly yes to your question!
    The answer implies to consider few aspects about the use and the implementation of the network itself.
    Than let me explain why:
    • The easiest way is to normalize input as usual, this is the first rule of thumb with NN, than let the neural network compute the task, and once you have your output, invert the normalization to get the output in the original range but still continuous, to get back descrete values just consider the integer part of your output. It is easy, it works and is fine, DONE! A good result just depends on the topology you design for you network.
    As a plus you could consider the use of "step" transfer function, instead of "tan-sigmoid", between layers just to strenght and mimic a sort of digitization forcing the output to be just 0 or 1. But you should reconsider also the starting normalization as well as the use of well tuned thresholds.
    NB: this latter trick is not really necessary but could give some secondary benefits; maybe test it in a second stage of your development and look at the differences.
    PS: Just let me suggest something that should apply to your issue; if you would be smart take into account the use of some fuzzy logic on your learning algorithm ;-)
    Cheers!
      October 30, 2021 2:05 PM IST
    0
  • Yes, artificial neural networks may be applied to data featuring discrete-value input variables. In the most commonly used neural network architectures (which are numeric), discrete inputs are typically represented by a series of dummy variables, just as in statistical regression. Also, as with regression, one less than the number of distinct values dummy variables is needed. There are other methods, but this is the most straightforward.

     
      October 30, 2021 2:21 PM IST
    0
  • I'm late on this question, but this may help someone.

    Say you have a categorical output variable, for example 3 different categories (0, 1 and 2),

    outputs

    0
    2
    1
    2
    1
    0
    

    then becomes

    1, 0, 0
    0, 0, 1
    0, 1, 0
    0, 0, 1
    0, 1, 0
    1, 0, 0
    

    A possible NN output result is

    0.2, 0.3, 0.5  (winner is categ 2) 
    0.05, 0.9, 0.05  (winner is categ 1)
    ... 
    

    Then your NN hill have 3 output nodes in this case, so take the max value. To improve this, use entropy as a error measure and a softmax activation on the output layer, so that the outputs sum up to 1.

      November 3, 2021 1:57 PM IST
    0
  • Artificial neural networks (ANNs), usually simply called neural networks (NNs), are computing systems inspired by the biological neural networks that constitute animal brains.

    An ANN is based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit a signal to other neurons. An artificial neuron receives a signal then processes it and can signal neurons connected to it. The "signal" at a connection is a real number, and the output of each neuron is computed by some non-linear function of the sum of its inputs. The connections are called edges. Neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Neurons may have a threshold such that a signal is sent only if the aggregate signal crosses that threshold. Typically, neurons are aggregated into layers. Different layers may perform different transformations on their inputs. Signals travel from the first layer (the input layer), to the last layer (the output layer), possibly after traversing the layers multiple times.

      November 8, 2021 2:47 PM IST
    0