Вивчення параметрів за допомогою методу максимальної правдоподібності: дискретні моделі

Автор: Пользователь скрыл имя, 02 Февраля 2013 в 17:58, курсовая работа

Краткое описание

Перед комп’ютером ставиться наступна задача. Є безліч об'єктів (ситуацій) і безліч можливих відповідей (відгуків, реакцій). Існує деяка залежність між відповідями і об'єктами, але вона невідома. Відома тільки кінцева сукупність прецедентів - пар «об'єкт, відповідь»,так звана навчальна вибірка. На основі цих даних потрібно відновити залежність, тобто побудувати алгоритм, здатний для будь-якого об'єкта видати досить точну відповідь. Для вимірювання точності відповідей певним чином вводиться функціонал якості.
Дана постановка є узагальненням класичних задач апроксимації функцій. У класичних задачах апроксимацій об'єктами є дійсні числа або вектори. У реальних прикладних задачах вхідні дані про об'єкти можуть бути неповними, неточними, нечисловими, різнорідними. Ці особливості призводять до великої різноманітності методів машинного навчання.

Оглавление

Вступ……………………………………………………………………………………….3
1. Вивчення параметрів за допомогою методу максимальної правдоподібності:
дискретні моделі……………………………………………………..…………….4
2. Наївні Байєсівські моделі………………………………………………………...7
3. Нейронні мережі…………………………………………………………………..10
3.1. Структура нейронних мереж………………………………………...13
3.2. Багатошарові нейронні мережі з прямим розповсюдженням….......17
3.3. Визначення в процесі навчання структур нейронних мереж…….....20
3.4. Практичний приклад: розпізнавання рукописних ЦИФР………….21
4. Програмна реалізація наївної байєсівської моделі……………………………24
4.1. Алгоритм навчання………………………………………………….24
4.2. Опис програми……………………………………………………….24
3. Інструкція користувачеві………………………………………….......25
Висновок………………………………………………………………………………..27
Список використаних джерел…………………………………………………………..28
Додаток…………………………………………………………………………………...29

Файлы: 1 файл

zvit.doc

— 2.10 Мб (Скачать)

                                         

|UK)=0.                                                (10)

Тепер умовна імовірність  класу UK щодо документа Britain is a member of the WTO, що складається з одного речення, дорівнює нулю, оскільки в рівності (4.1) ми перемножуємо умовні імовірності для всіх термінів. Очевидно, що модель повинна привласнювати класу UK високу імовірність, оскільки в пропозиції зустрічається термін Britain. Втім, не можна просто відкинути нульову імовірність для терміна WTO, незалежно від того наскільки багато є свідчень на користь класу UK, забезпечених іншими ознаками. Ця оцінка дорівнює нулю через рідкість терміна. Навчальні дані ніколи не бувають великими настільки, щоб частота рідких термінів оцінювалася адекватно, як, наприклад, частота терміна WTO у документах класу UK.

Для того щоб позбутися від нуля, ми використовуємо згладжування Лапласа (Laplace smoothing), просто додаючи одиницю  до кожної частоти.

                                                                                   (11)

 

Тут = |V| — кількість термінів у словнику. Згладжування Лапласа можна інтерпретувати як апріорний рівномірний розподіл (кожен термін зустрічається в кожнім класі по одному разі), що потім уточнюється на основі навчальних даних, що надходять.

        Ґрунтуючись на зразках, приведених у табл. 1 і зазначених нижче параметрах, потрібно класифікувати тестовий документ.

Таблиця 1.

 

DocID

Слова в документі

c=Chine

Навчальна множина

1

Chinese Beijing Chinese

так

 

2

Chinese Chinese Shanghai

так

 

3

Chinese Makao

так

 

4

Tokio Japan Chinese

ні

Тестовий документ

5

Chinese Chinese Chinese Tokio Japan

 

 

(c)=3/4, ( 6/14=3/7,

(Tokio|c)= =1/14,

2/9,

(Tokio| )= =2/9/

Знаменники рівні (8 + 6) і (3 + 6), оскільки довжина тексту textc і рівні 8 і 3 відповідно, а константа B дорівнює 6, тому що словник складається з шести термінів. Таким чином,

Отже, класифікатор віднесе  тестовий документ до класу c = China. Причина  такої класифікації полягає в тім, що три позитивних індикатори входження терміна Chinese у документ d5 переважують негативні індикатори термінів Japan і Tokio.

 

  1. Нейронні мережі

 

Здатність до навчання є  фундаментальною властивістю мозку. У контексті ШНМ (штучних нейронних  мереж) процес навчання може розглядатися як налаштування архітектури мережі і вагів зв’язків для ефективного  виконання спеціального завдання. Зазвичай нейронна мережа повинна настроїти ваги зв’язків за наявною навчальною вибіркою. Функціонування мережі покращується із ітеративним налаштуванням вагових коефіцієнтів. Властивість мережі навчатися на прикладах робить їх привабливішими в порівнянні із системами, які наслідують певну систему правил функціонування, сформульовану експертами.

Для конструювання процесу  навчання, перш за все, необхідно мати модель зовнішнього середовища, в  якій функціонує нейронна мережа, —  знати доступну для мережі інформацію. Ця модель визначає парадигму навчання. По-друге, необхідно зрозуміти, як модифікувати вагові параметри мережі — які правила навчання управляють процесом налаштування. Алгоритм навчання означає процедуру, в якій використовуються правила навчання для налаштування вагів. Існують три парадигми навчання: «з вчителем», «без вчителя» (самонавчання) і змішана.

У першому випадку  нейронна мережа має в своєму розпорядженні  правильні відповіді (виходи мережі) на кожен вхідний приклад. Ваги настроюються так, щоб мережа проводила відповіді якомога ближчі до відомих правильних відповідей.

Посилений варіант навчання з вчителем передбачає, що відома тільки критична оцінка правильності виходу нейронної мережі, але не самі правильні  значення виходу. Навчання без вчителя  не вимагає знання правильних відповідей на кожен приклад навчальної вибірки. В цьому випадку розкривається внутрішня структура даних або кореляції між зразками в системі даних, що дозволяє розподілити зразки по категоріях. При змішаному навчанні частина вагів визначається за допомогою навчання з вчителем, тоді як остання виходить за допомогою самонавчання.

Теорія навчання розглядає  три фундаментальні властивості, пов’язані  з навчанням за прикладами: ємність, складність зразків і обчислювальна  складність. Під ємністю розуміється, скільки зразків може запам’ятати мережа, і які функції і межі ухвалення рішень можуть бути на ній сформовані. Складність зразків визначає число навчальних прикладів, необхідних для досягнення здатності мережі до узагальнення. Дуже мале число прикладів може викликати «перенавчання» мережі, коли вона добре функціонує на прикладах навчальної вибірки, але погано — на текстових прикладах, які підлягають тому ж статистичному розподілу. Відомі 4 основних типи правил навчання: корекція за помилкою, навчання Больцмана, правило Хебба і навчання методом змагання.

Правило корекції за помилкою.

При навчанні з вчителем для кожного вхідного прикладу заданий  бажаний вихід d. Реальний вихід мережі  може не збігатися з бажаним. Принцип корекції за помилкою при навчанні полягає у використанні сигналу (d-y) для модифікації вагів, що забезпечує поступове зменшення помилки. Навчання має місце тільки у разі, коли перцептрон помиляється. Відомі різні модифікації цього алгоритму навчання.

Навчання Больцмана.

Є стохастичним правилом навчання, яке виходить з інформаційних теоретичних і термодинамічних принципів. Метою навчання Больцмана є таке налаштування вагових коефіцієнтів, при якому стани видимих нейронів задовольняють бажаний розподіл вірогідності. Навчання Больцмана може розглядатися як спеціальний випадок корекції за помилкою, в якому під помилкою розуміється розбіжність кореляцій полягань в двох режимах .

Правило Хебба.

Найстарішим навчальним правилом є постулат навчання Хебба. Хебб опирався на такі нейрофізіологічні  спостереження: якщо нейрони з обох боків синапсу активізуються одночасно і регулярно, то сила синаптичного зв’язку зростає. Важливою особливістю цього правила є те, що зміна синаптичної ваги залежить тільки від активності нейронів, які зв’язані даним синапсом. Це істотно спрощує ланцюги навчання в реалізації вертикально-випромінюючих лазерів.

Навчання методом  змагання.

На відміну від навчання Хебба, в якому безліч вихідних нейронів можуть збуджуватися одночасно, при  навчанні змагання вихідні нейрони  змагаються між собою за активізацію. Це явище відоме як правило «переможець бере все». Подібне навчання має місце в біологічних нейронних мережах. Навчання за допомогою змагання дозволяє кластеризувати вхідні дані: подібні приклади групуються мережею відповідно до кореляцій і подаються одним елементом. При навчанні модифікуються тільки ваги нейрона, що «переміг». Ефект цього правила досягається за рахунок такої зміни збереженого в мережі зразка (вектора вагів зв’язків нейрона, що «переміг»), при якому він стає трохи ближчим до вхідного прикладу

 

3.1. Структура нейронних мереж

Існують дві основні  категорії структур нейронних мереж: ациклічні мережі, або мережі з  прямим розповсюдженням, і циклічні, або рекурентні, мережі. Мережа з прямим розповсюдженням представляє певну функцію її поточних вхідних даних, тому не має внутрішнього стану, відмінного від самих ваг. Рекурентна мережа, з іншого боку, подає свої вихідні дані назад на свої власні входи. Це означає, що рівні активації мережі утворюють динамічну систему, яка може досягати стійкого стану, або переходити в коливальний режим, або навіть проявляти хаотичну поведінку. Більше того, відгук мережі на конкретні вхідні дані залежить від її початкового стану, який, у свою чергу, може залежати від попередніх вхідних даних. Тому рекурентні мережі (на відміну від мереж з прямим розповсюдженням) можуть моделювати короткочасну пам'ять. Це означає, що вони є більш цікавими об'єктами для використання в якості моделей мозку, але разом з тим є більш важкими для розуміння.

Рис. 1 – Базова архітектура нейронних мереж.

 

Проаналізуємо більш  уважно твердження про те, що мережа з прямим поширенням представляє  функцію від її вхідних даних. Розглянемо просту мережу, показану на рис.3 , яка складається з вхідних елементів, двох прихованих елементів і одного вихідного елемента (щоб спростити розглянуту схему, в даному прикладі видалені елементи, на які подається зсув). Якщо заданий вектор вхідних даних х = (xl,  х2), активації вхідних елементів приймають вид (а1, а2) = (х1, х2), а мережа обчислює таке значення:

 

а5 = g (W1, 5а3 + W4, 5а4 ) =

                                   =g(W3, 5g(W1, 3a1, + W2, 3a2) + W4, 5g(W1, 4a1, + W1, 4a2)).   (12)

 

Таким чином, виразивши  вихідне значення кожного прихованого  елементу як

функцію його вхідних  значень, ми показали, що вихід всієї мережі, а5, є функцією від її входів. Крім того, ми показали, що ваги в мережі діють як параметри цієї функції; якщо застосувати запис w для позначення параметрів, то можна стверджувати, що мережа обчислює функцію hw (x). Коректуючи ваги, можна змінювати функцію, представлену мережею. Саме так відбувається навчання в нейронних мережах.


Рис. 3 Дуже проста нейронна мережа.

Нейронна мережа може використовуватися для класифікації або регресії. Для булевої класифікації з безперервними вихідними даними (наприклад, формованими за допомогою сигмоїдальних елементів) зазвичай прийнято застосовувати один вихідний елемент, в якому значення, що перевищує 0.5, інтерпретується як приналежне до одного класу, а значення нижче 0.5 - як приналежне до іншого. Для k - сторонньої класифікації можна розділити діапазон одного вихідного елемента на до частин, але частіше використовується структура мережі з до окремими вихідними елементами, притому що значення на кожному з них являє відносне правдоподібність конкретного класу на підставі поточних вхідних даних. Мережі з прямим розповсюдженням зазвичай розміщуються по верствам, таким, що кожен елемент отримує вхідні дані тільки від елементів, що відносяться до безпосередньо попереднього шару. У наступних двох підрозділах розглядаються одношарові мережі, які не мають прихованих елементів, і багатошарові мережі, які мають один або декілька шарів прихованих елементів.

 

Одношарові  нейронні мережі з прямим розповсюдженням (персептрони)

 

Мережа, в якій всі  вхідні елементи з'єднані безпосередньо з вихідними елементами, називається одношаровою нейронною мережею, або мережею персептрона. Оскільки кожен вихідний елемент є незалежним від інших (кожна вага впливає тільки на один з виходів), в нашому дослідженні можна обмежитися розглядом персептронів з єдиним вихідним елементом, як показано на рис. 4, а. Почнемо з дослідження простору гіпотез, який може бути представлений за допомогою персептрона. Якщо застосовується порогова функція активації, то персептрон може розглядатися як  деяка булева функція. Крім елементарних булевих функцій AND, OR і NOT , персептрон дозволяє представляти дуже компактно деякі вельми "складні" булеві функції. Наприклад, мажоритарна функція, яка виводить 1, тільки якщо 1 присутній більше ніж на половині з її n входів, може бути представлена ​​з допомогою персептрона, в якому кожне значення wj = l, а порогове значення w0 = n / 2.

У дереві рішень для представлення  цієї функції треба було б O( ) вузлів.

 

 

Рис. 4 Властивості мережі персептрона:  мережа персептрона, що складається з трьох вихідних елементів персептрона, в яких спільно використовуються п'ять вхідних елементів.

На жаль, існує також  багато булевих функцій, які не можуть бути представлені за допомогою порогового персептрона. Розглядаючи рівняння (13), можна виявити, що порогів персептрон повертає 1 тоді і тільки тоді, коли зважена сума його вхідних даних (включаючи зсув) є позитивною:

 

                                   

                                         (13)

Отже, W ∙ х = 0 визначає гіперплоскість в просторі вхідних даних, тому персептрон повертає 1 тоді і тільки тоді, коли вхідні дані знаходяться з одного боку від цієї гіперплощини. За такої причини порогів персептрон називають лінійним роздільником. На рис. 5, а, б показана така гіперплоскість (яка у двох вимірах є лінією) для подання з допомогою персептрона функцій AND і OR від двох вхідних значень. Чорні кружки позначають точки в просторі вхідних даних, де значення цієї функції дорівнює 1, а білі кружки - точки, де це значення дорівнює 0. Персептрон здатний представити ці функції, оскільки є якась лінія, яка відокремлює всі білі гуртки від усіх чорних гуртків. Такі функції називаються  лінійно роздільні. На рис.5, в показаний приклад функції, яка не є лінійно роздільна, - функції XOR. Безумовно, що пороговий персептрон не дозволяє визначити в процесі навчання цю функцію. Взагалі кажучи, порогові персептрони здатні уявити тільки лінійно роздільні функції. Але такі функції складають лише невелику частину всіх функцій. Сигмоїдальні персептрони характеризуються аналогічними обмеженнями, з тією поправкою, що вони представляють тільки "м'які" лінійні роздільники.

 

 

Рис. 5. Ілюстрація властивості лінійно роздільних порогових персептронів.

 

Незважаючи на їх обмежену виразну потужність, порогові персептрони мають деякі переваги. Зокрема, існує простий алгоритм навчання, що дозволяє виконати підгонку ваг порогового персептрона до будь якої лінійно роздільної множини. В основі цього алгоритму, а в дійсності в основі більшості алгоритмів для навчання нейронних мереж, лежить така ідея, що в процесі навчання необхідно коригувати ваги в мережі для мінімізації деякого критерію вимірювання помилок у навчальній множині. Таким чином, задача навчання формулюється як деяка задача оптимізаційного пошуку в просторі ваг. "Класичним" критерієм виміру помилок є сума квадратичних помилок, яка використовувалася в тому числі  і в алгоритмі лінійної регресії. Квадратична помилка для єдиного навчального прикладу з вхідними даними х і істинними вихідними даними і визначається наступним чином:

Информация о работе Вивчення параметрів за допомогою методу максимальної правдоподібності: дискретні моделі