class Neuron
{
vect<float>*w; // массив весовых коэффициентов нейрона
vect<float>*z; // массив ячеек памяти для хранения предыдущих значений весовых коэффициентов нейрона
vect<float>*eta; // массив коэффициентов момента инерции (параметра скорости обучения)
vect<float>*x; // массив входных значений сигнала
vect<float>*e; // массив значений сигналов ошибки
float alpha; // значение постоянной момента
float v; // значение индуцированного локального поля нейрона
float y; // значение выходного сигнала
float a; // значение коэффициента у сигмоидальной функции
public:
Neuron(vect<float>& aeta,float aalpha,vect<float>& aw,float aa); // конструктор с 4-мя входными параметрами (массив коэффициентов скорости обучения, значение постоянной момента, массив начальных значений весовых коэффициентов, значение коэффициента у сигмоидальной функции) // при загрузке промежуточных значений коэффициентов и разной скорости обучения коэффициентов
Neuron(vect<float>& aeta, float aalpha, float aa); // конструктор с 3-мя входными параметрами (массив коэффициентов скорости обучения, значение постоянной момента, значение коэффициента у сигмоидальной функции) // при начальном обучении при разной скорости обучения коэффициентов
Neuron(float aeta,float aalpha,vect<float>& aw,float aa); // конструктор с 4-мя входными параметрами (массив коэффициентов скорости обучения, значение постоянной момента, массив начальных значений весовых коэффициентов, значение коэффициента у сигмоидальной функции) // при загрузке промежуточных значений коэффициентов и одинаковой скорости обучения коэффициентов
Neuron(float aeta, float aalpha,float aa,int N); // конструктор с 4-мя входными параметрами (массив коэффициентов скорости обучения, значение постоянной момента, массив начальных значений весовых коэффициентов, значение коэффициента у сигмоидальной функции) // при начальном обучении для одинаковой скорости обучения и одинаковым заданным количеством коэффициентов в каждом нейроне
~Neuron() { if(w) delete w; if(z) delete z; if(eta) delete eta; if(x) delete x; if(e) delete e; } // деструктор для освобождения занятой нейроном памяти
int NumK() { return w->len(); }; // вернуть число коэффициентов в нейроне
float work(vect<float>& ax); // функция, реализующая прямой проход, входной параметр: массив со входными сигналами
void correct(float omega); // функция реализующая коррекцию весовых коэффициентов нейрона, входной параметр: сумма произведений локального градиента на весовые коэффициенты
void print(); // вывести содержимое нейрона в консольное устройство
void print(ofstream& out);
int eLen() { return e->len(); }
float operator[](int i) { return (*e)[ i ]; }
int save(ofstream& out);
int savetxt(ofstream& out);
int read(ifstream& in);
};
Другие языки программирования и технологии
дайте пример кода искусственного нейрона
Похожие вопросы
- Может кто-нибудь дать пример маленькой программки, которая при запуске откроется в нормальном виндовс окне?
- C++ указатель на ссылку, ссылка на указатель что можно создать и пример кода если нетрудно.
- ПАСКАЛЬ: дайте примеры типы данных...
- дайте плиз код для изменения цвета текст в HTML есле можно то и с таблицей цветов :)
- C++ write a program (дайте пожалуйста код)
- Что такое массив. Что такое массив в программировании. Объясните / дайте пример.
- Дайте пример процедурного программирования
- Господа! Напишите (если такое конечно возможность) пример двоичного кода, который невозможно сжать (более 10 символов)
- Какой язык даст большее быстродействие готового кода С++,Делфи, Ассемлер, в таком куске кода (внутри)?
- Дайте код разблокировки