ptron

1.2.2 • Public • Published

ptron.js

Javascript perceptron class and framework

Meta

This is a small, javascript only perceptron. A perceptron is basically a solver for a system of linear equations. The co-efficients of the equations can be determined automatically if we know which inputs map to which outputs through back-propogation training. Small perceptrons can be trained and run locally.

What use is it?

The solutions given are fuzzy but with diligent design and training they can be accurate enough. e.g. you could probably achieve 90% accuracy for a simple classification task

Models can be generated and dissemenated as JSON files. Models can also be trained in the wild as needed.

Multiple small models can be munged to perform more complex tasks e.g. multiple MLPs for each type of data, the results of which feed into another perceptron for a higher-level classification

How to use

import Ptron from 'ptron.js'


const mlp = new Ptron([3, 5, 2])
const inputs = [
  [0.1, 0.2, 0.3],
  [0.4, 0.5, 0.6],
  [0.7, 0.8, 0.9],
]
const targets = [
  [0, 1],
  [1, 0],
  [0, 1],
]

console.time('Training time')

mlp.loadModel('model.json')

mlp.train(inputs, targets, 0.1, 1000000)

const output = [
  mlp.predict(inputs[0]),
  mlp.predict(inputs[1]),
  mlp.predict(inputs[2]),
]

console.log('Expected:', targets)
console.log('Output:', output)

mlp.saveModel('model.json')

console.timeEnd('Training time')

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.2.2
    54
    • latest

Version History

Package Sidebar

Install

npm i ptron

Weekly Downloads

204

Version

1.2.2

License

GPL-3.0

Unpacked Size

50.6 kB

Total Files

13

Last publish

Collaborators

  • fingerskier