Node.js和JS的靈活神經網絡庫:mind

一個適用于Node.js和瀏覽器的靈活神經網絡庫。利用Mind構建的一個電影推薦引擎在線 demo 。
特性
- Vectorized - uses a matrix implementation to efficiently process training data
- Transformable - apply transforms so you can pass in diverse datasets
- Configurable - allows you to customize the network topology
- Pluggable - download/upload minds that have already learned
安裝
$ npm install node-mind
用法
var Mind = require('node-mind');
/**
* Letters.
*
* - Imagine these # and . represent black and white pixels.
*/
var a = character(
'.####.' +
'#....#' +
'#....#' +
'######' +
'#....#' +
'#....#' +
'#....#'
);
var b = character(
'#####.' +
'#....#' +
'#....#' +
'#####.' +
'#....#' +
'#....#' +
'#####.'
);
var c = character(
'######' +
'#.....' +
'#.....' +
'#.....' +
'#.....' +
'#.....' +
'######'
);
/**
* Learn the letters A through C.
*/
var mind = Mind()
.learn([
{ input: a, output: [ 0.1 ] },
{ input: b, output: [ 0.2 ] },
{ input: c, output: [ 0.3 ] }
]);
/**
* Predict the letter C, even with a pixel off.
*/
var result = mind.predict(character(
'######' +
'#.....' +
'#.....' +
'#.....' +
'#.....' +
'##....' +
'######'
));
console.log(result); // ~ 0.3
/**
* Turn the # into 1s and . into 0s.
*/
function character(string) {
return string
.trim()
.split('')
.map(integer);
function integer(symbol) {
if ('#' === symbol) return 1;
if ('.' === symbol) return 0;
}
}; 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!