Смекни!
smekni.com

Ознайомлення з експертними системами. Створення власної простої бази знань для вирішення задачі класифікації (стр. 2 из 4)

Таким чином, процес логічного висновку, що базується на пошуку за зразком, складається із 4 кроків:

1. вибір образу;

2. співставлення образу з умовами продукцій та формування конфліктної множини правил;

3. вирішення конфлікту;

4. виконання правила.

Приклад продукційної ЕС «Оцінювання студентів»

Відповідності між студентами та їх характеристиками наведені у таблиці:

Студент Характеристики
«Відмінник»

Рівень оцінок: «відмінно»

Інтереси: різноманітні

Спосіб життя: здоровий

Спорт: займається

Особисте життя: є

«Ударник»

Рівень оцінок: «добре»

Інтереси: різноманітні

Спосіб життя: здоровий

Спорт: займається

Особисте життя: є

«Трієчник»

Рівень оцінок: «задовільно»

Інтереси: різноманітні

Спосіб життя: не здоровий

Спорт: не займається

Особисте життя: немає

«Двієчник»

Рівень оцінок: «не задовільно»

Інтереси: немає

Спосіб життя: не здоровий

Спорт: не займається

Особисте життя: немає

Далі знання, зібрані у експертів, представлені у формі продукційних правил, яку буде розуміти комп’ютер, умовно це буде виглядати так:

Правило («Відмінник»):–

Так(Рівень оцінок: «відмінно»),

Так(Інтереси: різноманітні),

Так(Спосіб життя: здоровий),

Так(Спорт: займається).

Так(Особисте життя: є).

Правило(«Ударник»):–

Так(Рівень оцінок: «добре»),

Так(Інтереси: різноманітні),

Так(Спосіб життя: здоровий),

Так(Спорт: займається),

Так(Особисте життя: є).

Правило(«Трієчник»):–

Так(Рівень оцінок: «задовільно»),

Так(Інтереси: різноманітні),

Ні(Спосіб життя: здоровий),

Ні(Спорт: займається),

Ні(Особисте життя: є).

Правило(«Двієчник»):–

Так( Рівень оцінок: «не задовільно»),

Ні(Інтереси: є),

Ні(Спосіб життя: здоровий),

Ні(Спорт: займається),

Ні(Особисте життя: є).

В такому випадку приклад діалогу з користувачем:

Скажіть: Рівень оцінок: «відмінно». Це правда, чи ні?

Скажіть: Рівень оцінок: «добре». Це правда, чи ні?

Скажіть: Рівень оцінок: «задовільно». Це правда, чи ні?

Скажіть: Рівень оцінок: «не задовільно». Це правда, чи ні?

Скажіть: Має різноманітні інтереси. Це правда, чи ні?

Скажіть: Веде здоровий спосіб життя. Це правда, чи ні?

Скажіть: Займається спортом. Це правда, чи ні?

Скажіть: Має особисте життя. Це правда, чи ні?

Опис програми «Мала експертна система»

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

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

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

Початок роботи

Для початку роботи необхідно завантажити з файлу базу знань (БЗ), що містить інформацію з тієї прикладної області, в якій потрібно одержати консультацію. Це можна зробити, натиснувши кнопку «Завантажити базу знань»

або за допомогою одноіменного пункту меню «Файл» (для цього також призначена «гаряча» клавіша <F2>). База знань, що завантажується, може бути зашифрована та вимагати пароль на читання. У цьому випадку потрібно ввести пароль або скасувати завантаження БЗ. Якщо не виникло помилки при завантаженні, можна натиснути кнопку «Почати консультацію» («гаряча» клавіша <F3> або пункт меню «Консультація | Почати консультацію»).

Рис. 1. Робоче вікно програми «Мала експертна система» v2.0 після її відкриття.

Після початку консультації в правій частині вікна (область запитів) з'являється перше запитання системи (назва вислову чи умови, ступінь істинності якого система бажає довідатися). Користувач може давати відповіді за двома схемами. По-перше, можна задавати згідно певної шкали коефіцієнт впевненості (наприклад, від -5, що означає «точно ні», до +5 – «точно так»). По-друге, користувач може ввести ймовірність істинності вислову (число від нуля до одиниці). В обох випадках можна вибирати будь-які проміжні значення. Перемикання між варіантами відповіді здійснюється за допомогою кнопки

, розташованої ліворуч від запрошення на введення відповіді, або «гарячою» клавішею <F8>.

Ці два варіанти багато в чому відрізняються. Значення коефіцієнта впевненості («КУ») вибирається практично інтуїтивно, в той час як ймовірність може бути одержана з досвідів або обчислена математично. У випадку вибору за шкалою коефіцієнта впевненості, є можливість відповісти «Не знаю», ввівши число, що відповідає середині шкали (наприклад, нуль, якщо шкала від -5 до +5). Така відповідь ніяк не вплине на результат консультації. Якщо ж вводити відповіді за допомогою ймовірностей, такої можливості сказати «не знаю» практично немає, адже значення ймовірності істинності вислову, що не впливає на результат консультації, в кожному випадку буде інше. Це дуже важливе розходження між двома способами відповіді.

Більш докладно про вибір значення коефіцієнта впевненості.

Діапазон зміни коефіцієнта впевненості задається у вікні налаштувань, що дозволяє змінити деякі параметри інтерфейсу та відкривається після натискування відповідної кнопки

, через пункт меню «Наалштування» або за допомогою гарячої клавіші <F7>. Нехай встановлені такі значення: -5 (Ні), 0 (Не знаю), +5 (Так). Тоді користувачеві потрібно відповісти за шкалою від -5 до +5, оцінюючи правдоподібність істинності вислову: ввести +5, якщо твердо впевнений в істинності, та -5, якщо переконаний в хибності вислову, і т.д. Також можна вводити будь-які проміжні значення, наприклад, +4.5 (знак «+» вводити не обов'язково) або -0.1.

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

Більш докладно про введення ймовірності істинності вислову

Можливо, перший спосіб введення відповіді є простішим для більшості людей, проте в деяких випадках більше виправданим є використання ймовірності істинності вислову. Приклад такого випадку: необхідно оцінити істинність того, що бутерброд завжди падає маслом вниз. Проводимо 100 випробувань із підкиданням бутерброда і підраховуємо кількість випробувань, коли він падав маслом вниз. Потім ділимо отримане число (наприклад, 63) на кількість всіх випробувань (100). Одержаний результат можна вводити у відповідь на запит системи (0.63).

Ймовірність істинності вислову може бути одержана з певних таблиць, за результатами статистичних досліджень, обчислена математично. Зрештою, користувач може просто робити припущення про її значення (хоча у цьому випадку більше виправданим буде використання коефіцієнта впевненості).

Після натискання клавіші <Enter> (або кнопки «Введення» праворуч від вікна введення відповіді) оброблений вислів міститься в список, розташований вище області запиту, і виділяється сірим кольором. Користувач може виділити будь-які вислови в цьому списку й скасувати їх обробку, натиснувши кнопку «Скасувати обрані відповіді» (пункт меню «Консультація | Скасувати обрані відповіді» або «гаряча» клавіша <Ctrl + Z>). Одержуючи від користувача відповіді, система коректує ймовірності можливих наслідків консультації, що відображаються в лівій частині верхньої половини вікна. Консультацію можна припинити в будь-який момент часу, натиснувши кнопку «Скидання результатів»

(на яку заміняється кнопка «Почати консультацію») або вибравши відповідний пункт меню «Консультація» («гаряча» клавіша <F3>).