|
0 / 0 / 0
Регистрация: 21.03.2011
Сообщений: 8
|
|
Нейронные сети. Алгоритм обратного распространения14.05.2012, 19:56. Показов 5184. Ответов 3
Метки нет (Все метки)
Ребят помогите мне срочно нужно реализовать на C++ алгоритма обратного распространения. Кто с таким сталкивался? Может кто нибудь поможет я буду очень благодарен. Я просто не очень селен в программировании) Очень надо вопрос жизни и смерти.
0
|
|
| 14.05.2012, 19:56 | |
|
Ответы с готовыми решениями:
3
Алгоритм обратного распространения ошибки. Нейронные сети Нейронные сети "Многослойный персептрон и алгоритм обратного распространения ошибки" |
|
|
||
| 14.05.2012, 20:03 | ||
![]() если писать её с нуля, то данная тема не на тот раздел форума написана, пиши в 'бюро добрый услуг' если у тебя есть код и есть в нем ошибки выкладывай попробуем помочь...
0
|
||
|
0 / 0 / 0
Регистрация: 21.03.2011
Сообщений: 8
|
|
| 15.05.2012, 03:25 [ТС] | |
|
Кот есть, но в нем нет обучения, его нужно добавить я не знаю как)
#include "stdafx.h" #include <math.h> #include <iostream> using namespace std; const int N=12; const int N2=8; const int numlayer=1; int k1=0, k2=0, l; float f=0.6,s=0.7; double X[N]={-1.20,0.80,-1.60,-4.03,1.42,-1.60,0.92,1.03,-1.76,-2.02,1.25,-1.6}; double W[N2][numlayer]= { -1.20,0.80,-1.60,-4.03,1.42,-1.60,0.92,1.03 }; const double error=1.5; const double speed=0.05; int main() { setlocale(0,"rus"); double getnet(double*,double[][numlayer]); void display(double); double getout(double); double geterr(double,double); double newW(double,double,double); double out; do{ cout<<"Start weight: "; for(int i=0;i<N2;i++) for(int j=0;j<numlayer;j++) cout<<W[i][j]<<" "; cout<<endl; double net=getnet(X,W); out=getout(net); double err=geterr(error,net); if (out<f)k2=k2+1; if (out<s)k1=k1+1; cout<<"Out: ";display(net); cout<<"Error: ";display(err); newW(error,speed,out); for(int i=0;i<N2;i++) for(int j=0;j<numlayer;j++) cout<<W[i][j]<<" "; }while(out>0.60); if(out>1) cout<<"\n Won first class"<<endl; else cout<<"\n Won second class"<<endl; cout<<endl; cout<<"func activation: ";display(out); cout<<"oshibki 1 klassa: ";display(k1); cout<<"oshibki 2 klassa: ";display(k2); system("pause"); return 0; } double getnet(double* X,double W[][numlayer]) { double net=0.0; for(int i=0;i<N2;i++) for(int j=0;j<numlayer;j++) net+=X[i]*W[i][j]; return net; } double getout(double net) { return (1/(1+exp(-net))); } double geterr(double err,double net) { return (err-net)*net*(1-net); } double newW(double err,double speed,double out) { double neww=speed*err*out; cout<<"Koefficient obnovlenya vesa: "<<neww<<endl; cout<<"Obnovlennie vesa: "; for(int i=0;i<N2;i++) for(int j=0;j<numlayer;j++) W[i][j]+=neww; return W[N2][numlayer]; } void display(double num) { cout<<num<<endl; }
0
|
|
|
103 / 74 / 10
Регистрация: 29.05.2010
Сообщений: 192
|
||||||
| 17.05.2012, 11:25 | ||||||
|
Вот писал как-то нейронную сеть, чтоб различала на изображении треугольники и квадраты, бери если разберешься
0
|
||||||
| 17.05.2012, 11:25 | |
|
Помогаю со студенческими работами здесь
4
Нейронные сети обратного распространения Нейронные сети,Метод обратного распространения ошибки Алгоритм обратного распространения ошибки Алгоритм обратного распространения ошибки Алгоритм обратного распространения ошибки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|