Description
Part 1
x1 |
x2 |
y |
.1227 |
.2990 |
+0.1825 |
.3914 |
.6392 |
+0.8882 |
.7725 |
.0826 |
-1.9521 |
.8342 |
.0823 |
-1.9328 |
.5084 |
.8025 |
+1.2246 |
.9983 |
.7404 |
-0.0631 |
This is part of a larger data set that I created which you can download either in matlab or text format. Using your favorite language, find the least squares solution to y = w1 * x1 + w2 * x2 + b.
(1a) Report the values of w1, w2, and b.
(1b) What function or method did you use to find the least-squares solution?
Part 2
(2a) Report the values of w1, w2, and b.
(2b) What settings worked well for you: online vs. batch vs. minibatch? what step size? how did you decide to terminate?
(2c) Make a graph of error on the entire data set as a function of epoch. An epoch is a complete sweep through all the data.
Part 3
Two warnings: First, your solution to Part 3 should require only a few lines of code added to the code you wrote for Part 2. Second, the Perceptron algorithm will not converge if there is no exact solution to the training data. It will jitter among coefficients that all yield roughly equally good solutions.
(3a) Report the values of coefficients w1, w2, and b.
(3b) Make a graph of the accuracy (% correct classification) on the training set as a function of epoch.
Part 4
(4a) How does performance on the test set vary with the amount of training data? Make a bar graph showing performance for each of the different training set sizes.

