/machine-learning

Primary LanguageHTMLMIT LicenseMIT

Learning machine-learning

Videos

Neural Networks - The Nature of Code

Series of videos about neural networks explaining the basics of a perceptron, matrix math and a simple layered neural network.

MIT Linear algebra video lectures by Gilbert Strang

OPen courseware lectures about linear algebra which provides a good start to understand matrix math and helps in understanding most of the math in the papers listed below.

Papers

  1. Rosenblatt, F. (1958). The perceptron: a probabilistic model for information storage and organization in the brain. Psychological review, 65(6), 386.
  2. Krogh, A., & Hertz, J. A. (1992). A simple weight decay can improve generalization. In Advances in neural information processing systems (pp. 950-957).
  3. Ng, A. Y. (2004, July). Feature selection, L 1 vs. L 2 regularization, and rotational invariance. In Proceedings of the twenty-first international conference on Machine learning (p. 78). ACM.
  4. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
  5. Domingos, P. (2012). A few useful things to know about machine learning. Communications of the ACM, 55(10), 78-87.
  6. Zeiler, M. D., & Fergus, R. (2014, September). Visualizing and understanding convolutional networks. In European conference on computer vision (pp. 818-833). Springer, Cham.
  7. Coolen, A. C. C. (1998). A beginner’s guide to the mathematics of neural networks. In Concepts for Neural Networks (pp. 13-70). Springer, London.

Books

  1. Petersen, K. B., & Pedersen, M. S. (2008). The matrix cookbook. Technical University of Denmark, 7(15), 510.

Libraries

Machine learning

Perceptron

Simple neural network

Math

Vectors.js

Vector library with common mathematical operations such as dot product, distance and norm.

Matrix.js

Matrix library with common mathematical operations such as dot product, LU factorization.

Creating a Matrix:
new Matrix()
new Matrix(2,3)
new Matrix(2,3,[[-1,2,3],[7,5,-4]])
Methods
  • fromArray [static]: returns a Matrix object, array must be an array of arrays.
  • toArray: returns an array with the matrix data
  • clone: returns a copy of the current Matrix
  • map(func): maps over the data of the Matrix using the provided function
  • map(func) [static]
  • rref: returns the ROW REDUCED ECHELON FORM of the current Matrix
  • lu: factors a matrix as the product of a lower triangular matrix and an upper triangular matrix. REturns an array with 2 matricesL and U
  • solve(b): solves the Ax = b equation. Returns an array x
  • identity: returns the identity matrix
  • inverse: returns the inverse matrix if it exists
  • concat: concatenates 2 matrixes together
  • rank: returns the rank of dimension of a matrix
  • dimension: see rank
  • ones: filles the matrix data with 1 values
  • zeros: filles the matrix data with 0 values
  • empty: filles the matrix data with undefined
  • isSymmetric: returns a Boolean indicating whether the matrix is symmetric
  • isPerpendicular(matrix): returns a Boolean indicating whether the matrix procided is orthoganal to the curent matrix
  • getCols:
  • getRows:
  • transpose [static]:
  • add:
  • subtract:
  • dot [static]:
  • multiply:
  • hadamard:
  • additiveinverse: