Attachment 'sheet07.m'

Download

   1 function sheet07
   2 
   3 N = 300; % size of training data set
   4 K = 5;   % number of neighbors
   5 
   6 % generate a training and test data set
   7 [X, Y] = generate_data(N);
   8 [XE, YE] = generate_data(1000);
   9 
  10 % plot training data set
  11 IP = find(Y == 1);
  12 IN = find(Y == -1);
  13 plot(X(IP, 1), X(IP, 2), 'r+', X(IN, 1), X(IN, 2), 'bo');
  14 
  15 % predict on training set
  16 Yh = knn(K, X, Y, X);
  17 
  18 % predict on test set
  19 YEh = knn(K, X, Y, XE);
  20 
  21 % Plot predictions and training and test error in the title.
  22 hold on;
  23 plotgrid(K, X, Y, -6, 6, -6, 6);
  24 hold off;
  25 colormap([0 0 0])
  26 title(sprintf('training error = %.2f%%, test error = %.2f%%', ...
  27               loss(Y, Yh), loss(YE, YEh)));
  28 
  29 function [X, Y] = generate_data(N)
  30 X = [2*randn(N, 2) + repmat([1, 2], N, 1); ...
  31      0.5*randn(N, 2) + repmat([-2, 1], N, 1)];
  32 Y = [ones(N, 1); -ones(N, 1)];
  33 
  34 % Compute all pairwise distances quickly.
  35 function D = pwdist(X, Y)
  36 D = size(X, 2);
  37 N = size(X, 1);
  38 M = size(Y, 1);
  39   
  40 XX = sum(X.*X, 2);
  41 YY = sum(Y.*Y, 2);
  42 D = repmat(XX, 1, M) + repmat(YY', N, 1) - 2*X*Y';
  43 
  44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  45 % Your Solutions Below
  46 
  47 % 1. knn - implement k-nearest neighbor prediction
  48 %
  49 % inputs:
  50 %   K - number of neighbors
  51 %   X - [n, d]-matrix with n training data points of dimension d (in the rows!)
  52 %   Y - [n, 1]-matrix of +1, -1 training labels
  53 %   XE - [m, d]-matrix with test labels, for which predictions should
  54 %        be computed
  55 %
  56 % output:
  57 %   Yh - [m, 1]-matrix of predicted labels (real number, sign
  58 %        indicates class.
  59 %
  60 % Note: one for-loop is allowed.
  61 function Yh = knn(K, X, Y, XE)
  62 % ...
  63 
  64 % 2. loss - compute the 0-1 loss. Sign of entries of Y and Yh indicate
  65 % class.
  66 function E = loss(Y, Yh)
  67 % ...
  68 
  69 % 3. plotgrid - plot knn predictions on a grid
  70 %
  71 % inputs:
  72 %   K, X, Y - as inputs to knn
  73 %   XMIN, XMAX - minimal and maximal value of X
  74 %   YMIN, YMAX - minimal and maximal value of Y
  75 %
  76 % Hint: use meshgrid, contour
  77 function plotgrid(K, X, Y, XMIN, XMAX, YMIN, YMAX)
  78 % ...

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2010-12-03 11:00:13, 73.5 KB) [[attachment:FDA and LSR.pdf]]
  • [get | view] (2010-11-18 14:22:56, 1407.4 KB) [[attachment:clustering_slides.pdf]]
  • [get | view] (2011-01-25 08:30:15, 499.5 KB) [[attachment:efficient_backprop.pdf]]
  • [get | view] (2010-10-28 10:55:22, 123.9 KB) [[attachment:full_sheet01.pdf]]
  • [get | view] (2010-11-04 14:04:25, 118.5 KB) [[attachment:full_sheet02.pdf]]
  • [get | view] (2010-11-11 10:52:24, 60.2 KB) [[attachment:full_sheet03.pdf]]
  • [get | view] (2010-11-18 15:23:26, 97.5 KB) [[attachment:full_sheet04.pdf]]
  • [get | view] (2010-11-25 15:14:31, 92.0 KB) [[attachment:full_sheet05.pdf]]
  • [get | view] (2010-12-02 08:50:14, 108.9 KB) [[attachment:full_sheet06.pdf]]
  • [get | view] (2010-12-09 13:30:45, 161.5 KB) [[attachment:full_sheet07.pdf]]
  • [get | view] (2010-12-16 13:33:01, 84.4 KB) [[attachment:full_sheet08.pdf]]
  • [get | view] (2011-01-05 17:12:33, 127.5 KB) [[attachment:full_sheet09.pdf]]
  • [get | view] (2011-01-12 18:08:23, 136.1 KB) [[attachment:full_sheet10.pdf]]
  • [get | view] (2011-01-19 19:10:49, 143.6 KB) [[attachment:full_sheet11.pdf]]
  • [get | view] (2011-01-26 11:33:22, 136.7 KB) [[attachment:full_sheet12.pdf]]
  • [get | view] (2011-02-02 20:35:04, 134.9 KB) [[attachment:full_sheet13.pdf]]
  • [get | view] (2010-11-25 15:08:04, 1505.5 KB) [[attachment:ica_slides.pdf]]
  • [get | view] (2011-01-08 10:49:41, 504.7 KB) [[attachment:kernel_intro.pdf]]
  • [get | view] (2011-01-25 08:30:11, 1221.6 KB) [[attachment:lect_kernels.pdf]]
  • [get | view] (2011-02-13 09:07:55, 1391.7 KB) [[attachment:rde-tutorial.pdf]]
  • [get | view] (2010-11-18 15:23:34, 1.4 KB) [[attachment:sheet04.m]]
  • [get | view] (2010-11-25 15:14:53, 0.8 KB) [[attachment:sheet05.m]]
  • [get | view] (2010-11-30 21:18:03, 1.1 KB) [[attachment:sheet06.m]]
  • [get | view] (2010-12-09 13:31:05, 1.9 KB) [[attachment:sheet07.m]]
  • [get | view] (2010-12-16 13:33:09, 2.7 KB) [[attachment:sheet08.m]]
  • [get | view] (2011-01-12 17:38:01, 2.0 KB) [[attachment:sheet10.m]]
  • [get | view] (2011-01-12 17:38:14, 4.8 KB) [[attachment:sheet10_data.m]]
  • [get | view] (2011-01-19 19:11:02, 1.5 KB) [[attachment:sheet11.m]]
  • [get | view] (2011-01-26 11:33:28, 1.7 KB) [[attachment:sheet12.m]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.