Skip to content

Latest commit

 

History

History
 
 

local_weighted_learning

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Locally Weighted Linear Regression

It is a non-parametric ML algorithm that does not learn on a fixed set of parameters such as linear regression.
So, here comes a question of what is linear regression?
Linear regression is a supervised learning algorithm used for computing linear relationships between input (X) and output (Y). \

Terminology Involved

number_of_features(i) = Number of features involved.
number_of_training_examples(m) = Number of training examples.
output_sequence(y) = Output Sequence.
θ T x = predicted point.
J( θ ) = COst function of point.

The steps involved in ordinary linear regression are:

Training phase: Compute \theta to minimize the cost.
J( θ ) = i = 1 m (( θ )$^T$ x i - y i )$^2$

Predict output: for given query point x,
return: ( θ )$^T$ x

Linear Regression

This training phase is possible when data points are linear, but there again comes a question can we predict non-linear relationship between x and y ? as shown below

Non-linear Data



So, here comes the role of non-parametric algorithm which doesn't compute predictions based on fixed set of params. Rather parameters $\theta$ are computed individually for each query point/data point x.

While Computing $\theta$ , a higher preference is given to points in the vicinity of x than points farther from x.

Cost Function J( θ ) = i = 1 m w i (( θ )$^T$ x i - y i )$^2$

w i is non-negative weight associated to training point x i .
w i is large fr x i 's lying closer to query point x i .
w i is small for x i 's lying farther to query point x i .

A Typical weight can be computed using \

w i = exp (-$\frac{(x^i-x)(x^i-x)^T}{2\tau^2}$)

Where τ is the bandwidth parameter that controls w i distance from x.

Let's look at a example :

Suppose, we had a query point x=5.0 and training points x 1 =4.9 and x 2 =5.0 than we can calculate weights as :

w i = exp (-$\frac{(x^i-x)(x^i-x)^T}{2\tau^2}$) with τ =0.5

w 1 = exp (-$\frac{(4.9-5)^2}{2(0.5)^2}$) = 0.9802

w 2 = exp (-$\frac{(3-5)^2}{2(0.5)^2}$) = 0.000335

So, J( θ ) = 0.9802*( θ T x 1 - y 1 ) + 0.000335*( θ T x 2 - y 2 )

So, here by we can conclude that the weight fall exponentially as the distance between x & x i increases and So, does the contribution of error in prediction for x i to the cost.

Steps involved in LWL are :
Compute \theta to minimize the cost. J( θ ) = i = 1 m w i (( θ )$^T$ x i - y i )$^2$
Predict Output: for given query point x,
return : θ T x

LWL