Лабораторная работа: Ознайомлення з експертними системами. Створення власної простої бази знань для вирішення задачі класифікації
Ти не користуєшся «мишкою» в 3D-action іграх?
Геймер, 0.5, 1,1,0, 2,1,0, 3,0,1, 4,0,1, 5,1,0, 6,0,1
Не геймер, 0.5, 1,0,1, 2,0,1, 3,1,0, 4,1,0, 5,0,1, 6,1,0
У цій базі знань 6 запитань (згідно формату бази знань їх сім, але питання «Питання:» не згадується в жодному правилі) та всього два результати. Апріорні ймовірності обох результатів рівні 0.5, тобто гіпотези, що випадково обрана людина є або не є геймером, є рівноймовірні (при цьому сума апріорних імовірностей дорівнює 1, тобто в базі знань наведені всі можливі результати).
Можна помітити, що та для кожного запитання рівні 1 або 0. При цьому в другому правилі ці значення інвертуються відносно першого правила. Це приводить до того, що максимально впевнена відповідь («Точно так» або «Точно ні») на будь-яке запитання однозначно класифікує користувача як геймера або не геймера.
експертний база класифікація програма
Побудова бази знань із нечіткою логікою, що вирішує завдання класифікації
Отже, завдання класифікації вирішується дуже просто у випадку двох можливих результатів. Проте якщо можливих результатів є більше, то значно простішим вирішенням є присвоєння для кожного запитання. Це означає, що якщо гіпотеза про настання даного результату невірна, то відповідь на дане запитання не визнача. Звичайно, цей спрощений метод дає менш точні результати, але заощаджує час при створенні бази знань. Порівняйте результати застосування попередньої бази знань із результатами використання зміненої бази, наведеної нижче. Можна помітити, що однозначні відповіді вже не приводять до абсолютно чітких результатів.
«Ти геймер?»
Автор: Олексій Бухнин.
Питання:
Ти граєш у комп'ютерні ігри по 6 і більше годин на добу?
Ти кидаєш всі справи заради нової гри?
Від 3D-action ігор у тебе крутиться голова?
Ти нізащо не потягнеш свій комп'ютер до друга для організації змагань по мережі?
Ти в основному витрачаєш гроші або на новий ігровий диск або на апгрейд комп'ютера?
Ти не користуєшся «мишкою» в 3D-action іграх?
Геймер, 0.5, 1,1,0.5, 2,1,0.5, 3,0,0.5, 4,0,0.5, 5,1,0.5, 6,0,0.5
Не геймер, 0.5, 1,0,0.5, 2,0,0.5, 3,1,0.5, 4,1,0.5, 5,0,0.5, 6,1,0.5
Коли не всі можливі результати наперед відомі експерту (наприклад, не можна перелічити всі хвороби, які можуть викликати нездужання в пацієнта), тоді базу знань варто створювати за іншим принципом. Апріорні ймовірності результатів знаходяться шляхом статистичних досліджень, а їх сума буде меншою за одиницю (невиконання цієї умови не приведе до однозначної помилки, просто результати стануть менш надійними). Значення та також беруться зі статистики (або вказуються приблизні значення, що здаються правдоподібними експертові), тому що обчислити їх неможливо. Крім того, при великій кількості запитань (висловів), не слід вказувати їх усі в кожному правилі. По-перше, це зайва робота, а по-друге, серед свідчень можуть виявитися такі, що зовсім не впливають на ймовірність даного результату. Наприклад, запитання про стать пацієнта важливий при оцінці ймовірності знаходження в нього хронічного бронхіту (або, тим більше, раку грудей), але неважливий у випадку застуди чи грипу.
Нижче приводиться приклад бази знань, реалізованої за цим принципом. Ще більш яскравим прикладом є медична база, що розповсюджується разом із програмою.
"Визначення домашнього вихованця за ознаками."
Автор: Олексій Бухнин.
Питання:
Морда витягнута?
Крила є?
На погладжування по спині відповідає задоволеним воркотанням?
Живе в акваріумі (або іншому резервуарі з водою)?
Є лапи?
При зустрічі з хазяїном крутить хвостом?