From 394512bceb8aad4a0476d44faab3a79ca558487a Mon Sep 17 00:00:00 2001 From: sbosse Date: Mon, 21 Jul 2025 23:07:39 +0200 Subject: [PATCH] Mon 21 Jul 22:43:21 CEST 2025 --- js/ml/mlp.js | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 js/ml/mlp.js diff --git a/js/ml/mlp.js b/js/ml/mlp.js new file mode 100644 index 0000000..3f3f290 --- /dev/null +++ b/js/ml/mlp.js @@ -0,0 +1,179 @@ +/** + ** ============================== + ** O O O OOOO + ** O O O O O O + ** O O O O O O + ** OOOO OOOO O OOO OOOO + ** O O O O O O O + ** O O O O O O O + ** OOOO OOOO O O OOOO + ** ============================== + ** Dr. Stefan Bosse http://www.bsslab.de + ** + ** COPYRIGHT: THIS SOFTWARE, EXECUTABLE AND SOURCE CODE IS OWNED + ** BY THE AUTHOR(S). + ** THIS SOURCE CODE MAY NOT BE COPIED, EXTRACTED, + ** MODIFIED, OR OTHERWISE USED IN A CONTEXT + ** OUTSIDE OF THE SOFTWARE SYSTEM. + ** + ** $AUTHORS: joonkukang, Stefan Bosse + ** $INITIAL: (C) 2014, joonkukang + ** $MODIFIED: (C) 2006-2022 bLAB by sbosse + ** $VERSION: 1.3.2 + ** + ** $INFO: + ** + ** Multilayer Perceptron Artificial Neural Network + ** + ** References : http://cs229.stanford.edu/materials/smo.pdf . simplified smo algorithm + ** + ** Portable model + ** + ** $ENDOFINFO + */ +/** + */ +var math = Require('ml/math'); +var HiddenLayer = Require('ml/HiddenLayer'); + +var MLP = function (settings) { + var L = {} + var self = L; + self.x = settings.input||settings.x; + self.y = settings.output||settings.y; + self.sigmoidLayers = []; + self.nLayers = settings.hidden_layer_sizes.length; + self.settings = { + 'log level' : 1, // 0 : nothing, 1 : info, 2: warn + hidden_layers : settings.hidden_layer_sizes + }; + var i; + for(i=0 ; i