You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Linear Regression/README.markdown
+4-22Lines changed: 4 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -30,9 +30,8 @@ We can describe the straight line in terms of two variables:
30
30
31
31
This is the equation for our line:
32
32
33
-
$$
34
-
carPrice = slope \times carAge + intercept
35
-
$$
33
+
carPrice = slope * carAge + intercept
34
+
36
35
37
36
How can we find the best values for the intercept and the slope? Let's look at two different ways to do this.
38
37
@@ -75,26 +74,9 @@ for n in 1...iterations {
75
74
76
75
The program loops through each data point (each car age and car price). For each data point it adjusts the intercept and the slope to bring them closer to the correct values. The equations used in the code to adjust the intercept and the slope are based on moving in the direction of the maximal reduction of these variables. This is a *gradient descent*.
77
76
78
-
We want to minimse the square of the distance between the line and the points. Let's define a function J which represents this distance - for simplicity we consider only one point here:
We want to minimse the square of the distance between the line and the points. We define a function J which represents this distance - for simplicity we consider only one point here. This function J is proprotional to ((slope.carAge+intercept) - carPrice))^2
96
78
97
-
We multiply these derivatives by our factor alpha and then use them to adjust the values of slope and intercept on each iteration.
79
+
In order to move in the direction of maximal reduction, we take the partial derivative of this function with respect to the slope, and similarly for the intercept. We multiply these derivatives by our factor alpha and then use them to adjust the values of slope and intercept on each iteration.
98
80
99
81
Looking at the code, it intuitively makes sense - the larger the difference between the current predicted car Price and the actual car price, and the larger the value of ```alpha```, the greater the adjustments to the intercept and the slope.
0 commit comments