Machine learning algorithms
We already have the right answers given for a set of inputs and you need to predict the answer for a new input.
Regression problem - Predict a continuous value given a set of values.
Classification problem - based on the prior inputs given you can have a equation that would do the classification for you. One dimension point, two dimension line, three dimension plane.. .. based on the randomness too :)
- Unsupervised learning
Here you just have data and you would have to figure out the clusters that are formed and make a meaning out of it.
- Linear regression: h(x) = t0+t1x - uni variant linear regression.
h - hypothesis function.
cost function J(t0,t1) = 1/2m ∑ 1 to m (h(xi) - yi) pow 2 - minimal value. (also know as squared error function.)
This cost function when plotted with t0,t1,value in three dimension would be a bowl and the bottom of the bowl is the ideal values of t0,t1.
The goal is to find t0,t1 with minimal effort / cpu even when m is very high.
- t1 := t1 - alpha * partial derivative (J(t1));
Feature scaling Mean normalization.
Normal equation method.
- (X transpose * X ) inverse * X transpose * Y