# Can an artificial network create a rule from rule components?

If an antecedent in a rule involves $$m$$ two-state features and results in consequences from a set of $$n$$ possible ones, we have $$2^{m+n}$$ permutations, which are, in a sense, be categories. If features and actions are identified in advance, along with a set of labelled example data for which the rules of labelling are unknown, can a rule could be created by an artificial network with $$m+n$$ binary outputs?

If so, can the rule created be excluded by the loss function in an independent application of the same or a similar artificial network, and can this process be recursed until a rule set for labelling examples has been created?

In computers, where everything derives from mathematics, I think a rule is nothing but a function which is approximated by analysing the relationship between the input and output.

• Suppose we are training a Convolutional neural network, we give it some images as input and an Integer number ( Ex.1 ) as the output. The network's job is to find a function which establishes a relationship between the image ( i.e a 3-D matrix ) and the output ( Integer or Integer vector ).

• Suppose, we train a simple neural network. We give the input as 2. The desired output is given as 6. So the network, slowly and steadily, will optimize itself to find the function establishing the relationship between the input and output which in this case is f ( x ) = 2x + 2

• The loss function becomes necessary to determine how big the error margin is. The network ultimately tries to reduce the error/loss and thereby approximating the function slowly and steadily.

• These functions are in the form of rules for a particular network. Let's take the above example of f ( x ) = 2x + 2. We have a network which has properly approximated the function. Now, for every value of x, it will find the ' y ' value y using this function. It will not break this rule by just adding a 2 or 3 to the function.

• The important thing is that how accurately the network has approximated the function. Suppose at 100 epochs the example function would have been f ( x ) = 0.45x + 1.78 . Then after 500 epochs, it would be nearly f ( x ) = 1.888x + 1.909 .

Hence, rules get developed slowly as the network learns more from the input.