|
Как обучить многослойный персептрон?
| ☑ |
0
batmansoft
11.04.14
✎
11:48
|
Читал, что для обучения одного нейрона надо каждый вес скорректировать на некую дельту, умноженную на соответствующее значение входного вектора из обучающей матрицы, примерно как то так:
double y = output;
double dty = t - y;
if (trans.id == TransFuncConstId.ThreeLevelsId || trans.id == TransFuncConstId.ThresholdId)
{
(trans as Threshold).level = (trans as Threshold).level - mu * dty * (trans as Threshold).level;
}
for (int i = 0; i < weights.Count; i++)
{
weights[i] = weights[i] + mu * dty * a_inputs[i];
}
Но как делать для персептрона с несколькими слоями, если в каждом слое разное количество нейронов? В этом случае я не могу взять вектор из обучающей матрицы, так как он действителен только для входного слоя.
|
|
1
Godofsin
11.04.14
✎
11:52
|
ипатьколотить!
|
|
2
Ненавижу 1С
гуру
11.04.14
✎
11:53
|
что за быдло код в
(trans as Threshold).level = (trans as Threshold).level - mu * dty * (trans as Threshold).level;
|
|
3
mikecool
11.04.14
✎
11:55
|
(0) учи лучше метаданные()
|
|
4
batmansoft
11.04.14
✎
11:56
|
(2) Это не быдлокод, это преобразование к нужному типу. Дело в том, что trans имеет тип интерфейса, у которого много реализация. При некоторых реализациях надо делать действия с полями конкретной релаизации
|
|
5
Ненавижу 1С
гуру
11.04.14
✎
11:58
|
(4) для этого есть полиморфизм
|
|
6
Ненавижу 1С
гуру
11.04.14
✎
11:58
|
level *= (1 - mu * dty);
|
|
7
batmansoft
11.04.14
✎
12:02
|
(5) Ну, полиморфизмы я применю тогда, когда буду писать обучалку нейрости с другими активаторами функция, тогда вместо (trans as Threshold).level = (trans as Threshold).level - mu * dty * (trans as Threshold).level; будет (trans as IAddInterface).SomeMethod(mu,dty)
|
|
8
vqwy
11.04.14
✎
12:03
|
эта ваще на каковском изыке?
|
|
9
XLife
11.04.14
✎
12:05
|
(8) язык племени майя
|
|
10
batmansoft
11.04.14
✎
12:08
|
(8) C#, разумеется
|
|
11
Ненавижу 1С
гуру
11.04.14
✎
12:08
|
(7) приведение типов это дурнопахнущий код
|
|
12
gr13
11.04.14
✎
12:09
|
back propagation
kalman
не понимаю в чем проблема воспользоваться поиском?
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой