Лабораторная работа: Ознайомлення з експертними системами. Створення власної простої бази знань для вирішення задачі класифікації
Вислів № 0 (будь-який текст (не більше 1000 символів), що закінчується переносом рядка)
Вислів № 1
Вислів № 2
...
Вислів № n (після останнього вислову міститься один порожній рядок, закінчуючи другу секцію)
Результат № 0,
Результат № 1,
Результат № 2,
...
Результат № m ,
Зміст перших двох секцій зрозумілий з наведеної схеми. Остання секція вимагає більше докладного розгляду: в ній перераховуються правила виведення, кожне з яких міститься в окремому рядку.
- На початку опису правила виведення задається кінцевий результат консультації (текст, що включає будь-які символи, крім ком).
- Після коми вказується апріорна ймовірність вказаного результату (), тобто ймовірність такого результату ще до початку відповідей на питання консультації, тобто у випадку відсутності додаткової інформації. (Примітка: значення вважається рівним нулю, а – рівним одиниці, тому не варто вказувтаи такі значення – результат з такою апріорною ймовірністю оброблятися не буде.)
- Далі через кому йде ряд повторюваних полів із трьох елементів: перший елемент () – номер відповідного питання (симптому, вислову, умови); наступні два елементи – це, відповідно, ймовірності одержання відповіді «Так» на це запитання, якщо вказаний на початку правила результат є вірний () чи невірний (). Такі трійки чисел вказуються для кожного запитання (вислову), пов'язаного з даним результатом. (Примітка: не варто вказувати та рівними одне одному, тому що це буде означати, що відповідь на дане запитання не вплине на результат).
Приклад:
Грип, 0.01, 1,0.9,0.01, 2,1,0.01, 3,0,0.01
В цьому правилі сказано: існує апріорна ймовірність того, що будь-яка випадково обрана людина хворіє на грип.
Припустимо, що ЕС ставить запитання 1 (або симптом 1). В цьому випадку вказані значення та означають, що якщо в пацієнта грип, то він у дев'яти випадках з десяти відповість «Так» на це питання, а якщо в нього немає грипу, він відповість «Так» лише в одному випадку зі ста (тобто даний симптом зустрічається досить рідко при інших хворобах (результатах)). Очевидно, що відповідь «Так» на це запитання підтверджує гіпотезу про те, що в нього грип, а відповідь «Ні» дозволяє припустити, що людина грипом не хворіє.
Для другого симптому маємо запис «2,1,0.01». У цьому випадку , тобто якщо в людини грип, то цей симптом обов'язково повинен бути присутнім. Відповідний симптом може мати місце і при відсутності грипу , але ця ймовірність складає 1%.
Третє запитання виключає грип при відповіді «Так», тому що . Це, наприклад, може бути питання типу: «чи спостерігається у Вас такий стан протягом більшої частини життя?».
З прикладу видно, що вказані значення ймовірностей є важливі для кінцевого результату, тому вони повинні бути добре продуманими або й грунтуватись на певних дослідженнях. Значення та , використані для виразу за теоремою Байеса, дозволяють обчислити апостеріорну ймовірність результату, тобто ймовірність, скоректовану відповідно до відповіді користувача на дане запитання:
.
Далі наведено декілька прикладів простих баз знань.
Побудова бази знань із чіткою логікою, що вирішує завдання класифікації
«Ти геймер?»
Автор: Олексій Бухнин.
Питання:
Ти граєш у комп'ютерні ігри по 6 і більше годин на добу?
Ти кидаєш всі справи заради нової гри?
Від 3D-action ігор у тебе крутиться голова?
Ти нізащо не потягнеш свій комп'ютер до друга для організації змагань по мережі?