Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Нейросети. Начала программирования НС |
Философия, технологии, алгоритмы! |
|
|
Опции темы |
30.10.2011, 22:56 | #2 |
Форумец
Сообщений: 584
Регистрация: 29.10.2004
Возраст: 39
Не в сети |
|
31.10.2011, 01:38 | #4 |
Форумец
Сообщений: 41,184
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
|
03.11.2011, 15:34 | #6 |
Наркоман...
Сообщений: 1,858
Регистрация: 20.06.2005
Возраст: 37
Не в сети |
как правило сеть генеришь, она тебе дает весовые коэффициенты и формулу(большую). Лучше спросить у ребят кто в политехе на 5-м курсе групп ИС фак-т ЕГФ. там ряд программм юзался. я уже успел забыть их названия. Пакет Statistica тоже умеет. у меня жена в этом году в нем сетями занималась и диплом писала.
|
03.11.2011, 17:15 | #7 |
Registered User
Сообщений: 1,113
Регистрация: 23.06.2007
Возраст: 57
Не в сети |
|
03.11.2011, 18:13 | #8 |
Registered User
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 38
Не в сети |
Сударь)
Мне не требуется нейропакет, меня интересует непосредственно механизм работы персептрона на равне с функциями, которые используются в нём Последний раз редактировалось Спартак21; 03.11.2011 в 19:58. Причина: Не мог напечатать |
03.11.2011, 21:24 | #9 |
Форумец
Сообщений: 286
Регистрация: 17.09.2010
Не в сети |
Спартак21, готовых исходников дать не могу... но нас в прошлом году (ВГУ) обучали по методичке теории искусственных нейронных сетей. Ну как "обучали". просто читали эту методичку и всё =)
где-то она на ww.lib.vsu.ru должна быть.. но сейчас поиск по библиотеке почему-то недоступен. Там нет никакого алгоритма, но есть теория, формулы, принцип работы этого персептрона и его разновидностей... Алгоритм наверное можно составить, если есть мозг. =) Есть и отсылка к другой литературе (должна быть), но увы, я не помню... А что если в гугле поискать? К слову, на практику примеры у нас были на matlab и использовался лишь тулбокс оттуда... логики работы нейросетей никто так и не понял, так как не пытался его построить |
04.11.2011, 23:42 | #11 |
Форумец
Сообщений: 286
Регистрация: 17.09.2010
Не в сети |
Спартак21, ну на мой взгляд... что нужно сделать. построить некую структуру данных (граф) в памяти... это вроде несложно на любом ЯП реализовать.
В вершинах этого графа сохранять переменные состояния (веса), которые при обучения надо изменять... Ещё должна быть какая-то функция активация нейрона. Вроде я ничего сложного особо не вижу... в теории. но сам этого никогда не делал. Даже стыдно "отл" в зачётке по нейросетям стоит. А толку от этого, собственно?.. от этого матлаба. Лучше бы научили самим реализовывать хотя бы что-нибудь самое простое. Может, если б взялся бы, сделал бы. но некогда, других дел хватает Если есть книжки, в которых описана теория, если она достаточно подробно описана, а не обзорно... то тогда никаких проблем возникнуть не должно. Кстати, на habrahabr.ru вроде попадались статейки про нейросети... поищите там. может, и примеру кода будут. http://habrahabr.ru/tag/нейронные%20сети/ |
05.11.2011, 23:11 | #12 |
Registered User
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 38
Не в сети |
Не волнуйся)
не знаю, как Вас по имени, но очень рад, что готовы помочь и вообще советуете)))
уже перечитал огромное количество "макулатуры", и терзают лишь вопросы, в каком виде подавать данные на входы, а также какие модели обучения задать для НС. Если ответите, то "спасибо" уж обеспечено) |
06.11.2011, 00:30 | #13 | |
Форумец
Сообщений: 41,184
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
Правильный вопрос - как оценить качество отдачи нейросети, используемое, к тому же, для ее же обучения (дальнейшего). И это важно - нейросеть, как и человек, может быть крайне эффективна на определенном уровне, но абсолютно бесполезна на следующем.... |
|
07.11.2011, 00:16 | #15 |
Форумец
Сообщений: 286
Регистрация: 17.09.2010
Не в сети |
Ну дык это зависит от того, для чего вообще эта НС предназначена.
У нас, например, в качестве примеров было распознавание образов (задаваемых векторами, как правило ноликов и единичек хватало...), или аппроксимация функций, или прогнозирование... Вот, например, какая-то функция есть. Из неё брали мы несколько точек с каким-то шагом. А те, что между ними, находили через НС. Для этого её обучали - то есть в матлабе есть для этого функция специальная... подавали на вход какой-то вектор (или вектора), и также в качестве аргумента вектор (или просто число, я уж не помню), которое должно получаться на выходе... С обучаемыми данными НС работала как надо (то есть возвращала точку, удовлетворяющую функции), а с каким-то другими уже не так гладко, но похоже на правду =) Вообще говоря, всё работало криво, и преподаватель по практике внятно объяснить, почему, и что нужно для того, чтобы было как надо, не хотел или не мог =) иногда советовал добавить нейронов в скрытом слое. или наоборот убрать... я, кстати, так и не понял, какое количество нейронов надо выбирать в зависимости от той или иной задачи... в методичке про это не было написано. короче, мне эта штука не очень нужна в данный момент, но если надо будет разобраться... думаю, в какой-то литературе найду ответы на все вопросы... |
07.11.2011, 00:18 | #16 |
Форумец
Сообщений: 286
Регистрация: 17.09.2010
Не в сети |
Спартак21, короче, вам надо подавать на обучение какой-то вектор... и "обучать" (применять какой-то из алгоритмов обучения, тысячи их), до тех пор, пока НС не станет возвращать другой вектор (требуемый в зависимости от задачи).
И не забыть предусмотреть в алгоритме выход из цикла (или из рекурсии, что там будет), чтобы не было зацикливания (а то сеть может обучаться бесконечно...), например, количество итераций. или размер шага. |
07.11.2011, 17:15 | #17 |
Registered User
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 38
Не в сети |
Battle Coder, было бы очень интересно решение задачи, условие которой приведено ниже:
есть генератор случайных чисел(ГСЧ), генерирующий целые числа от 0 до 4. нужно создать НС, выдающую правильный с некоторой погрешностью результат следующего рэндома На этом примере ты и расскажешь, что и почему, а я задам интересующие вопросы, как и товарищ Спектатор Ок? |
14.11.2011, 19:43 | #18 |
Форумец
Сообщений: 4
Регистрация: 12.02.2011
Возраст: 32
Не в сети |
Спартак21, на сайте ml-class.org есть курс видеолекций по машинному обучению, читаемых преподавателем Стэнфорда. Думаю, вы сможете много оттуда почерпнуть.
Правда, исходников нет, но какая проблема написать код, если есть алгоритм? |
14.11.2011, 23:08 | #19 |
Registered User
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 38
Не в сети |
Спасибо за ссылку!
Благодарю) проблемы в написании кода таковы: 1. соединения нейронов. 2. начальные веса, которые, по моим соображениям, в идеале тоже есть НС. 3. функция активации: те, что в большинстве книг получены методом "палец в небо". 4. реализация памяти нейрона и алгоритма её обновления. пока эти вопросы считаю основными, т.к. они определяют НС в широком смысле, а уже следующие вопросы за ними будут определят "тонкости" сети. |
14.11.2011, 23:32 | #20 | |||
Форумец
Сообщений: 41,184
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
Цитата:
Цитата:
Это вполне осписано, выбрать есть из чего. Я бы даже сказал - более чем. Основная твоя задача - найти правильный способ обучения НС и ее тип. К сожалению, это уже задача со многими неизвестными. Правильно представлять НС как годовалого ребенка, которому в кратчайшие сроки надо поступить в Гарвард за тебя.... Можно пинать чтобы учил основной предмет - математику, скажем, можно стараться обучить биологии, химии, физике, экономике, чтобы был общий высокий уровень развития мозгов. |
|||
15.11.2011, 23:49 | #22 |
Форумец
Сообщений: 41,184
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Я уже говорил
Мне нужны входные данные. В серьезном объеме, относительно свежие, в "готовом" виде. Бинарник, текстовый документ - всё что можно без проблем загрузить. Тогда я готов поэкспериментировать. Результатами эксперимента, безусловно, поделюсь. НС я буду разрабатывать сам, на голых Сях, других способов не приемлю. Время и желание экспериментировать с НС есть, вытаскивать данные - нет. |
21.11.2011, 12:01 | #25 | |
Registered User
Сообщений: 1,113
Регистрация: 23.06.2007
Возраст: 57
Не в сети |
Найди в интернете программу реализации однослойного перцептрона. Начни пока с неё.
Распознавание цифр с помощью однослойного перцептрона (с примером) Его реализаций огромное количество. На простых примерах можешь посмотреть как работает сеть. Тем более результат сможешь проконтролировать Если с ним не разберёшься, то стоить подумать над другими научными проблемами P.S. Цитата:
Неужели у тебя в училище/институте нету преподавателя компетентного в этом вопросе?!?! P.S.S. Можно с Озона книжки заказать, если совсем туго с баблом - дуй в Никитинку. Лично я иногда так и делаю. |
|
21.11.2011, 12:30 | #26 | |
Форумец
Сообщений: 41,184
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
С тех пор что-то поменялось? |
|
21.11.2011, 12:51 | #27 | |
Registered User
Сообщений: 1,113
Регистрация: 23.06.2007
Возраст: 57
Не в сети |
Цитата:
P.S. Было бы неплохо прикрепить тему со списком источников где можно посмотреть информацию в бумажном(может есть специализированные библиотеки, пусть даже платные) и электронном виде. А то вот мечется человек, не знает где можно посмотреть книжки и денег на покупку нету |
|
21.11.2011, 13:18 | #28 | |
Форумец
Сообщений: 41,184
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
В конце концов, ozon.ru никто не отменял, а у кого есть деньги и знаниие английского - amazon.com тоже никто не отменял. Кстати, рекомендую http://www.amazon.com/s/ref=nb_sb_no...etwork&x=0&y=0 заодно и английский можно подтянуть, что программисту никак не помешает. |
|