freem@n 0 28 мая, 2007 Опубликовано 28 мая, 2007 · Жалоба Нужно заменить нелинейный ОУ нейронной сетью....вроде все ясно и понятно... но капнув глубже...куча недопонимания.... Основной вопрос связан непосредственно с работой в Simulink-е...как можно заставить сеть самообучаться на промоделированном нелинейном объекте. Если кто знает - подскажите...) :05: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dr_Crazy 0 29 мая, 2007 Опубликовано 29 мая, 2007 · Жалоба Нужно заменить нелинейный ОУ нейронной сетью....вроде все ясно и понятно... но капнув глубже...куча недопонимания.... Основной вопрос связан непосредственно с работой в Simulink-е...как можно заставить сеть самообучаться на промоделированном нелинейном объекте. Если кто знает - подскажите...) :05: Попробуй создать обучающую выборку на основе генератора шума с заданной функцией распеределения плотности вероятности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
freem@n 0 29 мая, 2007 Опубликовано 29 мая, 2007 (изменено) · Жалоба Попробуй создать обучающую выборку на основе генератора шума с заданной функцией распеределения плотности вероятности. Это если самому обучать сеть....... Возможно я неправильно поставил вопрос...) Если в Simulinke промоделировать нелинейный объект...его входы и выходы параллельно подсоединить на спроектированную сеть...то как сделать чтобы она в том же Simulinke сеть сразу могла сама обучиться, и в дальнейшим отсоединив ее от объекта она смогла бы воспроизводить работу этого объекта? [короче как провести самообучение сети на реальном объекте] Изменено 29 мая, 2007 пользователем Mike86 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AVL 0 30 мая, 2007 Опубликовано 30 мая, 2007 · Жалоба Как написал Вам Dr_Crazy, можно входное множество сформировать на основе генератора шума. Подав эту входную последовательность (in_set) на вход ОУ, на выходе ОУ получите соответствующую выходную последовательность (target_out_set). Имея эти две последовательности теперь можно обучить, например, многослойный персептрон методом обратного распространения ошибки. То есть in_set - это входные образы, а target_out_set - это целевая реакция нейросети. Нейросеть формирует выход MLP_out_set. В самом начале MLP_out_set не будет иметь ничего общего с target_out_set. Алгоритм обучения минимизирует ошибку, а именно минимизирует различие MLP_out_set относительно target_out_set. Если допустить, что Вам удастся обучить нейросеть со 100% точностью на вх.множестве in_set, то это значит, что target_out_set и MLP_out_set полностью совпадают на всем множестве in_set. Для пользования обученной нейросетью Вы будете подавать на ее вход реальные данные real_in_set. При этом нейросеть будет обобщать данные и даже, если на входе нейросети появится образ, который не предъявлялся ей во время обучения, она все равно даст на выходе близкий к правде результат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
freem@n 0 4 июня, 2007 Опубликовано 4 июня, 2007 · Жалоба Как написал Вам Dr_Crazy, можно входное множество сформировать на основе генератора шума. Подав ...... Проблема в том...что теория понятна, а вот непосредственно реализация в Mathlab не удается....))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AVL 0 5 июня, 2007 Опубликовано 5 июня, 2007 (изменено) · Жалоба Проблема в том...что теория понятна, а вот непосредственно реализация в Mathlab не удается....))) А Вам принципиально необходимо нарисовать проект в Simulink и выполнить обучение и моделирование обученной сети тоже в Simulink? Или описание всего этого на языке Matlab тоже устроит? Изменено 5 июня, 2007 пользователем AVL Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
freem@n 0 29 июня, 2007 Опубликовано 29 июня, 2007 · Жалоба А Вам принципиально необходимо нарисовать проект в Simulink и выполнить обучение и моделирование обученной сети тоже в Simulink? Или описание всего этого на языке Matlab тоже устроит? В принципе... я так и делаю что пишу на матлабе..а проверяю в Simulink, но есть одно но... работать работает но несовсем как должно... К примеру заменил обычный ОУ 1ого порядка нейронной сетью, обучиаю на одной амплитуде (поскольку перех. проц. не зависит от амплитуды вх. сигнала в линейной СУ). Вектор обучения состоит из входного вектора и вектора обратной связи с задержкой сигнала на 1 шаг.... На той амплитуде, на которой обучал все идеально... а чуть изменив амплитуду сигнала на входе... реакция не адекватна....А именно по амплитуде переходный процесс нормальный, а вот по начальному значению и установившемуся...-получается бред: амплитуда входного 0.5 : результат: начальное значение переходного прочесса в точке 0.5 , а установившееся в 1. (Хотя должно быть начало в 0 а установившееся в 0.5) - как это понять? и с чем это может быть связано? )) :07: А Вам принципиально необходимо нарисовать проект в Simulink и выполнить обучение и моделирование обученной сети тоже в Simulink? Или описание всего этого на языке Matlab тоже устроит? Хотя желательно было бы все проделять в Simulink.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spass 0 5 апреля, 2008 Опубликовано 5 апреля, 2008 · Жалоба Хотелось поинтересоваться получилось ли у вас осуществить поставленную вами задачу? и если да, то не могли бы вы что-то посоветовать, при похожей задаче. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться