Библиотека машинного обучения и операций с матрицами на TypeScript.
Убедитесь, что установлен NPM, перейдите в директорию проекта, затем выполните следующую команду.
$ npm install infers@latest
Пример использования в проекте:
import { Matrix, BPNet } from 'infers'
```## Примеры
Транспонирование матрицы:
```ts
let m = new Matrix([
[1, 5, 0],
[2, 4, -1],
[0, -2, 0]
])
m.T.print()
// Matrix 3x3 [
// 1, 2, 0,
// 5, 4, -2,
// 0, -1, 0,
// ]
Пример сети BP для XOR, трехслойной сети:
let xs = new Matrix([[1, 0], [0, 1], [0, 0], [1, 1]])
let ys = new Matrix([[1], [1], [0], [0]])
let model = new BPNet([2, [6, 'Tanh'], [1, 'Sigmoid']], { rate: 0.1 })
model.fit(xs, ys, {
epochs: 5000, onEpoch: (epoch, loss) => {
if (epoch % 100 === 0) console.log('epoch:' + epoch, 'loss:', loss)
}
})
model.predict(xs).print()
// Matrix 4x1 [
// 0.9862025352830867,
// 0.986128496195502,
// 0.01443800549676924,
// 0.014425871504885788,
// ]
Пример сети BP для сложения, четырехслойной сети:
let xs = new Matrix([[1, 4], [3, 2], [6, 5], [4, 7]])
let ys = new Matrix([[5], [5], [11], [11]])
let model = new BPNet([2, 6, 6, 1], { mode: 'bgd', rate: 0.01 })
model.fit(xs, ys, {
epochs: 500, onEpoch: (epoch, loss) => {
console.log('epoch:' + epoch, 'loss:', loss)
}
})
let xs2 = new Matrix([[5, 8], [22, 6], [-5, 9], [-5, -4]])
model.predict(xs2).print()
// Matrix 4x1 [
// 12.994745740521667,
// 27.99134620596921,
// 3.9987224114576856,
// -9.000000644547901,
// ]
RNN: Пример рекуррентной нейронной сети:
let trainData = ['hello rnn', 'good morning', 'I love 🍎!', 'I eat 🍊!']
let net = new RNN({ trainData })
net.fit({
epochs: 1500, onEpochs: (epoch, loss) => {
if (epoch % 10 === 0) console.log('epoch: ', epoch, 'loss: ', loss)
}
})
console.log(net.predict('I love'))
console.log(net.predict('I eat'))
console.log(net.predict('hel'))
console.log(net.predict('good'))
// 🍊!
// 🍎!
// lo rnn
// morning
[number, (number | [number, АктивационнаяФункция]), ... (number | [number, АктивационнаяФункция])[]]
Иерархическая структура модели сети, включающая количество нейронов в каждом слое, тип активационной функции и общее число слоёв.число
Обучающий темп, скорость обучения. Скорость обучения — это шаг обновления при каждом спуске градиента, обычно находится между 0 и 1.число
'Сигмоид' | 'ReLU' | 'TanH' | 'Softmax'
'sgd' | 'bgd' | 'mbgd'
Разные скорости обучения, итерации и формы сети требуются для решения различных задач, что необходимо настраивать в зависимости от функции стоимости. Оптимизация параметров также является процессом оптимизации модели.## ЭкспортВы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )