diff --git a/js/ml/math.js b/js/ml/math.js new file mode 100644 index 0000000..d282999 --- /dev/null +++ b/js/ml/math.js @@ -0,0 +1,646 @@ +/** + * Created by joonkukang on 2014. 1. 12.. + */ +var m = module.exports; + +m.randn = function() { + // generate random guassian distribution number. (mean : 0, standard deviation : 1) + var v1, v2, s; + + do { + v1 = 2 * Math.random() - 1; // -1.0 ~ 1.0 까지의 값 + v2 = 2 * Math.random() - 1; // -1.0 ~ 1.0 까지의 값 + s = v1 * v1 + v2 * v2; + } while (s >= 1 || s == 0); + + s = Math.sqrt( (-2 * Math.log(s)) / s ); + return v1 * s; +} + +m.shape = function(mat) { + var row = mat.length; + var col = mat[0].length; + return [row,col]; +}; + +m.addVec = function(vec1, vec2) { + if(vec1.length === vec2.length) { + var result = []; + var i; + for(i=0;i max) + max = vec[i]; + } + return max; +} + +m.minMat = function(mat) { + var min = mat[0][0]; + var i = mat.length; + while (i--) { + for(var j=0;j