SlideShare a Scribd company logo
1 of 48
Download to read offline
Machine Learning
Linear Regression
Agenda
• Single Dimension Linear Regression

• Multi Dimension Linear Regression

• Gradient Descent

• Generalisation, Over-fitting & Regularisation

• Categorical Inputs
What is Linear Regression?
• Learning

• A supervised algorithm that learns from a set of training samples.

• Each training sample has one or more input values and a single output value.

• The algorithm learns the line, plane or hyper-plane that best fits the training
samples.

• Prediction

• Use the learned line, plane or hyper-plane to predict the output value for any
input sample.
Single Dimension Linear
Regression
Single Dimension Linear Regression
• Single dimension linear regression
has pairs of x and y values as input
training samples. 

• It uses these training sample to
derive a line that predicts values of y.

• The training samples are used to
derive the values of a and b that
minimise the error between actual
and predicated values of y. 

Single Dimension Linear Regression
• We want a line that minimises the
error between the Y values in
training samples and the Y values
that the line passes through.

• Or put another way, we want the
line that “best fits’ the training
samples.

• So we define the error function for
our algorithm so we can minimise
that error.
Single Dimension Linear Regression
• To determine the value of a that
minimises the error E, we look for
where the partial differential of E
with respect to a is zero.
Single Dimension Linear Regression
• To determine the value of b that
minimises the error E, we look for
where the partial differential of E
with respect to b is zero.
Single Dimension Linear Regression
• By substituting the final equations
from the previous two slides we
derive equations for a and b that
minimise the error
Single Dimension Linear Regression
• We also define a function which we can
use to score how well derived line fits.

• A value of 1 indicates a perfect fit. 

• A value of 0 indicates a fit that is no
better than simply predicting the mean
of the input y values. 

• A negative value indicates a fit that is
even worse than just predicting the
mean of the input y values.
Single Dimension Linear Regression
Single Dimension Linear Regression
Single Dimension Linear Regression
Multi Dimension Linear
Regression
Multi Dimension Linear Regression
• Each training sample has an x made
up of multiple input values and a
corresponding y with a single value. 

• The inputs can be represented as
an X matrix in which each row is
sample and each column is a
dimension. 

• The outputs can be represented as
y matrix in which each row is a
sample.
Multi Dimension Linear Regression
• Our predicated y values are
calculated by multiple the X matrix
by a matrix of weights, w.

• If there are 2 dimension, then this
equation defines plane. If there are
more dimensions then it defines a
hyper-plane.
Multi Dimension Linear Regression
• We want a plane or hyper-plane
that minimises the error between
the y values in training samples
and the y values that the plane or
hyper-plane passes through.

• Or put another way, we want the
plane/hyper-plane that “best fits’
the training samples.

• So we define the error function for
our algorithm so we can minimise
that error.
Multi Dimension Linear Regression
• To determine the value of w that
minimises the error E, we look for
where the differential of E with
respect to w is zero.

• We use the Matrix Cookbook to
help with the differentiation!
Multi Dimension Linear Regression
• We also define a function which we can
use to score how well derived line fits.

• A value of 1 indicates a perfect fit. 

• A value of 0 indicates a fit that is no
better than simply predicting the mean
of the input y values. 

• A negative value indicates a fit that is
even worse than just predicting the
mean of the input y values.
Multi Dimension Linear Regression
Multi Dimension Linear Regression
Multi Dimension Linear Regression
• In addition to using the X matrix to represent basic features our training
data, we can can also introduce additional dimensions (i.e. columns in
our X matrix) that are derived from those basic feature values.

• If we introduce derived features whose values are powers of basic
features, our multi-dimensional linear regression can then derive
polynomial curves, planes and hyper-planes.
Multi Dimension Linear Regression
• For example, if we have just one
basic feature in each sample of X, we
can include a range of powers of that
value into our X matrix like this:

• In non-matrix form our multi-
dimensional linear equation is: 

• Inserting the powers of the basic
feature that we have introduced this
becomes a polynomial:
Multi Dimension Linear Regression
Multi Dimension Linear Regression
Gradient Descent
Singular Matrices
• As we have seen, we can use
numpy’s linalg.solve() function to
determine the value of the weights
that result in the lowest possible error.

• But this doesn’t work if np.dot(X.T, X)
is a singular matrix.

• It results in the matrix equivalent of a
divide by zero.

• Gradient descent is an alternative
approach to determining the optimal
weights that in works for all cases,
including this singular matrix case.
Gradient Descent
• Gradient descent is a technique we can use to find the minimum of
arbitrarily complex error functions.

• In gradient descent we pick a random set of weights for our algorithm and
iteratively adjust those weights in the direction of the gradient of the error
with respect to each weight.

• As we iterate, the gradient approaches zero and we approach the
minimum error.

• In machine learning we often use gradient descent with our error function
to find the weights that give the lowest errors.
Gradient Descent
• Here is an example with a very
simple function:

• The gradient of this function is
given by:

• We choose an random initial
value for x and a learning rate of
0.1 and then start descent.

• On each iteration our x value is
decreasing and the gradient (2x)
is converging towards 0.
Gradient Descent
• The learning rate is a what is know as a hyper-parameter.

• If the learning rate is too small then convergence may take a very long
time.

• If the learning rate is too large then convergence may never happen
because our iterations bounce from one side of the minima to the other.

• Choosing a suitable value for hyper-parameters is an art so try different
values and plot the results until you find suitable values.
Multi Dimension Linear Regression
with Gradient Descent
• For multi dimension linear
regression our error function
is:

• Differentiating this with
respect to the weights vector
gives:

• We can iteratively reduce the
error by adjusting the weights
in the direction of these
gradients.
Multi Dimension Linear Regression
with Gradient Descent
Multi Dimension Linear Regression
with Gradient Descent
Generalisation, Over-fitting &
Regularisation
Generalisation & Over-fitting
• As we train our model with more and more data the it may start to fit the training data more and
more accurately, but become worse at handling test data that we feed to it later. 

• This is know as “over-fitting” and results in an increased generalisation error.

• To minimise the generalisation error we should 

• Collect as much sample data as possible. 

• Use a random subset of our sample data for training.

• Use the remaining sample data to test how well our model copes with data it was not trained
with.

• Also, experiment with adding higher degrees of polynomials (X2, X3, etc) as this can reduce
overfitting.
L1 Regularisation (Lasso)
• Having a large number of samples (n) with respect to the number of
dimensionality (d) increases the quality of our model. 

• One way to reduce the effective number of dimensions is to use those that
most contribute to the signal and ignore those that mostly act as noise.

• L1 regularisation achieves this by adding a penalty that results in the
weight for the dimensions that act as noise becoming 0. 

• L1 regularisation encourages a sparse vector of weights in which few are
non-zero and many are zero.
L1 Regularisation (Lasso)
• In L1 regularisation we add a penalty to
the error function: 

• Expanding this we get: 

• Take the derivative with respect to w to
find our gradient:

• Where sign(w) is -1 if w < 0, 0 if w = 0
and +1 if w > 0

• Note that because sign(w) has no
inverse function we cannot solve for w
and so must use gradient descent.
L1 Regularisation (Lasso)
L1 Regularisation (Lasso)
L2 Regularisation (Ridge)
• Another way to reduce the complexity of our model and prevent overfitting
to outliers is L2 regression, which is also known as ridge regression.

• In L2 Regularisation we introduce an additional term to the cost function
that has the effect of penalising large weights and thereby minimising this
skew.
L2 Regularisation (Ridge)
• In L2 regularisation we the sum of
the squares of the weights to the
error function.

• Expanding this we get: 

• Take the derivative with respect to
w to find our gradient:
L2 Regularisation (Ridge)
• Solving for the values of w that give
minimal error:
L2 Regularisation (Ridge)
L2 Regularisation (Ridge)
L1 & L2 Regularisation (Elastic Net)
• L1 Regularisation minimises the impact of dimensions that have low
weights and are thus largely “noise”.

• L2 Regularisation minimise the impacts of outliers in our training data.

• L1 & L2 Regularisation can be used together and the combination is
referred to as Elastic Net regularisation.

• Because the differential of the error function contains the sigmoid which
has no inverse, we cannot solve for w and must use gradient descent.
Categorical Inputs
One-hot Encoding
• When some inputs are categories (e.g. gender) rather than numbers (e.g.
age) we need to represent the category values as numbers so they can be
used in our linear regression equations.

• In one-hot encoding we allocate each category value it's own dimension in
the inputs. So, for example, we allocate X1 to Audi, X2 to BMW & X3 to
Mercedes.

• For Audi X = [1,0,0]

• For BMW X = [0,1,0])

• For Mercedes X = [0,0,1]
Summary
• Single Dimension Linear Regression

• Multi Dimension Linear Regression

• Gradient Descent

• Generalisation, Over-fitting & Regularisation

• Categorical Inputs

More Related Content

What's hot

Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...Simplilearn
 
Dimensionality Reduction
Dimensionality ReductionDimensionality Reduction
Dimensionality Reductionmrizwan969
 
Activation function
Activation functionActivation function
Activation functionAstha Jain
 
Logistic Regression | Logistic Regression In Python | Machine Learning Algori...
Logistic Regression | Logistic Regression In Python | Machine Learning Algori...Logistic Regression | Logistic Regression In Python | Machine Learning Algori...
Logistic Regression | Logistic Regression In Python | Machine Learning Algori...Simplilearn
 
Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...
Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...
Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...Simplilearn
 
Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...
Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...
Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...Simplilearn
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine LearningRahul Jain
 
Autoencoders
AutoencodersAutoencoders
AutoencodersCloudxLab
 
Machine learning Algorithms
Machine learning AlgorithmsMachine learning Algorithms
Machine learning AlgorithmsWalaa Hamdy Assy
 
Principal component analysis and lda
Principal component analysis and ldaPrincipal component analysis and lda
Principal component analysis and ldaSuresh Pokharel
 
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...Edureka!
 
Machine Learning - Dataset Preparation
Machine Learning - Dataset PreparationMachine Learning - Dataset Preparation
Machine Learning - Dataset PreparationAndrew Ferlitsch
 
Feedforward neural network
Feedforward neural networkFeedforward neural network
Feedforward neural networkSopheaktra YONG
 
Machine learning ppt.
Machine learning ppt.Machine learning ppt.
Machine learning ppt.ASHOK KUMAR
 
Feature Engineering in Machine Learning
Feature Engineering in Machine LearningFeature Engineering in Machine Learning
Feature Engineering in Machine LearningKnoldus Inc.
 
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...Simplilearn
 
Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Usama Fayyaz
 
Lasso and ridge regression
Lasso and ridge regressionLasso and ridge regression
Lasso and ridge regressionSreerajVA
 

What's hot (20)

Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
 
Dimensionality Reduction
Dimensionality ReductionDimensionality Reduction
Dimensionality Reduction
 
Activation function
Activation functionActivation function
Activation function
 
Logistic Regression | Logistic Regression In Python | Machine Learning Algori...
Logistic Regression | Logistic Regression In Python | Machine Learning Algori...Logistic Regression | Logistic Regression In Python | Machine Learning Algori...
Logistic Regression | Logistic Regression In Python | Machine Learning Algori...
 
Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...
Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...
Supervised and Unsupervised Learning In Machine Learning | Machine Learning T...
 
Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...
Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...
Machine Learning Algorithms | Machine Learning Tutorial | Data Science Algori...
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Autoencoders
AutoencodersAutoencoders
Autoencoders
 
Machine learning Algorithms
Machine learning AlgorithmsMachine learning Algorithms
Machine learning Algorithms
 
Support Vector Machines ( SVM )
Support Vector Machines ( SVM ) Support Vector Machines ( SVM )
Support Vector Machines ( SVM )
 
Principal component analysis and lda
Principal component analysis and ldaPrincipal component analysis and lda
Principal component analysis and lda
 
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
Logistic Regression in Python | Logistic Regression Example | Machine Learnin...
 
Machine Learning - Dataset Preparation
Machine Learning - Dataset PreparationMachine Learning - Dataset Preparation
Machine Learning - Dataset Preparation
 
Deep learning
Deep learningDeep learning
Deep learning
 
Feedforward neural network
Feedforward neural networkFeedforward neural network
Feedforward neural network
 
Machine learning ppt.
Machine learning ppt.Machine learning ppt.
Machine learning ppt.
 
Feature Engineering in Machine Learning
Feature Engineering in Machine LearningFeature Engineering in Machine Learning
Feature Engineering in Machine Learning
 
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
Machine Learning Tutorial Part - 2 | Machine Learning Tutorial For Beginners ...
 
Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning
 
Lasso and ridge regression
Lasso and ridge regressionLasso and ridge regression
Lasso and ridge regression
 

Similar to Linear regression

07 logistic regression and stochastic gradient descent
07 logistic regression and stochastic gradient descent07 logistic regression and stochastic gradient descent
07 logistic regression and stochastic gradient descentSubhas Kumar Ghosh
 
Regression Analysis.pptx
Regression Analysis.pptxRegression Analysis.pptx
Regression Analysis.pptxarsh260174
 
Regression Analysis Techniques.pptx
Regression Analysis Techniques.pptxRegression Analysis Techniques.pptx
Regression Analysis Techniques.pptxYutaItadori
 
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...Maninda Edirisooriya
 
Model Selection and Validation
Model Selection and ValidationModel Selection and Validation
Model Selection and Validationgmorishita
 
Unit III_Ch 17_Probablistic Methods.pptx
Unit III_Ch 17_Probablistic Methods.pptxUnit III_Ch 17_Probablistic Methods.pptx
Unit III_Ch 17_Probablistic Methods.pptxsmithashetty24
 
Artificial Intelligence Course: Linear models
Artificial Intelligence Course: Linear models Artificial Intelligence Course: Linear models
Artificial Intelligence Course: Linear models ananth
 
ngboost.pptx
ngboost.pptxngboost.pptx
ngboost.pptxHadrian7
 
Lecture 3.1_ Logistic Regression.pptx
Lecture 3.1_ Logistic Regression.pptxLecture 3.1_ Logistic Regression.pptx
Lecture 3.1_ Logistic Regression.pptxajondaree
 
Nimrita deep learning
Nimrita deep learningNimrita deep learning
Nimrita deep learningNimrita Koul
 
REGRESSION METasdfghjklmjhgftrHODS1.pptx
REGRESSION METasdfghjklmjhgftrHODS1.pptxREGRESSION METasdfghjklmjhgftrHODS1.pptx
REGRESSION METasdfghjklmjhgftrHODS1.pptxcajativ595
 
Unit 3 – AIML.pptx
Unit 3 – AIML.pptxUnit 3 – AIML.pptx
Unit 3 – AIML.pptxhiblooms
 
10_support_vector_machines (1).pptx
10_support_vector_machines (1).pptx10_support_vector_machines (1).pptx
10_support_vector_machines (1).pptxshyedshahriar
 
Deep learning concepts
Deep learning conceptsDeep learning concepts
Deep learning conceptsJoe li
 

Similar to Linear regression (20)

07 logistic regression and stochastic gradient descent
07 logistic regression and stochastic gradient descent07 logistic regression and stochastic gradient descent
07 logistic regression and stochastic gradient descent
 
Regression ppt
Regression pptRegression ppt
Regression ppt
 
Regression Analysis.pptx
Regression Analysis.pptxRegression Analysis.pptx
Regression Analysis.pptx
 
Regression Analysis Techniques.pptx
Regression Analysis Techniques.pptxRegression Analysis Techniques.pptx
Regression Analysis Techniques.pptx
 
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
 
Model Selection and Validation
Model Selection and ValidationModel Selection and Validation
Model Selection and Validation
 
15303589.ppt
15303589.ppt15303589.ppt
15303589.ppt
 
Unit III_Ch 17_Probablistic Methods.pptx
Unit III_Ch 17_Probablistic Methods.pptxUnit III_Ch 17_Probablistic Methods.pptx
Unit III_Ch 17_Probablistic Methods.pptx
 
Artificial Intelligence Course: Linear models
Artificial Intelligence Course: Linear models Artificial Intelligence Course: Linear models
Artificial Intelligence Course: Linear models
 
ngboost.pptx
ngboost.pptxngboost.pptx
ngboost.pptx
 
Ai saturdays presentation
Ai saturdays presentationAi saturdays presentation
Ai saturdays presentation
 
Lecture 3.1_ Logistic Regression.pptx
Lecture 3.1_ Logistic Regression.pptxLecture 3.1_ Logistic Regression.pptx
Lecture 3.1_ Logistic Regression.pptx
 
Scaling and Normalization
Scaling and NormalizationScaling and Normalization
Scaling and Normalization
 
Nimrita deep learning
Nimrita deep learningNimrita deep learning
Nimrita deep learning
 
working with python
working with pythonworking with python
working with python
 
Logistical Regression.pptx
Logistical Regression.pptxLogistical Regression.pptx
Logistical Regression.pptx
 
REGRESSION METasdfghjklmjhgftrHODS1.pptx
REGRESSION METasdfghjklmjhgftrHODS1.pptxREGRESSION METasdfghjklmjhgftrHODS1.pptx
REGRESSION METasdfghjklmjhgftrHODS1.pptx
 
Unit 3 – AIML.pptx
Unit 3 – AIML.pptxUnit 3 – AIML.pptx
Unit 3 – AIML.pptx
 
10_support_vector_machines (1).pptx
10_support_vector_machines (1).pptx10_support_vector_machines (1).pptx
10_support_vector_machines (1).pptx
 
Deep learning concepts
Deep learning conceptsDeep learning concepts
Deep learning concepts
 

Recently uploaded

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Recently uploaded (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 

Linear regression

  • 2. Agenda • Single Dimension Linear Regression • Multi Dimension Linear Regression • Gradient Descent • Generalisation, Over-fitting & Regularisation • Categorical Inputs
  • 3. What is Linear Regression? • Learning • A supervised algorithm that learns from a set of training samples. • Each training sample has one or more input values and a single output value. • The algorithm learns the line, plane or hyper-plane that best fits the training samples. • Prediction • Use the learned line, plane or hyper-plane to predict the output value for any input sample.
  • 5. Single Dimension Linear Regression • Single dimension linear regression has pairs of x and y values as input training samples. • It uses these training sample to derive a line that predicts values of y. • The training samples are used to derive the values of a and b that minimise the error between actual and predicated values of y. 

  • 6. Single Dimension Linear Regression • We want a line that minimises the error between the Y values in training samples and the Y values that the line passes through. • Or put another way, we want the line that “best fits’ the training samples. • So we define the error function for our algorithm so we can minimise that error.
  • 7. Single Dimension Linear Regression • To determine the value of a that minimises the error E, we look for where the partial differential of E with respect to a is zero.
  • 8. Single Dimension Linear Regression • To determine the value of b that minimises the error E, we look for where the partial differential of E with respect to b is zero.
  • 9. Single Dimension Linear Regression • By substituting the final equations from the previous two slides we derive equations for a and b that minimise the error
  • 10. Single Dimension Linear Regression • We also define a function which we can use to score how well derived line fits. • A value of 1 indicates a perfect fit. • A value of 0 indicates a fit that is no better than simply predicting the mean of the input y values. • A negative value indicates a fit that is even worse than just predicting the mean of the input y values.
  • 15. Multi Dimension Linear Regression • Each training sample has an x made up of multiple input values and a corresponding y with a single value. • The inputs can be represented as an X matrix in which each row is sample and each column is a dimension. • The outputs can be represented as y matrix in which each row is a sample.
  • 16. Multi Dimension Linear Regression • Our predicated y values are calculated by multiple the X matrix by a matrix of weights, w. • If there are 2 dimension, then this equation defines plane. If there are more dimensions then it defines a hyper-plane.
  • 17. Multi Dimension Linear Regression • We want a plane or hyper-plane that minimises the error between the y values in training samples and the y values that the plane or hyper-plane passes through. • Or put another way, we want the plane/hyper-plane that “best fits’ the training samples. • So we define the error function for our algorithm so we can minimise that error.
  • 18. Multi Dimension Linear Regression • To determine the value of w that minimises the error E, we look for where the differential of E with respect to w is zero. • We use the Matrix Cookbook to help with the differentiation!
  • 19. Multi Dimension Linear Regression • We also define a function which we can use to score how well derived line fits. • A value of 1 indicates a perfect fit. • A value of 0 indicates a fit that is no better than simply predicting the mean of the input y values. • A negative value indicates a fit that is even worse than just predicting the mean of the input y values.
  • 22. Multi Dimension Linear Regression • In addition to using the X matrix to represent basic features our training data, we can can also introduce additional dimensions (i.e. columns in our X matrix) that are derived from those basic feature values. • If we introduce derived features whose values are powers of basic features, our multi-dimensional linear regression can then derive polynomial curves, planes and hyper-planes.
  • 23. Multi Dimension Linear Regression • For example, if we have just one basic feature in each sample of X, we can include a range of powers of that value into our X matrix like this: • In non-matrix form our multi- dimensional linear equation is: • Inserting the powers of the basic feature that we have introduced this becomes a polynomial:
  • 27. Singular Matrices • As we have seen, we can use numpy’s linalg.solve() function to determine the value of the weights that result in the lowest possible error. • But this doesn’t work if np.dot(X.T, X) is a singular matrix. • It results in the matrix equivalent of a divide by zero. • Gradient descent is an alternative approach to determining the optimal weights that in works for all cases, including this singular matrix case.
  • 28. Gradient Descent • Gradient descent is a technique we can use to find the minimum of arbitrarily complex error functions. • In gradient descent we pick a random set of weights for our algorithm and iteratively adjust those weights in the direction of the gradient of the error with respect to each weight. • As we iterate, the gradient approaches zero and we approach the minimum error. • In machine learning we often use gradient descent with our error function to find the weights that give the lowest errors.
  • 29. Gradient Descent • Here is an example with a very simple function: • The gradient of this function is given by: • We choose an random initial value for x and a learning rate of 0.1 and then start descent. • On each iteration our x value is decreasing and the gradient (2x) is converging towards 0.
  • 30. Gradient Descent • The learning rate is a what is know as a hyper-parameter. • If the learning rate is too small then convergence may take a very long time. • If the learning rate is too large then convergence may never happen because our iterations bounce from one side of the minima to the other. • Choosing a suitable value for hyper-parameters is an art so try different values and plot the results until you find suitable values.
  • 31. Multi Dimension Linear Regression with Gradient Descent • For multi dimension linear regression our error function is: • Differentiating this with respect to the weights vector gives: • We can iteratively reduce the error by adjusting the weights in the direction of these gradients.
  • 32. Multi Dimension Linear Regression with Gradient Descent
  • 33. Multi Dimension Linear Regression with Gradient Descent
  • 35. Generalisation & Over-fitting • As we train our model with more and more data the it may start to fit the training data more and more accurately, but become worse at handling test data that we feed to it later. • This is know as “over-fitting” and results in an increased generalisation error. • To minimise the generalisation error we should • Collect as much sample data as possible. • Use a random subset of our sample data for training. • Use the remaining sample data to test how well our model copes with data it was not trained with. • Also, experiment with adding higher degrees of polynomials (X2, X3, etc) as this can reduce overfitting.
  • 36. L1 Regularisation (Lasso) • Having a large number of samples (n) with respect to the number of dimensionality (d) increases the quality of our model. • One way to reduce the effective number of dimensions is to use those that most contribute to the signal and ignore those that mostly act as noise. • L1 regularisation achieves this by adding a penalty that results in the weight for the dimensions that act as noise becoming 0. • L1 regularisation encourages a sparse vector of weights in which few are non-zero and many are zero.
  • 37. L1 Regularisation (Lasso) • In L1 regularisation we add a penalty to the error function: • Expanding this we get: • Take the derivative with respect to w to find our gradient: • Where sign(w) is -1 if w < 0, 0 if w = 0 and +1 if w > 0 • Note that because sign(w) has no inverse function we cannot solve for w and so must use gradient descent.
  • 40. L2 Regularisation (Ridge) • Another way to reduce the complexity of our model and prevent overfitting to outliers is L2 regression, which is also known as ridge regression. • In L2 Regularisation we introduce an additional term to the cost function that has the effect of penalising large weights and thereby minimising this skew.
  • 41. L2 Regularisation (Ridge) • In L2 regularisation we the sum of the squares of the weights to the error function. • Expanding this we get: • Take the derivative with respect to w to find our gradient:
  • 42. L2 Regularisation (Ridge) • Solving for the values of w that give minimal error:
  • 45. L1 & L2 Regularisation (Elastic Net) • L1 Regularisation minimises the impact of dimensions that have low weights and are thus largely “noise”. • L2 Regularisation minimise the impacts of outliers in our training data. • L1 & L2 Regularisation can be used together and the combination is referred to as Elastic Net regularisation. • Because the differential of the error function contains the sigmoid which has no inverse, we cannot solve for w and must use gradient descent.
  • 47. One-hot Encoding • When some inputs are categories (e.g. gender) rather than numbers (e.g. age) we need to represent the category values as numbers so they can be used in our linear regression equations. • In one-hot encoding we allocate each category value it's own dimension in the inputs. So, for example, we allocate X1 to Audi, X2 to BMW & X3 to Mercedes. • For Audi X = [1,0,0] • For BMW X = [0,1,0]) • For Mercedes X = [0,0,1]
  • 48. Summary • Single Dimension Linear Regression • Multi Dimension Linear Regression • Gradient Descent • Generalisation, Over-fitting & Regularisation • Categorical Inputs