I made a flowchart for a simplified perceptron leaning algorithm.

enter image description here

Here is the process of the leaning algorithm.

Step_1: Initialize the weights first.

Step_2: Get a training example randomly and make prediction. If the prediction matches the ground-truth value, then get another training example. If the prediction doesn't match the ground-truth value, update the weights.

Step_3: repeat Step_2 until all predictions match the ground-truth value (or other stop criteria)

  • Is my flowchart a good representation?

If not, what are the errors, and what might be improved?

  • $\begingroup$ Practically, all the predictions mayn't be correct. $\endgroup$
    – hanugm
    Jun 21 at 9:55
  • $\begingroup$ I like this question, because it is theoretical, so I tweaked the title and clarified the request. $\endgroup$
    – DukeZhou
    Jun 23 at 0:38

It seems loosely reasonable but there are various things which are potentially unclear.

What exactly is a prediction, and is it deterministic or stochastic? First, if you are predicting a continuous value, you can never be "correct" - there will always be at least some very small deviation. This makes me assume that you are talking about making some discrete prediction, e.g. over some classes. In this case you would typically output a probability distribution over the different classes. If this is the case, again it's unclear what "correct" means. This makes me believe that the only way to interpret "correct" is that for any example, you deterministically output a single class, e.g. by taking the class with maximum probability, and then the prediction is considered correct when you output the correct class.

I think the biggest issue is with "all predictions correct". How do you check if all predictions are correct? Would you compute the predictions for all examples each iteration? Because that seems like the only possible way to check whether or not all predictions would be correct. More generally it's often not possible to have all predictions be correct (i.e. for an over determined problem).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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