Оцінка адекватності нейромережевих моделей
При побудові нейромережевих моделей дуже важливим є питання оцінки їхньої якості. Для якісної моделі потрібне мінімальне значення помилки моделі.
Як міра помилки в моделях регресії може розглядатися стандартна середньоквадратична помилка, коефіцієнт множинної кореляції, доля природної дисперсії прогнозованої ознаки, що не дістала пояснення в рамках моделі.
У моделях класифікації як міра помилки може бути обрана доля випадків правильно класифікованих моделлю.
У зв'язку з високими потенційними можливостями навчання нейромережевих моделей важливу роль при оцінці адекватності моделі грають питання «перенавчання» моделі. У зв'язку з цим розглянемо процес побудови моделі докладніше.
Отже, потрібно, щоб на підставі кінцевого набору параметрів X, названих навчальною множиною, була побудована модель Mod деякого об'єкта Obj. Процес одержання Mod з наявних уривчастих експериментальних відомостей про систему Obj може розглядатися, як навчання моделі поведінці Obj відповідно до заданого критерію, настільки близько, наскільки це можливо. Алгоритмічно, навчання означає підстроювання внутрішніх параметрів моделі (ваг синаптичних зв'язків у випадку нейронної мережі) з метою мінімізації помилки моделі, що описує деяким чином відхилення поведінки моделі від системи – E = |Obj – Mod |.
Прямий вимір зазначеної помилки моделі на практиці не можливий, оскільки функція Obj при довільних значеннях аргументу невідома. Однак можливе одержання її оцінки: Ошибка! Объект не может быть создан из кодов полей редактирования., де підсумовування проводиться по навчальній множині X. При використанні бази даних спостережень за системою, для навчання може приділятися деяка її частина, названа в цьому випадку навчальною вибіркою. Для навчальних прикладів X відгуки системи Obj відомі. Таким чином, EX – помилка навчання для моделі.
У додатках користувача звичайно цікавлять передбачувані властивості моделі. При цьому головним є питання, яким буде відгук системи на новий вплив, приклад якого відсутній у базі даних спостережень – N. Невідома помилка, що допускається моделлю Mod на даних, що не використовувалися при навчанні, називається помилкою узагальнення моделі EN.
Основною метою при побудові інформаційної моделі є зменшення саме помилки узагальнення, оскільки мала помилка навчання гарантує адекватність моделі лише в заздалегідь обраних точках (а в них значення відгуку системи відомі і без усякої моделі). Проводячи аналогії з навчанням у біології, можна сказати, що мала помилка навчання відповідає прямому запам'ятовуванню навчальної інформації, а мала помилка узагальнення – формуванню понять і навичок, що дозволяють поширити отриманий з навчання досвід на нові умови. Останнє значно більш цінне при проектуванні нейромережевих систем, тому що для безпосереднього запам'ятовування інформації краще пристосовані інші, не нейронні пристрої комп'ютерної пам'яті.
Важливо відзначити, що мала помилка навчання не гарантує малу помилку узагальнення. Класичним прикладом є побудова моделі функції (апроксимація функції) по декількох заданих точках поліномом високого порядку. Значення полінома (моделі) при досить високому його ступені є точними у навчальних точках, тобто помилка навчання дорівнює нулеві. Однак значення в проміжних точках можуть значно відрізнятися від апроксимуючої функції, отже помилка узагальнення такої моделі може бути неприйнятно великою.
Оскільки істинне значення помилки узагальнення не доступно, на практиці використовується її оцінка. Для її одержання аналізується частина прикладів з наявної бази даних, для яких відомі відгуки системи, але які не використовувалися при навчанні. Ця вибірка прикладів називається тестовою вибіркою. Помилка узагальнення оцінюється, як відхилення моделі на множині прикладів з тестової вибірки.
Оцінка помилки узагальнення є принциповим моментом при побудові моделі. На перший погляд може показатися, що свідоме не використання частини прикладів при навчанні може тільки погіршити підсумкову модель. Однак без етапу тестування єдиною оцінкою якості моделі буде лише помилка навчання, що, як уже відзначалося, мало пов'язано з передбачуваними здібностями моделі. У професійних дослідженнях можуть використовуватися кілька незалежних тестових вибірок, етапи навчання і тестування повторюються багаторазово з варіацією початкового розподілу ваг нейромережі, її топології і параметрів навчання. Остаточний вибір "найкращої" нейромережі робиться з урахуванням наявного обсягу і якості даних, специфіки задачі, з метою мінімізації ризику великої помилки узагальнення при експлуатації моделі.
Побудова нейронної мережі (після вибору вхідних перемінних) складається з наступних кроків:
- Вибір початкової конфігурації мережі.
Проведення експериментів із різними конфігураціями мереж. Для кожної конфігурації проводитися кілька експериментів, щоб не одержати помилковий результат через те, що процес навчання потрапив у локальний мінімум. Якщо в черговому експерименті спостерігається недонавчання (мережа не видає результат прийнятної якості), необхідно додати додаткові нейрони в проміжний шар. Якщо це не допомагає, спробувати додати новий проміжний шар. Якщо має місце перенавчання (контрольна помилка стала зростати), необхідно видалити кілька схованих елементів.
- Добір даних
Для одержання якісних результатів навчальна, контрольна і тестова множини повинні бути репрезентативними (представницькими) з погляду суті задачі (більш того, ці множини повинні бути репрезентативними кожна окремо). Якщо навчальні дані не репрезентативні, то модель, як мінімум, буде не дуже гарною, а в гіршому випадку – непридатною.
- Навчання мережі
Навчання мережі краще розглянути на прикладі багатошарового персептрона. Рівнем активації елемента називається зважена сума його входів із доданим до неї граничним значенням. Таким чином, рівень активації являє собою просту лінійну функцію входів. Ця активація потім перетвориться за допомогою сігмавидної (що має S-образну форму) кривої.
Комбінація лінійної функції декількох змінних і скалярної сігмавидної функції приводить до характерного профілю "сігмавидного схилу", що видає елемент першого проміжного шару мережі. При зміні ваг і порогів змінюється і поверхня відгуку. При цьому може змінюватися як орієнтація всієї поверхні, так і крутість схилу. Більшим значенням ваг відповідає більш крутий схил. Якщо збільшити усі ваги в два рази, то орієнтація не зміниться, а нахил буде більш крутим.
У багатошаровій мережі подібні функції відгуку комбінуються одна з одною за допомогою побудови їхніх лінійних комбінацій і застосування нелінійних функцій активації. Перед початком навчання мережі вагам і порогам випадковим образом присвоюються невеликі по величині початкові значення. Тим самим відгуки окремих елементів мережі мають малий нахил і орієнтовані хаотично – фактично вони не зв'язані один з одним. У міру того, як відбувається навчання, поверхні відгуку елементів мережі повертаються і зміщуються у потрібне положення, а значення ваг збільшуються, оскільки вони повинні моделювати окремі ділянки цільової поверхні відгуку.
У задачах класифікації вихідний елемент повинен видавати сильний сигнал у випадку, якщо дане спостереження належить до класу, що нас цікавить, і слабкий – у протилежному випадку. Інакше кажучи, цей елемент повинний прагнути змоделювати функцію, рівну одиниці в тій області простору об'єктів, де розташовуються об'єкти з потрібного класу, і рівну нулеві поза цією областю. Така конструкція відома як дискримінантна функція в задачах розпізнавання. "Ідеальна" дискримінантна функція повинна мати плоску структуру, так щоб точки відповідної поверхні розташовувалися або на нульовому рівні.
Якщо мережа не містить схованих елементів, то на виході вона може моделювати тільки одинарний "сігмавидний схил": точки, що знаходяться по одну його сторону, розташовуються низько, по іншу – високо. При цьому завжди буде існувати область між ними (на схилі), де висота приймає проміжні значення, але в міру збільшення ваги ця область буде звужуватися.
Теоретично, для моделювання будь-якої задачі досить багатошарового персептрона с двома проміжними шарами (цей результат відомий як теорема Колмогорова). При цьому може виявитися і так, що для рішення деякої конкретної задачі більш простою і зручною буде мережа зі ще більшим числом шарів. Однак, для рішення більшості практичних задач досить всього одного проміжного шару, два шари застосовуються як резерв в особливих випадках, а мережі з трьома шарами практично не застосовуються.