580 likes | 604 Views
Regression, Artificial Neural Networks 07/03/2017. Regression. Regression. Supervised learning : Based on training examples, learn a modell which works fine on previously unseen examples. Regression : forecasting real values. Regression. Regression. Training dataset: {x i , r i } r i ϵ R
E N D
Regression • Supervised learning: Based on training examples, learn a modell which works fine on previously unseen examples. • Regression: forecasting real values
Regression Training dataset: {xi, ri} riϵR Evaluation metric: „Least squared error”
Linear regression g(x) = w1x + w0 Its gradient is 0 if
Regression variants • Decision tree • Internal nodes are the same • Leaves contains a constant or various linear models
Artificial neural networks • Motivation: the simulation of the neuo system (human brain)’s information processing mechanisms • Structure: huge amount of densely connected, mutally operating processing units (neurons) • It learns from experiences (training instances)
Some neurobiology… • Neurons have many inputs and a single output • The output is either excitedor not • The inputs from other neurons determins whether the neuron fires • Each input synapse has a weight
A neuron in maths Weighted average of inputs. If the average is above a threshold T it fires (outputs 1) else its output is 0 or -1.
Statistics about the human brain • #nerons: ~ 1011 • Avg. #connections per neuron: 104 • Signal sending time: 10-3 sec • Face recognition: 10-1 sec
Motivation(machine learning point of view) • Goal: non-linear classification • Linear machines are not satisfactory at several real world situations • Which non-linear function family to choose? • Neural networks: latent non-linear patterns will be machine learnt
Multilayer perceptron =Neural Network Different representation at various layers
Feedforward neural networks • Connection only to the next layer • The weights of the connections (between two layers) can be changed • Activation functions are used to calculate whether the neuron fires • Three-layer network: • Input layer • Hidden layer • Output layer
Network function • The networkfunction of neuron j: whereiis the index of input neurons, andwjiis theweightbetweentheneuronsi and j. • wj0 is thebias
Activation function activation function isa non-linear function of the network value: yj = f(netj) (if it’d be linear, the whole network will be linear) The sign activation function: oi 1 0 Tj netj
Differentiable activation functions • Enables gradient descent-based learning • The sigmoid function: 1 0 Tj netj
Output layer where kis the index on the output layer and nHis the number of hidden neurons • Binary classification: sign function • Multi-class classification: a neuron for each of the classes, the argmax is predicted (discriminant function) • Regression: linear transformation
y1 hidden unit calculates: 0 y1 = +1 x1 + x2 + 0.5x1OR x2 < 0 y1 = -1 - y2 represents: 0 y2 = +1 x1 + x2 -1.5x1AND x2 < 0 y2 = -1 • The output neuron:z1 = 0.7y1-0.4y2 - 1, sgn(z1) is 1 iff y1 =1, y2 = -1 (x1OR x2) AND NOT(x1AND x2)
General (three-layer) feedforwardnetwork (c output unit) • The hidden units with their activation functions can express non-linear functions • The activation functions can be different at neurons (but the same one is used in practice)
Universal approximation theorem Universal approximation theoremstates that a feed-forward network with a single hidden layer containing a finite number of neurons can approximate anycontinuous functions Butthetheoremdoesnotgiveany hint onwhoto design activationfunctionsforproblems/datasets
Training of neural networks • The network topology is given • The same activation function is used at each hidden neuron and it is given • Training = calibration of weights • on-line learning (epochs)
Training of neuralnetworks • Forward propagation An input vector propagates through the network 2. Weight update (backpropagation) the weights of the network will be changed in order to decrease the difference between the predicted and gold standard values
Training of neural networks we can calculate (propagate back) the error signal for each hidden neuron
tkis the target (gold standard) value of output neuron k, zkis the prediction at output neuron k (k = 1, …, c)and ware the weights • Error: • backpropagation is a gradient descent algorithms • initial weights are random, then
Backpropagation The error of the weights between the hidden and output layers: the error signal for output neuron k:
because netk = wkty: and: The change of weights between the hidden and output layers: wkj = kyj = (tk – zk) f’ (netk)yj
The error signal of the hidden units: The weight change between the input and hidden layers:
update the weights to k: Backpropagation Calculate the error signal for the output neurons and update the weights between the output and hidden layers output hidden input
Backpropagation Calculate the error signal for hidden neurons output rejtett input
updating the ones to j Backpropagation Update the weights between the input and hidden neurons output rejtett input
Training of neuralnetworks w initialisedrandomly Begininit:nH; w, stoppingcritera, , m 0 do m m + 1 xm a sampledtraininginstance wji wji + jxi; wkj wkj + kyj until ||J(w)|| < return w End
Stopping based on the performance on a validation dataset • The usage of unseen training instances for estimating the performance of supervised learning (to avoid overfitting) • Stopping at the minimum error on the validation set
Notes on backpropagation • it can be stack at local minima • In practice, the local minima is close to the global one • Multiple training starting from various randomly initalized weights might help • we can take the trained network with the minimal error (on a validation set) • there are voting schema for voting the networks
Questions of network design • How many hidden neurons? • few neurons cannot learn complex patterns • too many neurons can easily overfit • validation set? • Learning rate!?