Answers.Body: <p>If you are working with supervised learning, each training example has a label. That label is your classification of the provided input. Just like linear or logistic regression, if your problem only has 2 classes (e.g. determine whether a tumor is malignant or not), your network will have a single output. An output value of 1.0 could represent one class and an output of 0.0 represents the other. This is basically determining which side of multi-dimensional plane your input is on. </p>
  
  <p>If you have more than 2 (m) classes, then you will have m outputs from your network. Each output will represent the likelihood of the input matching that class. For example if you have an image recognition network that has 4 classes: Dog, truck, boat, person, you would have 4 outputs with each one representing how likely that image is one of the classes. Think about this as 4 independent planes, where each one is making a determination: does this image match this class(1 of {dog, truck, boat, person}) or not. If you had outputs of dog: 0.3, truck: 0.25, boat: 0.7, person: 0.4, One simple algorithm would be simply pick the class with the maximum value -- in this case, it would classify this image as a boat.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-09-08T18:43:30.163Z
Answers.Text: Thanks for the answer. After the plane for classification is drawn, what part part of the algorithm determines which side of the place the point lies?
Answers.UserDisplayName: Daniel
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-08T00:30:35.180Z
Answers.Text: The output could be a single number (binary classification) or a vector (multiple classification) with values from 0 to 1. A threshold comes in place to the first, a threshold is a parameter number [0,1], and you can choice based on the consequences you prefer (see ROC curve), or in the case of the vector you can assign the class of the maximum number. As said Paul, you could pass the output vector for a function, let’s call `assign_max_class(output_vector)`
Answers.UserDisplayName: Cristóbal Alcázar
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-09-08T18:34:28.777Z
Answers.LastActivityDate: 2017-09-08T18:34:28.777Z
Answers.UserDisplayName: Paul
Answers.Body: <p>For other who were wondering the same questions as me, I'll answer it. </p>
  
  <p>My view above was inconsistent. Ultimately the last layer of simple feed-forward networks don't have any special properties previous layers exhibit. NNs are just glorified mathematical functions. It distorts space with linear(matrix multiplies) and non-linear functions. </p>
  
  <p>Theres no 'decision plane' per-say, only function mappings up to the very end where we want to map the input to (in this case binary classification problem) to two separate numbers (usually 1 or 0). </p>
  
  <p>Hope this clear things up for people getting into NNs. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-02-07T22:40:36.057Z
Answers.Text: Yes it is correct. It works on the same basis as any other layer except it it usually uses a special non-linear function that 'sorts' the input into classification categories.
Answers.UserDisplayName: Daniel
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-02-07T22:42:22.490Z
Answers.Text: Also, you're right on your assumption, a NN without any hidden layers can preform classification. This network is actually the simple logistic classification algorithm.
Answers.UserDisplayName: Daniel
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-01-26T14:25:30.860Z
Answers.LastActivityDate: 2018-01-26T14:25:30.860Z
Answers.UserDisplayName: Daniel
Body: <p>I understand that a neural network basically distorts(non-linear transformation) and changes the perspective(linear transformations) of input space to draw a plane to classify data. How does the network deduce if an input is one side of a plane and therefore output the decision? Thanks in advance.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-09-03T21:46:50.163Z
Comments.Text: Excellent foundation question.  Welcome to AI!
Comments.UserDisplayName: DukeZhou
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-09-04T17:28:56.490Z
Comments.Text: @DukeZhou Have an idea? XD
Comments.UserDisplayName: Daniel
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-09-05T20:58:21.547Z
Comments.Text: I wish.  (All of my work is currently in rules based and axiomatic AI, with reinforcement of heavily bounded rationality still on the horizon.)
Comments.UserDisplayName: DukeZhou
Tags: <neural-networks><classification><linear-algebra>
Title: How does neural network classifier classify from just drawing a decision plane?
UserDisplayName: Daniel
ThreadText: # How does neural network classifier classify from just drawing a decision plane?
  
  (Asked by: username_0 on 2017-09-03)
  
  I understand that a neural network basically distorts(non-linear transformation) and changes the perspective(linear transformations) of input space to draw a plane to classify data. How does the network deduce if an input is one side of a plane and therefore output the decision? Thanks in advance.
  
  **Tags:** neural-networks, classification, linear-algebra
  > **Comments:**
  > **username_1**: Excellent foundation question.  Welcome to AI!  
  > **username_0**: @DukeZhou Have an idea? XD  
  > **username_1**: I wish.  (All of my work is currently in rules based and axiomatic AI, with reinforcement of heavily bounded rationality still on the horizon.)  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2017-09-08. Score: 2
  
  If you are working with supervised learning, each training example has a label. That label is your classification of the provided input. Just like linear or logistic regression, if your problem only has 2 classes (e.g. determine whether a tumor is malignant or not), your network will have a single output. An output value of 1.0 could represent one class and an output of 0.0 represents the other. This is basically determining which side of multi-dimensional plane your input is on.
  
  If you have more than 2 (m) classes, then you will have m outputs from your network. Each output will represent the likelihood of the input matching that class. For example if you have an image recognition network that has 4 classes: Dog, truck, boat, person, you would have 4 outputs with each one representing how likely that image is one of the classes. Think about this as 4 independent planes, where each one is making a determination: does this image match this class(1 of {dog, truck, boat, person}) or not. If you had outputs of dog: 0.3, truck: 0.25, boat: 0.7, person: 0.4, One simple algorithm would be simply pick the class with the maximum value -- in this case, it would classify this image as a boat.
  
  > **Comments:**
  > **username_0**: Thanks for the answer. After the plane for classification is drawn, what part part of the algorithm determines which side of the place the point lies?  
  > **username_3**: The output could be a single number (binary classification) or a vector (multiple classification) with values from 0 to 1. A threshold comes in place to the first, a threshold is a parameter number [0,1], and you can choice based on the consequences you prefer (see ROC curve), or in the case of the vector you can assign the class of the maximum number. As said Paul, you could pass the output vector for a function, let’s call `assign_max_class(output_vector)`  
  
  ---
  
  ### Answer by username_0 on 2018-01-26. Score: 1
  
  For other who were wondering the same questions as me, I'll answer it.
  
  My view above was inconsistent. Ultimately the last layer of simple feed-forward networks don't have any special properties previous layers exhibit. NNs are just glorified mathematical functions. It distorts space with linear(matrix multiplies) and non-linear functions.
  
  Theres no 'decision plane' per-say, only function mappings up to the very end where we want to map the input to (in this case binary classification problem) to two separate numbers (usually 1 or 0).
  
  Hope this clear things up for people getting into NNs.
  
  > **Comments:**
  > **username_0**: Yes it is correct. It works on the same basis as any other layer except it it usually uses a special non-linear function that 'sorts' the input into classification categories.  
  > **username_0**: Also, you're right on your assumption, a NN without any hidden layers can preform classification. This network is actually the simple logistic classification algorithm.  
  
  ---
  
  