image thumbnail

GUI that perform linear regression using gradient descent

version 1.1.0 (111 KB) by Fabricio Castro
This GUI is for didactics purpose, and it provides a way to visualize how linear regression works as well as what parameters are envolved.

4 Downloads

Updated 25 Nov 2021

From GitHub

View license on GitHub

This GUI was designed to aid college professors to teach how linear regression with gradient descent works in practice.
*GUI features;
This GUI enables the user to generate scattered points randomly with linear behavior and use the gradient descent algorithm to fit iteratively a line to the generated data.
The process of generate the data can be done in two ways: by user clicking over the top graph, or automatically using the rand built in function of matlab. In the last way a buffer parameter can be set by the user to control how spread the points are. Increasing the value of this parameter will result the need to change the learning rates or the number of iterations as well, in order to fit the line properly.
Once the user provided the data, a initial line can be generated whose angular and linear coeficients will be used as a starting point by the gradient descent algorithm. Parameters related to the gradient descent approach, like, number of iterations, and learning rates can be set by the user in order to perform the curve fitting efficiently.
When the user click over the "optimize line" button the linear regression is done, and both loss function graphs and parameters table are updated/feeded in each iteration.
Obs.: Be aware that providing small learning rate will slow the process of fitting with resonable loss value. And big learning rates will make gradient descent perform big jumps disabling it to converge to the loss function minima which will mess up the fitting process too.

Cite As

Fabricio Castro (2021). GUI that perform linear regression using gradient descent (https://github.com/fcastro25/Linear-regression-using-gradient-descent/releases/tag/1.1.0), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2018a
Compatible with R2018a to R2021b
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.