submit.m 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. function submit()
  2. addpath('./lib');
  3. conf.assignmentSlug = 'regularized-linear-regression-and-bias-variance';
  4. conf.itemName = 'Regularized Linear Regression and Bias/Variance';
  5. conf.partArrays = { ...
  6. { ...
  7. '1', ...
  8. { 'linearRegCostFunction.m' }, ...
  9. 'Regularized Linear Regression Cost Function', ...
  10. }, ...
  11. { ...
  12. '2', ...
  13. { 'linearRegCostFunction.m' }, ...
  14. 'Regularized Linear Regression Gradient', ...
  15. }, ...
  16. { ...
  17. '3', ...
  18. { 'learningCurve.m' }, ...
  19. 'Learning Curve', ...
  20. }, ...
  21. { ...
  22. '4', ...
  23. { 'polyFeatures.m' }, ...
  24. 'Polynomial Feature Mapping', ...
  25. }, ...
  26. { ...
  27. '5', ...
  28. { 'validationCurve.m' }, ...
  29. 'Validation Curve', ...
  30. }, ...
  31. };
  32. conf.output = @output;
  33. submitWithConfiguration(conf);
  34. end
  35. function out = output(partId, auxstring)
  36. % Random Test Cases
  37. X = [ones(10,1) sin(1:1.5:15)' cos(1:1.5:15)'];
  38. y = sin(1:3:30)';
  39. Xval = [ones(10,1) sin(0:1.5:14)' cos(0:1.5:14)'];
  40. yval = sin(1:10)';
  41. if partId == '1'
  42. [J] = linearRegCostFunction(X, y, [0.1 0.2 0.3]', 0.5);
  43. out = sprintf('%0.5f ', J);
  44. elseif partId == '2'
  45. [J, grad] = linearRegCostFunction(X, y, [0.1 0.2 0.3]', 0.5);
  46. out = sprintf('%0.5f ', grad);
  47. elseif partId == '3'
  48. [error_train, error_val] = ...
  49. learningCurve(X, y, Xval, yval, 1);
  50. out = sprintf('%0.5f ', [error_train(:); error_val(:)]);
  51. elseif partId == '4'
  52. [X_poly] = polyFeatures(X(2,:)', 8);
  53. out = sprintf('%0.5f ', X_poly);
  54. elseif partId == '5'
  55. [lambda_vec, error_train, error_val] = ...
  56. validationCurve(X, y, Xval, yval);
  57. out = sprintf('%0.5f ', ...
  58. [lambda_vec(:); error_train(:); error_val(:)]);
  59. end
  60. end