Библиотеки: Класс нейронной сети GRNN

 

Класс нейронной сети GRNN:

Класс реализует обобщенно-регрессионную нейронную сеть (General Regression Neural Network - GRNN).

Автор: Yury Kulikov

 
Кто-нибудь пробовал с ним разбираться? Возможно ли обучение без массива выходных обучающих данных? Как?
 
Есть ли C / C ++ код для этого?
 
jommerbot:
Кто-нибудь пробовал с ним разбираться? Возможно ли обучение без массива выходных обучающих данных? Как?
Интересно, а что же вы тогда будете подавать в качестве обучающей выборки?
 

в коде есть такая строка №122: d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];

так вот, что значит 0.0?0.0: ?

Дело в том что переписываю код на другой язык и в одной из итерация m_inp[i]-inputvector[i] = 0, соответственно sigma[i] = 0. Из этого вытекает что делить на ноль некрасиво. Я так полагаю что проблема в том что я не понимаю что значит ==0.0?0.0:

 
daliel:

в коде есть такая строка №122: d=sigma[i]==0.0?0.0:(m_inp[i]-inputvector[i])/sigma[i];

так вот, что значит 0.0?0.0: ?

Дело в том что переписываю код на другой язык и в одной из итерация m_inp[i]-inputvector[i] = 0, соответственно sigma[i] = 0. Из этого вытекает что делить на ноль некрасиво. Я так полагаю что проблема в том что я не понимаю что значит ==0.0?0.0:

Это сокращенная запись if - else

if(sigma[i] == 0.0) {
    d = 0;
}
else {
    d = (m_inp[i] - inputvector[i]) / sigma[i];
}

 деления на ноль нет.

 
Event:

Это сокращенная запись if - else

 деления на ноль нет.

тоесть, если результат (m_inp[i]-inputvector[i])/sigma[i]; равен 0, то sigma[i] не меняется, а меняется только d?
 
daliel:
тоесть, если результат (m_inp[i]-inputvector[i])/sigma[i]; равен 0, то sigma[i] не меняется, а меняется только d?
Условный оператор ?:
 
daliel:
тоесть, если результат (m_inp[i]-inputvector[i])/sigma[i]; равен 0, то sigma[i] не меняется, а меняется только d?

sigma[i] не меняется, а только сравнивается с нулем.

 А от результата этого сравнения меняется d

Причина обращения: