Методи інтелектуальних обчислень 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методи інтелектуальних обчислень



Засоби інтелектуальних обчислень використовують наступні основні методи:

  • нейронні мережі;
  • дерева рішень;
  • системи міркування на основі аналогічних випадків;
  • алгоритми визначення асоціацій і послідовностей;
  • нечітка логіка;
  • генетичні алгоритми;
  • еволюційне програмування;
  • візуалізація даних.

Іноді застосовується комбінація перерахованих методів.

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

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

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

Апаратні або програмні реалізації алгоритмів нейромереж називаються нейрокомп'ютером.

  • Нейрокомп'ютери дають стандартний спосіб рішення багатьох нестандартних задач. І неважливо, що спеціалізована машина краще вирішує один клас задач. Важливіше, що один нейрокомп'ютер вирішить і цю задачу, і другу, і третю і не треба щораз проектувати спеціалізовану ЕОМ, нейрокомп'ютер зробить все сам і майже не гірше.
  • Замість програмування навчання. Нейрокомп'ютер вчиться, потрібно лише формувати навчальні множини. Праця програміста заміняється новою працею вчителя. Краще це чи гірше? Ні те, ні інше. Програміст наказує машині всі деталі роботи, вчитель створює "навчальне середовище", до якого пристосовується нейрокомп'ютер. З'являються нові можливості для роботи.
  • Нейрокомп'ютери ефективні там, де потрібний аналог людської інтуїції, зокрема, для розпізнавання образів, читання рукописних текстів, підготовки аналітичних прогнозів, перекладу з однієї природної мови на іншу і т.п. Саме для таких задач звичайно важко скласти явний алгоритм.
  • Нейронні мережі дозволяють створити ефективне програмне та математичне забезпечення для комп'ютерів з високим ступенем розпаралелювання обробки.
  • Нейрокомп'ютери "демократичні", вони також дружні, як текстові процесори, тому з ними може працювати будь-який, навіть зовсім недосвідчений користувач.

Дерева рішень - це метод, придатний не тільки для рішення задач класифікації, але і для обчислень і тому досить широко застосовується в області фінансів і бізнесу, де частіше зустрічаються задачі чисельного прогнозу. В результаті застосування цього методу для навчальної вибірки даних створюється ієрархічна структура правил класифікації типу, "ЯКЩО... ТОДІ...", що має вид дерева. Для того щоб вирішити, до якого класу віднести деякий об'єкт або ситуацію, ми відповідаємо на питання, що стоять у вузлах цього дерева, починаючи з його кореня. Питання можуть мати вид "Значення параметра A більше Х? " або виду "Значення змінної В належить підмножині ознак С? ". Якщо відповідь позитивна, ми переходимо до правого вузла наступного рівня, якщо негативна - то до лівого вузла; потім знову відповідаємо на запитання, зв'язані з відповідним вузлом. Таким чином ми, зрештою, доходимо до одного з кінцевих вузлів - листів, де знаходиться вказівка, до якого класу треба віднести розглянутий об'єкт. Цей метод добрий тим, що таке представлення правил наочно і його легко зрозуміти.

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

У той же час не можна сказати, що дерева рішень завжди діють безвідмовно: для визначених типів даних вони можуть виявитися неприйнятними. Для дерев рішень дуже гостро постає проблема значимості. Справа в тому, що окремим вузлам на кожному новому побудованому рівні дерева відповідає все менше і менше число записів даних - дерево може сегментувати дані на велику кількість окремих випадків. Чим більше цих окремих випадків, чим менше навчальних прикладів попадає в кожен такий окремий випадок, тим менш надійної стає їх класифікація. Якщо побудоване дерево занадто "рунисте" - складається з невиправдано великого числа дрібних гілочок - воно не буде давати статистично обґрунтованих відповідей. Як показує практика, у більшості систем, що використовують дерева рішень, ця проблема не знаходить задовільного рішення.

Системи міркування на основі аналогічних випадків. Ідея алгоритму вкрай проста. Для того щоб зробити прогноз на майбутнє або вибрати правильне рішення, ці системи знаходять у минулому близькі аналоги наявної ситуації і вибирають ту ж відповідь, що була для них правильною. Тому цей метод ще називають методом "найближчого сусіда". Системи міркування на основі аналогічних випадків показують добрі результати в найрізноманітніших задачах. Головний їх мінус полягає в тому, що вони взагалі не створюють яких-небудь моделей або правил, що узагальнюють попередній досвід, - у виборі рішення вони ґрунтуються на всьому масиві доступних історичних даних, тому неможливо сказати, на основі яких конкретно факторів ці системи будують свої відповіді.

Алгоритми виявлення асоціацій знаходять правила про окремі предмети, що з'являються разом в одній економічній операції, наприклад в одній покупці. Послідовність - це теж асоціація, але залежна від часу.

Асоціація записується як А->Б, де А називається лівою частиною або передумовою, Б - правою частиною або наслідком.

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

Для визначення важливості кожного отриманого асоціативного правила необхідно одержати величину, що зветься "довірчість А до Б" (взаємозв'язок А і Б). Ця величина показує як часто з появою А з'являється Б и розраховується як відношення частоти появи (поширеності) А і Б разом до поширеності А. Тобто якщо довірчість А до Б дорівнює 20%, то це означає, що при покупці товару А в кожному п'ятому випадку придбають і товар Б.

Необхідно відзначити, що якщо поширеність А не дорівнює поширеності Б, то і довірчість А до Б не дорівнює довірчості Б к А. Справді, покупка комп'ютера частіше веде до покупки дискет, ніж покупка дискети до покупки комп'ютера.

Ще однією важливою характеристикою асоціації є потужність асоціації. Чим більше потужність, тим сильніше вплив, який поява А робить на появу Б. Потужність розраховується по формулі: (довірчість А до Б) / (поширеність Б).

Деякі алгоритми пошуку асоціацій спочатку сортують дані і тільки після цього визначають взаємозв'язок і поширеність. Єдиним розходженням таких алгоритмів є швидкість або ефективність знаходження асоціацій. Це важливо через величезну кількість комбінацій, які необхідно перебрати для знаходження найбільш значимих правил. Алгоритми пошуку асоціацій можуть створювати свої бази даних поширеності, довірчості і потужності, до яких можна звертатися при запиті. Наприклад: "Знайти всі асоціації, в яких для товару Х довірчість більш 50% і поширеність не менш 2,5%"

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

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

Нечітка логіка застосовується для таких наборів даних, де належність даних до якої-небудь групи є імовірністю в інтервалі від 0 до 1. Чітка логіка маніпулює результатами, що можуть бути або істиною, або не істиною. Нечітка логіка застосовується в тих випадках, коли необхідно маніпулювати ступенем "може бути" у доповненні до "так" або "ні".
Областю впровадження алгоритмів нечіткої логіки є всілякі аналітичні системи, у тому числі:

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

У Японії цей напрямок переживає дійсний бум. Тут функціонує спеціально створена лабораторія Laboratory for International Fuzzy Engineering Research (LIFE). Програмою цієї організації є створення більш близьких людині обчислювальних пристроїв. LIFE поєднує 48 компаній у числі яких знаходяться: Hitachi, Mitsubishi, NEC, Sharp, Sony, Honda, Mazda, Toyota. З закордонних (не Японських) учасників LIFE можна виділити: IBM, Fuji Xerox, до діяльності LIFE також виявляє інтерес NASA.

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

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

Недоліками нечітких систем є:

  • відсутність стандартної методики конструювання нечітких систем;
  • неможливість математичного аналізу нечітких систем існуючими методами;

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

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

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

Пошук залежності цільових змінних від інших проводиться у формі функцій якогось визначеного виду. Наприклад, в одному з найбільш вдалих алгоритмів цього типу - методі групового урахування аргументів (МГУА) залежність шукають у формі поліномів. Причому складні поліноми заміняються декількома більш простими, враховуючі тільки деякі ознаки (групи аргументів). Звичайно використовуються попарні об'єднання ознак. Цей метод не має істотних переваг у порівнянні з нейронними мережами з їх готовим набором стандартних нелінійних функцій, але, отримані формули залежності, у принципі, піддаються аналізу й інтерпретації (хоча на практиці все-таки буває занадто складна для цього).

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



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 246; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.239.77 (0.02 с.)