
yesterday's recap: we looked at a brief introduction to Machine Learning, linear regression, the model function, and cost function.
We have seen the mathematical definition of the cost function. Let's walk through an example to see how the cost function can be used to find the best parameters for your model.
Once we have our cost function J, our goal for linear regression would be to find the values for w and b, and then make Jw,b as small as possible. We'll be fixing our b value to 100 for this example, with different w values.
x_train = np.array([1.0, 2.0]) # size in 1000 sqft
y_train = np.array([300.0, 500.0]) # price in 1000s of dollar
Example 1: w = 150
Left Graph:
f(x_i) = w *x_i + b f(1.0) = (150 * 1.0) + 100 = 250
f(2.0) = (150 * 2.0) + 100 = 400
Right Graph:
J_1 = (250 - 300) ** 2 = 2,500
J_2 = (400 - 500) ** 2 = 10,000
final_J =(J_1 + J_2) / 2M = (2,500 + 10,000) / 2*2 = 3,125

As we can see, w = 150 may not be quite the right value from both graphs, the left graph shows the prediction points to be far away from the actual value.
While on the right graph, as we try to have cost J to be at a minimum, but with w=150, it arrives at 3125
Example 2: w = 200
Left Graph:
f(x_i) = w *x_i + b f(1.0) = (200 * 1.0) + 100 = 300
f(2.0) = (200 * 2.0) + 100 = 500
Right Graph:
J_1 = (300 - 300) ** 2 = 0
J_2 = (500 - 500) ** 2 = 0
final_J =(J_1 + J_2) / 2M = (0+ 0) / 2*2 = 0

In example 2, we tried w = 200, and this seems to be a better fit to our data.
On our left graph, we can see our prediction line, to be right at where the actual values are.
On our right graph, with our cost function, we can see that J = 0, which is at our minimum, and that correlates with our prediction being more in-line with our output variables.
In conclusion, the closer our cost function is to the minimum, the more accurate our prediction will be, and the goal of the cost function is to make it as small as possible.
Comentários