Доброго времени суток. Допустим хочу сделать простую нейросеть для XOR:
X=0, У=0, О=0 | X=1, У=0, О=1 | Х=0, У=1, О=1 | Х=1, У=1, О=0
Я так понимаю, что 1,1 и 2,1 входные и им передается значение без изменения. После передачи сигналы далее, в каждом нейроне значение умножается на вес и т.д. В конце я должен сравнить выходы 1,3 и 2,3 и получить ответ, если это 1 ряд, то ответ 0, если 2 ответ 1. Для простоты пусть класс нейрон содержит вес на каждый вход (т.е. 2) и силу сигнала:
Class Neuron
Public weight() As Double = {0, 0}
Public power As Double = 0.0
End Class
Дальше создаем массив и получаем случайный вес, в пределах единицы:
Dim neural(2, 1) As Neuron
Dim rand As New Random
For I As Integer = 0 To 2 Step 1
For J As Integer = 0 To 1 Step 1
neural(I, J) = New Neuron
neural(I, J).weight(0) = rand.NextDouble()
neural(I, J).weight(1) = rand.NextDouble()
Next
Next
Получаем входные значения:
neural(0, 0).power = Console.ReadLine()
neural(0, 1).power = Console.ReadLine()
Функция активации:
Function Sigmoid(ByRef int As Double) As Double
Const e_sigmoid As Double = 2.71828
Return (1 / (1 + (e_sigmoid ^ (-(int)))))
End Function
И простой код работы этой нейронной сети:
For I As Integer = 1 To 2 Step 1
neural(I, 0).power = Sigmoid(((neural(I - 1, 0).power * neural(I, 0).weight(0)) + (neural(I - 1, 1).power * neural(I, 0).weight(1))))
neural(I, 1).power = Sigmoid(((neural(I - 1, 0).power * neural(I, 1).weight(0)) + (neural(I - 1, 1).power * neural(I, 1).weight(1))))
Next
Вот у меня вопрос будет ли это работать и как её обучить? Примеры не важно на чем.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я чочу чтобы fan[0] и fan[1] вращалис независимы друг другаrot[0] и rot[1] панелы на которых расположыны fan[0] и fan[1]
Я бы хотел разделить обьекты по категориям например чтобы было так: [obj1: {
Как правильней всего использовать return с колбэк-функцей в javascript?