Конспект лекцій з ШІ та ММН 2024: Програмування
Document Details
Uploaded by EndorsedOak
Національний університет «Одеська політехніка»
2024
В. М. Рувінська
Tags
Summary
Цей конспект лекцій з дисципліни "Штучний інтелект та методи машинного навчання" для студентів спеціальності "Інженерія програмного забезпечення" у 2024 році. Конспект охоплює регресію, класифікацію, схожість та кластеризацію, рекомендаційні системи, нейронні мережі та глибинне навчання для машинного зору. Конспект містить докладний опис усіх питань, розглянутих під час вивчення дисципліни.
Full Transcript
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ОДЕСЬКА ПОЛІТЕХНІКА» В.М. РУВІНСЬКА КОНСПЕКТ ЛЕКЦІЙ з дисципліни ШТУЧНИЙ ІНТПЕЛЕКТ ТА МЕТОДИ МАШИННОГО НАВЧАННЯ для студентів спеціальності 12 – Інженерія пр...
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ОДЕСЬКА ПОЛІТЕХНІКА» В.М. РУВІНСЬКА КОНСПЕКТ ЛЕКЦІЙ з дисципліни ШТУЧНИЙ ІНТПЕЛЕКТ ТА МЕТОДИ МАШИННОГО НАВЧАННЯ для студентів спеціальності 12 – Інженерія програмного забезпечення Одеса НУОП 2024 МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ОДЕСЬКА ПОЛІТЕХНІКА» В.М. РУВІНСЬКА КОНСПЕКТ ЛЕКЦІЙ з дисципліни ШТУЧНИЙ ІНТПЕЛЕКТ ТА МЕТОДИ МАШИННОГО НАВЧАННЯ для студентів спеціальності 12 – Інженерія програмного забезпечення, Затверджено на засіданні кафедри системного програмного забезпечення Протокол № 1 від 29.08.2023 Одеса НУОП 2024 Конспект лекцій з дисципліни «Штучний інтелект та методи машинного навчання» для студентів спеціальності 121 – Інженерія програмного забезпечення / Укл. В. М. Рувінська, – Одеса: НУОП, 2024. - с.100 Конспект містить докладний опис усіх питань, розглянутих під час вивчення дисципліни. Обсяг лекційного курсу складає 30 год. Вивчаються такі основні розділи: регресія, класифікація, схожість та кластеризація, рекомендаційні системи, нейроні мережі та глибинне навчання для машинного зору. Рецензенти: О.Б. Кунгурцев, к.т.н. проф. Н.О. Комлева, к.т.н. доц. 3 Семестровий модуль 1 Змістовий модуль 1. Вступ Лекція 1. Історія розвитку штучного інтелекту. Інтелектуальні системи.Завдання, які вирішуються в дисципліні ШІ та ММН Розглядаються такі питання: що таке штучний інтелект, цілі і завдання, області штучного інтелекту, сучасні дослідження; наука про дані (Data Science) та машинне навчанняData Science) та машинне навчання; інтелектуальні системи; завдання, які вирішуються в дисципліні ШІ та ММН; методи та алгоритми у галузі машинного навчання. Термін ”Штучний інтелект” придумав Джон Маккарті в 1956 р. для опису нової галузі досліджень, і його вважають батьком цього наукового напрямку. Основною метою було розгляд питання про те, чи можна моделювати міркування, інтелект та творчі процеси за допомогою обчислювальних машин. Розробив мову програмування Lisp, орієнтовану на символьні обчислення, що підходить для вирішення завдань, пов'язаних з рекурсією та маніпулюванням складними структурами даних, а також першу інтелектуальну систему Advice Taker і показав, що машини можуть демонструвати розумну поведінку, не просто виконуючи запрограмовані інструкції, а навчаючись та адаптуючись до нової інформації. Дисципліна, що ми починаємо вивчати, називається Штучний інтелект та методи машинного навчанням. Чому вона так називається? Ще 25 років тому такого роду дисципліна називалася б ШІ та ЕС (Data Science) та машинне навчанняекспертні системи). Ще 40 років тому вона б називалася ШІ та пошук рішень (Data Science) та машинне навчанняпошук в глибину, в ширину, еврістичний пошук і тому подібне). Це – віхи розвитку ШІ. Ось зараз Штучний інтелект асоціюється з машинним навчанням, тому й назва ШІ та ММН. Штучний інтелект Штучний (ARTIFICIAL)ARTIFICIAL)) Просте визначення штучного полягає в наступному: штучними називаються об'єкти, які зроблені людьми, а не природним шляхом (Data Science) та машинне навчанняяк, наприклад, рослини, тварини, люди). Інтелект (ARTIFICIAL)INTEL)L)IGENCE) Просте визначення інтелекту – якість психіки, включає набір навичок: - вирішувати проблеми, долати труднощі, з якими доводиться стикатися; - створювати ефективні продукти; - виявляти нові проблеми та у зв'язку з цим набувати нових знань. Штучний інтелект (ARTIFICIAL)ШІ, ARTIFICIAL) INTEL)L)IGENCE) – це галузь науки і технологія створення інтелектуальних машин, особливо інтелектуальних програм, здатних виконувати творчі функції, які традиційно вважаються прерогативою людини. Цілі ШІ: - допомагає машинам знаходити вирішення складних проблем за аналогією з тим, як це роблять люди; - запозичує характеристики у людського інтелекту та застосовує їх як алгоритми для комп'ютера. ШІ в основному пов'язують: 1) З робототехнікою. ШІ в області робототехніки – у цій галузі необхідно створити робота, який веде себе як людина, і потрібно, щоб він робив це так, як це роблять люди (Data Science) та машинне навчаннятими самими способами). 4 2) З інтелектуальними програмами. ШІ - це не тільки роботи, це і вбудовані інтелектуальні складові програмного забезпечення, які вміють виконувати нетрадиційні функції в різних галузях. Завдання та області ШІ: Text analytics and NLP (Data Science) та машинне навчанняNatural Language Processing); Speech recognition; Natural language generation (Data Science) та машинне навчанняNLG); Virtual/augmented reality; AI- optimized hardware; Decision management; Deep learning platforms; Robotic process automation - роботи та гуманоїди; Visual recognition; інтелектуальні агенти, які можуть виконувати завдання, делеговані людиною чи програмою; творча діяльність, така як створення нових зображень, віршів, музикальних композицій, тощо. Сучасні нові проривні дослідження в області Штучного Інтелекту 1) Революція в області комп’ютерного зору на базі глибинних згорткових нейронних мереж (Data Science) та машинне навчанняdeep convolutional networks), починаючи з 2012 р. Такі мережі, на відміну від попередніх типів, можуть автоматично виявляти ознаки на зображеннях. І, таким чином, не потрібне їхнє ручне або автоматизоване виявлення, що, з одного боку, звільняє людину від цієї роботи, а з іншого, значно збільшує точність при вирішенні завдань класифікації об'єктів та їх детектуванні, а також інших завдань комп'ютерного зору, зокрема, генерації зображень. 2) Революція в галузі обробки природної мови на базі глибинних нейронних мереж, що мають назву Трансформери, та мовних моделях LLM, починаючи з 2017 року. Трансформери спрямовані на обробку дальнодіючих залежностей в текстах. Задача LLM полягає у визначенні умовних ймовірностей появи символів, слів чи n-грам (Data Science) та машинне навчанняпослідовності n елементів), враховуючи попередні елементи послідовності, тобто в результаті робити передбачення наступного слова з урахуванням контексту (Data Science) та машинне навчанняпопередніх слів). Поєднання Трансформерів та LLM дозволяє ефективно вирішувати такі задачі, як аналіз мови, а саме, класифікація, пошук, витяг ознак, а, головне, і синтез, а саме, генерація діалогових реплік, кодогенерація, формування звітів і тому подібне, що означає розуміння природної мови та здатність її генерувати. Яскравим представником цього класу моделей є GPT (Data Science) та машинне навчанняGenerative Pre-trained Transformer) компанії OpenAI. На його основі розроблено програми, зокрема, Copilot X, що підказує, як виконувати ті чи інші завдання під час написання програмного коду. Вже в середу розробки програм VSCode добавили CodeGPT як помічника з функціями ChatGPT. 3) Мозковий інтелект (ARTIFICIAL)Brain intelligence (ARTIFICIAL)BI)) Зробили висновок, що обмеження сучасних технологій штучного інтелекту полягають у наступному: (Data Science) та машинне навчання1) Frame Problem Роз'єднаність Це означає, що зараз кожну проблему вирішують саму по собі, але не в сукупності з іншими. Тому актуальною є дослідження, пов'язані з одночасним навчанням кільком завданням та передачі результатів між завданнями. Чому намагаються поєднати кілька областей? Тому що в ШІ є проблеми, які не можна вирішити тільки силами класичного т.зв. narrow ШІ. Те, що зараз вміють робити методи ШІ, є лише частиною інтелектуальної роботи та не виконують усіх функцій людського мозку. Зокрема, класичний ШІ не здатний реалізувати саморозуміння, самоконтроль, самосвідомість та самомотивацію. У BI намагаються поєднувати три напрями: ШІ + штучне життя + функції пам'яті. Штучне життя має справу з популяцій організмів, що існують лише у вигляді комп'ютерних моделей у штучних умовах. Метою є вивчення еволюції в реальному світі і можливості впливу на її перебіг, наприклад, з метою усунути деякі спадкові обмеження. (Data Science) та машинне навчання2) Mental and Physical Problem Ментальне та фізичне Який зв'язок між розумом та тілом? Тобто, якщо розум зазвичай вважається нематеріальним, як воно може вплинути на фізичне тіло? Чи можливий такий вплив чи ні, поки не з'ясовано. 5 Одним із проектів, що вирішують такого роду завдання, є Blue Brain – це один із найграндіозніших проектів сучасності. Мета технології Blue Brain - завантажити всю інформацію, яка існує в мозку, в комп'ютер. IBM провела дослідження в цій галузі та розробила віртуальний мозок. Він може думати, як природний мозок, приймати рішення, що базуються на минулому досвіді, і реагувати так, як може природний мозок. Це можна зробити за допомогою суперкомп'ютерів з величезним обсягом пам'яті, обчислювальної потужністю та інтерфейсом між людським мозком і цим штучним. Через цей інтерфейс дані, що зберігаються в природному мозку, можуть бути завантажені в комп'ютер. Таким чином, мозок і знання, інтелект будь-якої людини можуть бути збережені назавжди і завжди використані, навіть після смерті людини. Blue Brain – це спроба створити синтетичний мозок за допомогою reverse інжинірингу. Віртуальний мозок: - потужний ШІ - мозок залишається жити після смерті тіла. 3) Artificial General Intelligence (ARTIFICIAL)AGI, загальний, або «сильний ШІ»): відповідає повному спектру продуктивності людини в будь-якому завданні. ШІ, який вміє вирішувати складні завдання, наприклад, грати в шахи, розпізнавати об'єкти, тощо, тобто може тільки мислити, називають «слабким» ШІ на відміну від AGI, який має не тільки мислити. Коли дитина росте, ми її виховуємо та не тільки навчаємо мислити, але й відчувати, мріяти, працювати, кохати і тому подібне. З'явився термін Parenting (Data Science) та машинне навчаннявиховання), розглядаються різні теорії виховання дітей та як їх можна використовувати для штучних об'єктів; також розглядається емоційний розвиток людини, духовний, зокрема, пов'язаний із релігіями. 4) Штучний суперінтелект (ARTIFICIAL)ASI): машинний інтелект, який перевищує людський; на відміну від AGI, який працює як людина для всіх задач. 5) Пояснювальний штучний інтелект (ARTIFICIAL)Explainable artificial intelligence) - це набір процесів і методів, які дозволяють користувачам розуміти та довіряти результатам, створеним алгоритмами машинного навчання. Деякі моделі можна пояснити без додаткової обробки. Це, як правило, прості моделі. У лінійних регресіоних моделях коефіцієнти вказують на важливість і напрямок впливу пераметрів на функції. Дерева рішень забезпечують чіткий набір правил і порогових значень для прийняття рішень, що робить їх інтерпретованими за своєю суттю. Коли штучний інтелект асоціювався з обробкою знань, тоді пояснення робили при одержанні результатів на основі знань на основі використаних їх фрагментів. Сучасні моделі машинного навчання, особливо такі складні, як глибокі нейронні мережі, часто розглядаються як «чорні ящики», оскільки їх внутрішню роботу важко інтерпретувати. І для них придумали методи для т.зв. Model- Agnostic Explainability, які можна застосувати до будь-якої моделі. Виділяють 3 стадії пояснень: до моделювання (Data Science) та машинне навчанняце всілякі пояснення датасету); під час моделювання, в яких пояснення є частиною внутрішньої роботи моделей; пояснення результату прогнозування. І вже існують фреймворки, що допомагють в цій роботі. Фундаментальні питання, пов’язані з AI (гуманітарні)гуманітарні) 1. Can we build one? Чи зможемо його побудувати? Відповідь: якщо не вимремо першими. 6 2. If so, when? Якщо да, то коли? Відповідь: до того, як людство перестане існувати. 3. Will it be safe? Чи буде він безпечний? Відповідь: це залежить від того, чи зможемо його зробити безпечним. Три закони робототехніки фантаста Айзека Азімова (Data Science) та машинне навчанняXX сторіччя): 1-ий закон категорично забороняє робити шкоду людям; 2-ий - наказує роботу підкорятися людям до того часу, поки це не стане суперечити 1-ому закону; і 3-ий закон наказує роботу захищати своє життя, не порушуючи перших двох законів. Виникають і інші глобальні питання, у тому числі, і етичні: - Що буде собою уявляти AI, у якій формі він буде? Наприклад, коли створимо його, ми розробимо один, два чи багато? Перший AI може зробити кроки, щоб не допустити створення конкурента!? - Як буде проходити взаємодія AI і людини? Можемо використовувати AGI, щоб доповнювати нас, а не конкурувати з ним, це називають посиленням інтелекту. Люди не можуть дозволити машинам стати набагато розумнішими за них, і єдиний спосіб уникнути цього — злитися з ними (Data Science) та машинне навчанняхоча б частково). Найкращі шахісти сьогодні – це не люди і не комп'ютери, а комбінація того й іншого, яких Гарі Каспаров назвав «кентаврами». - Чи маємо ми право ризикувати, створюючи AI? Трансгуманісти вважають, що ми маємо повне право покращувати наше фізичне та психічне «я», використовуючи будь-які технології, які ми можемо створити – можливо, навіть ми маємо моральний обов'язок зробити це. Розум приносить просвітлення, а просвітління приносить доброзичливість. Людська історія сприймається як неминучий рух до ще більшої освіти і свободи. У зв’язку з проривом в області інтелектуальних систем сьогодні питання етики ШІ широко обговорюються, и результатом стали нові гуманітарні наукові тематики, а також нові дисципліни, що вже вивчають в західних ВНЗ. Вже навіть з’явились міжнародні закони, пов’язанні з розробкою та використанням такого роду технологій. Наука про дані (гуманітарні)Data Science), історія розвитку Як відомо, Машинне навчання сьогодні – це в певному сенсі частина Data Science. Як розвивалася наука про дані? Весь історичний шлях розвитку Data Science мав на меті змусити комп'ютер все більше й більше РОЗУМІТИ дані, з якими він працює. Колись багато років тому, коли ще не було БД, але дані все ж таки довгостроково зберігалися у зовнішній пам'яті комп'ютера, а саме у ФАЙЛАХ (Data Science) та машинне навчаннязараз це теж використовується, але обмежено), комп'ютер їх не розумів, їх розумів лише програміст, який із ними працював. Потім дані розділили, і кожній частині дали НАЗВИ - таким чином з'явилися БД, і тепер ці дані почав розуміти не тільки програміст, але і СУБД - це імена таблиць, атрибутів, зв’язків. І до цих даних можуть звертатися також сторонні програми. 7 Паралельно розвивалися в Штучному інтелекті методи пошуку рішень, зокрема, для автоматичного доказу теорем, пошуку оптимальних стратегій в іграх і т.п., т.зв. символьні обчислення. Тоді ж зародився і напрямок конекціонізму, пов’язаний з відтворенням роботи мозку, з’явились персептрони (Data Science) та машинне навчанняперші нейронні мережі). Цей час називають першою весною ШІ (Data Science) та машинне навчання1956-1975 рр). Далі хотілося, щоб комп'ютер ще більше розумів дані, а не тільки знав імена. З'явився аналіз даних, зокрема, статистичний: намагалися з даних автоматично будувати ФУНКЦІЇ, які певною мірою могли описувати дані. І це вже було схоже на машинне навчання. Але ці спроби тоді не мали великого практичного застосування з різних причин (Data Science) та машинне навчаннямало ще було даних, комп'ютери повільні, методи недостатньо розвинені), було розчарування при використанні нейроних мереж. Але була ще одна причина: не було багато в чому зрозуміло, а що ми хочемо і можемо отримати в результаті аналізу (Data Science) та машинне навчанняне як отримувати, а ЩО ОТРИМАТИ?). Настала перша зима ШІ:1974-1980 рр. І подальший розвиток пішов в сторону символьних обчислень. Інтуїтивно було зрозуміло, що комп'ютер повинен оперувати не лише даними, а й ЗНАННЯМИ; ось тоді почала бурхливо розвиватися інженерія знань і експертні системи. Це вже друга весна ШІ (Data Science) та машинне навчання1980-1987 рр). Багато представників молодого покоління не повірять, але в ті роки штучний інтелект (Data Science) та машинне навчанняосновна його галузь) асоціювалася зі знаннями - які знання бувають, як їх представляти в комп'ютері, як їх обробляти при вирішенні завдань. Відмінність знань від даних: - дані – це факти, наприклад, температура повітря в Одесі 14.02.24 о 14.00 дорівнювала -7 градусів; знання - це закономірності, наприклад, температура повітря в Одесі в лютому коливається від -10 до +10 градусів; - знання більш структуровані, є зв'язки між елементами знань; - знання самоінтерпретовані, у них самих міститься інформація про їх використання; - знання активні - їх поява або недолік супроводжується діями. З'явилися різні моделі представлення знань: - правила Якщо-то; - логічні висловлювання, предикати (Data Science) та машинне навчаннячіткі та нечіткі); - семантичні мережі (Data Science) та машинне навчанняграф: вершини – поняття, ребра – зв'язки різних типів); - фрейми та мережі фреймів (Data Science) та машинне навчаннядля опису понять, об'єктів та їх властивостей з використанням успадкування) – з них виросло об'єктно-орієнтоване програмування. Знання використовують для отримання відповіді на питання, побудови логічного виводу на знаннях, формування нових знань. Створювалися бази знань (Data Science) та машинне навчанняБЗ) та машини виведення на знаннях, причому, для кожної моделі уявлення знань будувалися свої універсальні машини виводу. 8 Системи зі знаннями використовують розвинений математичний апарат, зокрема темпоральні (Data Science) та машинне навчаннячасові), просторові та мультисортні логіки і, таким чином, вміють проводити обгрунтувальні міркування з огляду на часові та просторові залежності. Було отримано багато теоретичних результатів, практичне застосування також було. Головний результат - стало зрозуміло, ЩО комп'ютер повинен розуміти про дані. Але експертні системи не отримали великого практичного застосування: малі експертні системи, як правило, були неефективними, а великі було дорого створювати, тестувати й оновлювати, а також вони також були досить «крихкими», оскільки мали тенденцію виходити з ладу від незвичайних вхідних даних. Настала друга зима ШІ:1987-1993 рр. Далі комп’ютери становились більш потужними і тепер змогли вирішувати практичні задачі ШІ більш ефективно. Знову повернувся інтерес до нейронних мереж і генетичних алгоритмів, і були отримані значні практичні результати: від ігор (Data Science) та машинне навчанняDeep Blue перемогла чемпіона світу Гаррі Каспарова) до використання у логістиці, космічних кораблях і супутниках, у моніторингу, робототехніці, управлінні трафіком, медичній діагностиці, розпізнаванні мовлення, автономних транспортних засобах та пошукових системах Google, і це лише деякі з них. Почалась третя стійка весна ШІ, пов’язана з МН - машинним навчанням (Data Science) та машинне навчання1993-2011 рр -...). Інженерія знань та машинне навчання (Data Science) та машинне навчанняМН) мають свої переваги та недоліки. Інженерія знань МН Знання потрібно вводити вручну (Data Science) та машинне навчанняце складно) Моделі утворюються з даних автоматично Необхідно для критичних застосувань Моделі начастіше незрозумілі (Data Science) та машинне навчання«чорний» (Data Science) та машинне навчаннянаприклад, для атомних електростанцій) ящик) Ще нещодавно (Data Science) та машинне навчаннянавіть років 15 тому) машинне навчання дуже відрізнялося від сьогоднішнього бачення (Data Science) та машинне навчанняпринаймні, бачення ззовні науки). Брали якісь набори даних, «годували» ці дані деякому чарівному алгоритму, в результаті обчислень будували криві та намагалися зробити так, щоб ці криві були кращими, ніж у інших. І в результаті писали статтю для конференції з машинного навчання. Це такий перебільшений погляд, але якоюсь мірою так і було – наука розвивалася, цим займалися вчені, але практичного використання було мало. І ось в даний час (Data Science) та машинне навчання2000-ті) роки ШІ асоціюють вже знову з аналізом даних, з машинним навчанням, причому вже на якісно новому рівні - по-перше, з'явилося багато даних, що важливо (Data Science) та машинне навчанняBig Data), по- друге, - високопродуктивні обчислення (Data Science) та машинне навчанняще в 90-ті роки нейронні мережі навчалися тижнями), в третіх, були створені потужні методи аналізу даних, стало зрозуміло, що ми хочемо отримувати, тобто які знання, як представляти і обробляти, в четвертих, це стало широко застосовуватися, і успішно стали вирішуватися багато завдань. Зараз Data Science і машинне навчання - у тренді, почалась революція ШІ, Big Data, Deep L)earning (Data Science) та машинне навчання2012-2017-...) у всьому світі бурхливо розвивається, стався "вибух" - машинне навчання почало успішно застосовуватися на практиці. 9 Визначення Data Science - робота з даними (Data Science) та машинне навчаннязазвичай великого обсягу) з метою одержання значущих закономірностей (Data Science) та машинне навчанняпатернів), включає Data Mining (Data Science) та машинне навчанняText Mining, Visual Mining), Data Analysis та візуалізацію результатів, а також генерацію нових даних. Data Science використовує: математику, статистику, ІТ, програмування, розпізнавання патернів (Data Science) та машинне навчанняобразів), навчання, візуалізацію, високопродуктивні обчислення. Мета – виявлення властивостей та прихованих структур у складних об'єктах. Така робота вимагає терпіння, динамічного та гнучкого способу мислення. Процеси в Data Science: отримання даних, акумуляція різних даних, моделювання для виявлення закономірностей, візуалізація результатів, використання моделей для прогнозів у майбутньому, створення інтелектуальних бізнес-застосунків. Машинне навчання (ARTIFICIAL)МН) – клас методів ШІ, у яких застосовується не пряме розв'язання задачі (Data Science) та машинне навчаннянаприклад, за формулами чи алгоритмами для конкретних завдань), а навчання у процесі розв'язання складних задач. У широкому сенсі розглядають три типи МН: - навчання за прецедентами, або індуктивне навчання, засноване на виявленні емпіричних залежностей у даних; - дедуктивне навчання – формалізація знань експертів та перенесення їх у комп'ютер у вигляді БЗ; - змішане навчання – засноване на отриманні знань, як із даних, так і від експертів. Основні наукові школи в ШІ (Data Science) та машинне навчання1) Символісти (Data Science) та машинне навчанняSymbolists) - спроба описувати штучний інтелект як набір знань, т.зв. баз знань (Data Science) та машинне навчанняБЗ), робити логічні виводи на знаннях для вирішення різноманітних задач, а також виводити нові знання із існуючих. (Data Science) та машинне навчання2) Еволюціоністи (Data Science) та машинне навчанняEvolutionists) — вважають, що все навколо нас це результат мільйонів років еволюції; вони починають із групи можливих рішень проблем та створюють друге «покоління», вносячи невеликі випадкові зміни та видаляючи найменш ефективні рішення (Data Science) та машинне навчаннягенетичні алгоритми). (Data Science) та машинне навчання3) Байєсіанці (Data Science) та машинне навчанняBayesians) - висувають гіпотези про невизначені ситуації та оновлюють ступінь віри в кожну гіпотезу на основі нових аргументів відповідно до математичних правил із статистики та теорії імовірностей, зокрема, теореми Байєса. (Data Science) та машинне навчання4) Аналогізатори (Data Science) та машинне навчанняAnalogisers) - натхнені людською психологією і прагнуть діяти на основі аналогії, тобто зіставляти нові випадки з найбільш схожими такими ситуаціями, які зустрічалися в минулому. Аналогізатори вважають, що нове явище, ймовірно, буде діяти так само, як і раніше спостережене явище, яке найбільше на нього схоже (Data Science) та машинне навчаннярозроблені такі методи ШІ, як наприклад, kNN та SVM). (Data Science) та машинне навчання5) Конекціоністи (Data Science) та машинне навчанняConnectionists) - намагаються реконструювати мозок шляхом розробки штучних нейронних мереж. Коннекціонізм зараз має назву “глибоке навчання”, і це тепер найуспішніша форма машинного навчання. Інтелектуальні системи Приклади інтелектуальних програм Програми на основі машинного навчання складають більшу частину сучасних інтелектуальних застосунків, які вміють розмірковувати, зокрема, робити виводи. Далі представлені успішні компанії США та Європи, компанії, які прийшли на ринок та повністю його змінили. Часто їх конкурентною перевагою є інтелектуальні застосунки, що використовують машинне навчання як основу. Свого часу Amazon захопив споживчий ринок (Data Science) та машинне навчанняAmazon Retail - роздрібна торгівля), додавши рекомендації товарів на свій сайт (Data Science) та машинне навчанняна базі МН). Netflix, компанія, яка починала з прокату DVD і змінила те, як ми дивимося фільми зараз. Ми більш не ходимо до магазинів і не беремо фільми напрокат (Data Science) та машинне навчанняхтось може пам'ятає, 10 як це було). Ми заходимо в Інтернет та дивимося фільми онлайн. Netflix справді змінила це. І ядром їх системи стала система рекомендацій, яка дозволяє знаходити фільми, які можуть сподобатися користувачеві, з багатьох тисяч фільмів, які є в бібліотеці. З'явилися компанії, такі як Pandora, зі своєю рекомендаційною системою, де можна знаходити музику, яка сподобається. Причому таку, яка підходить для ранку, коли ми ще сонні, і для вечора, коли збираємося спати і хочемо чути зовсім іншу музику. І вони знаходять гарну музику для кожного. Такі системи використовуються у різних галузях. І Google змінив ринок реклами, націлюючи рекламу за допомогою машинного навчання, передбачаючи, на які оголошення люди клікнуть; а також будує і інші свої системи, зокрема пошукові, системи перекладу (Data Science) та машинне навчанняNLP – Natural Language Processing та роботи-перекладачі, що працюють у реальному часі) та інші на основі МН. Компанія OpenAI, ChatGPT - аналіз природної мови, і головне, генерація - це давня мрія вчених галузі ШІ, як тільки не намагались її вирішувати різними способами!? З'явилися компанія Uber, що повністю змінили ринок таксі, дозволивши людям легко знаходити вільні таксі за лічені секунди. Фірма Avvo займається порадами з юридичних питань – Legal Advice. Фірма fitbit – електроніка, яку можна носити, зокрема фітнес- трекери. Фірма Zillow – пошук нерухомості. Фірма Obama’08 – агітація. Мережа L)inkedin – об'єднання у мережу професіоналів та організацій, де ці фахівці можуть знадобитися. L)ivingsocial - маркетплейс, що представляє те, що є цікавого в місті і за його межами. RelateIQ – дозволяє налагоджувати зв'язки між фірмами та їх фахівцями. eHarmony - віртуальна служба знайомств. glassdoor – сайт для пошуку роботи, MIT – роботи для прибирання. У всіх цих прикладах машинне навчання стало однією з ключових технологій, технологією, яка зробила продукти та послуги компаній особливими. Інші застосування інтелектуальних систем, в основі яких лежить МН: - екологія (Data Science) та машинне навчанняпрогноз викидів забруднюючих речовин, аналіз умов, за яких буде їхня висока концентрація: прогноз поширення небезпечних комах, зокрема комарів та інше); - медицина (Data Science) та машинне навчаннябіонічні протези рук та ніг, діагностичний моніторинг та інше); - безпека систем та мереж, зокрема, аналіз вторгнень; - бізнес-аналітика; - Computer Vision (Data Science) та машинне навчаннярозпізнавання осіб, автомобілі без водіїв, інтелектуальні системи відеоспостереження та інше). Інформаційна технологія використання МН В даний час можна говорити про наступну узагальнену інформаційну технологію, яка використовує МН: на вхід методу МН надходять дані, і в результаті виходить інтелектуальна система. Завдання, які вирішуються в дисципліні ШІ та ММН В основу дисципліни покладено дистанційний курс під назвою «Machine Learning: Case Study Approach» від Вашингтонського університету. Крім того, до кожної теми додано теоретичні питання. У дисципліні розглядається кілька реальних завдань (Data Science) та машинне навчаннязастосунків у галузі Машинного навчання) і розповідається на лекціях, які методи і як для їх вирішення доцільно використовувати. І вони використовуються у лабораторних роботах, застосовуючи готові бібліотеки існуючих алгоритмів. Крім того, описуються й інші 11 найпоширеніші моделі та методи. Щоб розуміти основні методи МН, ми виконуватимемо розрахункові роботи на практичних заняттях, у яких вручну будемо застосовувати ці методи, виконуючи обчислення і отримуючи результати на конкретних даних. Розглянемо далі коротко розв'язувані завдання та використовувані методи. Тема Регресія. Завдання передбачення вартості будинку Завдання – визначити вартість будинку, що не знаходиться на ринку. Отже, ми не знаємо цієї вартості, і ми хочемо дізнатися це з даних. І які наші дані? У цьому випадку ми подивимося на інші будинки та подивимося на їхні ціни, (Data Science) та машинне навчаннят.зв. мітки) щоб визначити вартість будинку, який нас цікавить. Окрім цін, ми розглянемо й інші властивості: скільки спалень у будинках, ванних кімнат, площа, район тощо. Наш метод машинного навчання – це те, що зв'яже атрибути будинку із продажною ціною. Тому що, якщо ми зможемо побудувати цю модель, цей взаємозв'язок між властивостями будинку і ціною продажу, то ми зможемо використовувати її для прогнозування ціни нового будинку. Ми беремо його властивості (Data Science) та машинне навчанняознаки) дома та прогнозуємо його ціну. І цей метод називається регресією, і це навчання з вчителем, тому що є мітки. Тема Класифікація. Завдання аналізу тональності тексту (ARTIFICIAL)сентимент-аналіз) Ми розглядаємо відгуки відвідувачів ресторанів. Так, наприклад, у відгуку, говориться, що суші було приголомшливі, їжа була приголомшливою, але сервіс був жахливим. І ми повинні вміти класифікувати, чи це була позитивна тональність, чи, навпаки, негативна. І як ми це зробимо? Ну, ми подивимося на інші відгуки: у них є текст відгука і так звана мітка, що вказує, чи позитивний це відгук чи ні, і спробуємо знайти закономірності, зв'язки між текстами відгуків і мітками. Так, наприклад, у цьому випадку, можливо, ми могли б проаналізувати текст цього відгуку з точки зору того, скільки разів він використовує слово awesome, і скільки разів він використовує слово awful. Можливо, ми аналізуватимемо інші слова або якось представлятимемо текст інакше. Але поки що для простоти уявимо, що відбуватиметься класифікація за цими двома словами. Розташуємо на площині всі існуючі у нас позитивні відгуки у вигляді точки (Data Science) та машинне навчанняx- кількість awesome у відгуку, y – кількість awful у відгуку) і позначимо їх +. Негативні 12 відгуки аналогічно позначаємо у вигляді –. І далі знайдемо межу прійняття рішень (Data Science) та машинне навчанняв даному випадку у вигляді прямої). І це теж навчання з вчителем, тому що є мітки.Тепер зможемо для кожного нового відгуку дізнаватися, до якого класу він належить (Data Science) та машинне навчаннятональність позитивна - знизу прямої, або негативна — зверху, на прямій — не можна сказати, до якого класу надежить відгук). І тому цей метод називається класифікацією. Тема Подібність та кластеризація. Завдання пошуку релевантних документів Потрібно знайти або статтю, або книгу, або щось подібне, що цікавить читача. І дані, які у нас є, є величезною колекцією статей (Data Science) та машинне навчаннякорпус), і вони не розбиті за класами. Це навчання без вчителя, тому що немає міток. І є інформація про те, яку статтю читає читач. І що ми робитимемо в цьому випадку, ми спробуємо знайти структуру в цих даних корпусу на основі поділу їх на групи пов'язаних статей. Наприклад, можливо, є 4 групи статей: спорт, новини, розваги і наука. І ми знайдемо цю структуру та анотуємо наш корпус, нашу колекцію документів цими типами міток, які ми не знали заздалегідь, але змогли отримати. Потім ми можемо використовувати це для швидкого пошуку документів, тому що, якщо я читаю статтю про новини, то, можливо, я захочу прочитати й іншу статтю цього класу. І підхід – поділ об'єктів на класи – називається кластеризацією. Але як ми представлятимемо самі дані? Це важливе питання у будь-якій задачі МН. Як мені бачиться, є два важливих завдання в МН: 1) як представляти вхідні дані для МН 2) як навчати та проводити аналіз (Data Science) та машинне навчанняробити передбачення) на основі готової моделі. У задачі з регресією на вході були вектори чисел (Data Science) та машинне навчанняціна та властивості будинку), у задачі класифікації – кількість слів з різними відтінками. А тут як ми представлятимемо тексти статей? Одна з ідей – вектор із кількостями кожного слова. Однак найчастіше зустрічатимуться службові слова, зокрема, в англійській мові – артиклі, прийменники. Але ці слова не несуть смислового навантаження, і нам неважливі. Щоб знаходити важливі слова кожного класу використовують принципи: local frequency, global rarity (Data Science) та машинне навчаннялокально 13 часто у документах класу, глобально рідко в інших документах корпусу). Службові слова не підходять принципу global rarity. А слова, важливі для спортивних статей, наприклад, гол, рахунок часто зустрічаються у статтях про спорт і рідко в інших статтях корпусу, тобто є важливими. І тому ваги важливих слів у векторі кількостей слів збільшують, а неважливих зменшують. Тема Рекомендаційні системи. Завдання рекомендації товарів та послуг Розглядається завдання, яке повсюдно почало вирішуватись саме в останнє десятиліття – рекомендаційні системи, на основі минулих покупок користувача та інших даних рекомендувати інші продукти, в яких він може бути зацікавлений. Тому в цьому випадку з даних, які ми збираємося використовувати, треба зрозуміти, який зв'язок між ними і тим, що, ймовірно, купуватимете в майбутньому. Одним із найпросунутіших методів є колаборативна фільтрація, спільна фільтрація (Data Science) та машинне навчанняангл. collaborative filtering). Це один із методів побудови прогнозів (Data Science) та машинне навчаннярекомендацій) у рекомендаційних системах, що використовує відомі переваги (Data Science) та машинне навчанняоцінки) не тільки того користувача, для якого потрібно зробити рекомендацію, а цілої групи користувачів, тобто їх історій покупок. Тобто ми збираємося використати історії покупок інших користувачів. І, можливо, особливості цих користувачів, а також товарів. Крім того, у даних присутні властивості користувачів групи та властивості продуктів, які вони купували. І вже з урахуванням цієї інформації робляться рекомендації конкретного користувача. Скажімо, мами немовлят, які за сумісництвом ще й викладають, купують певні товари, і я як користувач – теж мама немовляти та викладач – щось купувала з цієї серії. Визначається із цієї інформації, що мені купувати далі. Глибинне навчання для класифікації зображень та обробки природної мови Користувач вводить зображення, наприклад, фотографію собаки. І завдання системи – визначити, що за об'єкт на зображенні, а також знайти та вивести схожі зображення. І тому використовується так зване глибинне навчання на основі згорткових нейронних мереж. Зовсім недавно у 2012 р. відбулася «революція» в машинному навчанні на основі глибинного навчання. Головна його відмінність та перевага – ознаки для навчання не задаються користувачем (Data Science) та машинне навчаннящо завжди дуже складно та часто неадекватно), а будуються автоматично за допомогою згорткових нейронних мереж. Але в останні роки для комп’ютерного зору використовують і нові типи глибинних мереж, зокрема, ViT, які не є згортковими, а побудованими за допомогою encoders (Data Science) та машинне навчанняаналогічно NLP). 14 Будемо також вирішувати декілька задач обробки природної мови на основі трансформерів, а саме, аналіз текстів: тональності, класифікація для изначення емоцій, вилучення іменованих сутностей, а також, синтез мови: автоматичний переклад, доповнення тексту, відповіді на запитання по контексту. Отже, ми розглянемо кілька прикладів та способи їх вирішення, а ви зможете за аналогією використовувати їх в інших областях. Як будуватиметься кожна тема? Ми будемо відповідати на запитання: - яке завдання ми вирішуватимемо, - які доцільно використати методи машинного навчання, - як оцінити результат. І далі по кожній темі ми будемо опановувати основні методи, також програмувати мовою Python, застосовувати ці методи – тобто проводити машинне навчання та застосовувати його результати для вирішення конкретного завдання. Ознаки, датасети, методи, використання в галузі машинного навчання (гуманітарні)МН) Ознаки - це незалежні змінні, що мають вплив на залежну змінну, і за допомогою машинного навчання треба виявити ці залежності. В загальному випадку ознаки для одного об’єкту можна представити як x = [x1 , x2 ,... xn]. Тут n-розмірна проблема, простір Rn, xi Rn, i=1,...,n. Для моделювання іноді подають т.зв. “сирі” ознаки, а саме, тексти на природній мові або зображення. Іноді заздалегідь визначають, які данні важливі, тобто. більшою мірою впливають на залежну змінну, наприклад, для визначення майбутнього олімпійського чемпіона треба знати, зокрема, про Family sport culture, General health, Enthusiasm, Discipline та інше. Нині навчилися так будувати деякі моделі, щоб із "сирих" ознак отримувались важливі ознаки автоматично під час глибинного навчання. Датасет - це набір об'єктів, представлених їх ознаками та мітками (Data Science) та машинне навчанняякщо вони є) Z={z1, z2,... , zN} Rn. Припустимо, що набір даних впорядковано так, що кожен рядок містить значення ознак для одного об’єкта. Кількість об’єктів у датасетах для таких задач як комп’ютерний зір, розпізнавання мови, пошук в Інтернеті тощо, де використовується глибинне навчання, порядку мільйонів, і навіть мільярдів - Big Data. Відомий датасет ImageNet (Data Science) та машинне навчання2012 р.) мав 14 млн зображень і 1000 класів, а сучасний ImageNet-21k - вже порядку 11 млрд зображень, 21000 класів. Але в такій області, як біоінформатика в датасетах небагато об’єктів, тому що мало людей хворіють на певну хворобу, але для кожного об’єкту багато ознак. Якщо вирішується т.зв. навчання з учителем, то для кожного об'єкта в датасеті є ще й значення залежної змінної або класу. Загальні методи та прийоми. Кросвалідація - спосіб перевірки моделі на якомога більшій кількості варіантів вхідних даних. Бустінг - це процедура послідовної побудови композиції алгоритмів машинного навчання, коли кожен наступний алгоритм прагне компенсувати недоліки композиції всіх попередніх алгоритмів; поняття бустінгу виникло в роботах з ймовірно майже коректного навчання у зв'язку з питанням: чи можливо, маючи багато поганих (Data Science) та машинне навчаннянезначно відмінних від випадкових) алгоритмів, отримати кращий. Регресія. Найпростіша – лінійна регресія за допомогою методу найменших квадратів, але існують і такі просунуті методи як ridge regression (Data Science) та машинне навчанняметод регуляризації Тихонова) та lasso (Data Science) та машинне навчанняleast absolute shrinkage and selection operator), що дозволяють гнучко налаштовуватись на вирішення конкретного завдання; методи оптимізації параметрів моделей за допомогою алгоритмів градієнтного та координатного спуску. Класифікація. Лінійні класифікатори (Data Science) та машинне навчанняпрості) та більш просунуті, такі як логістична регресія та метод опорних векторів (Data Science) та машинне навчанняsupport vector machines); далі – ядерні методи та дерева рішень, що дозволяють працювати з нелінійними залежностями в даних. Оптимізація - стохастичний градієнтний спуск та інші. Кластеризація та схожість - метод найближчих сусідів, більш просунуті: моделі гаусових сумішей (Data Science) та машинне навчанняmixture of Gaussians) і латентне розміщення Діріхле (Data Science) та машинне навчанняlatent Dirichlet 15 allocation) – для кластеризації при аналізі текстів. Алгоритми: k-means, Ієрархічна кластеризація та інші. Використання МН Зараз інтелектуальні системи з МН широко впроваджуються, і фірма Samsung навіть запровадила термін «Безперервнє МН» – це стійка до збоїв масштабована інфраструктура МН, що включає: автоматизацію процесу МН; безперервну інтеграцію та доставку, кажуть, continuous integration, continuous deliver, continuous deployment. Приклад інтелектуальної програми, в якій використовується глибинне навчання, це і аналіз тексту, і аналіз зображень. Історія така: молода людина хоче подарувати на день народження подарунок своїй сестрі, яка є дизайнером, тобто людиною із вимогливим смаком. І він хоче подарувати на день народження сукню, яка б їй сподобалася. Але йому це зробити складно, на допомогу приходить інтелектуальна система. Вводимо dress та натискаємо кнопку Search. З'являються картинки суконь. Їх багато, але як вказати системі той тип суконь, які любить моя сестра? Введемо текст floral (Data Science) та машинне навчанняквіткові). Тепер з'являються зображення тільки суконь у квіточку, але їх також багато. І всі вони різних стилів. Як треба пояснити системі, що є відповідним стилем для моєї сестри? Вибираю одну із суконь, що, думаю, пасує сестрі, і шукаю схожі на неї. Вже з'являється багато суконь того ж стилю, що я вибрав. Вибираю з них те, що, як на мене, найбільше підходить сестрі. І там є описи у текстовому вигляді. Вибираю із текстів: синє з блакитним зі вставкою, і із фотографій — вже одну. Питання для самоперевірки 1. Штучний інтелект: визначення 2. Історія розвитку штучного інтелекту. Нові напрямки 3. Завдання та області штучного інтелекту 4. Наука про дані (Data Science) та машинне навчанняData Science) 5. Що таке машинне навчання 6. Інтелектуальні системи та їх застосування 7. Інформаційна технологія, в основі якої машинне навчання, приклади використання такого роду інормаційної технології 8. Методи, алгоритми та концепції у галузі машинного навчання Методичні вказівки до лекції: [1, с. 10-16; 3, с. 11-26] Змістовий модуль 2. Регресія Лекція 2. Регресія. Постановка задачі. Проста лінійна модель, засоби побудови та оцінювання Розглядаються такі питання: Оцінка вартості будинку. Перші кроки Регресія. Постановка задачі Оцінка вартості будинку. Побудова простої лінійної регресії Рішення в аналітичному вигляді, метод найменших квадратів Оцінювання якості моделі Ітераційні методи вирішення задачі регресії У нашому курсі застосовується так званий Case Study Approach, тобто для кожної теми спочатку розглядаємо реальну практичну задачу, а потім моделі та матоди її вирішення. В цій темі Case - прогноз вартості нерухомості (Data Science) та машинне навчаннябудинку). I. Оцінка вартості будинку. Перші кроки 16 Зазначимо, що це завдання є актуальним - наприклад, у США близько 50% доходів сім'ї інвестується в нерухомості, тобто це важливо і для споживача, і для влади, політиків, які регулюють економіку. Отже, я хочу продати свій будинок - чудовий, великий будинок, але не знаю, яку вказати продажну ціну. І як мені її дізнатися? Напевно, доцільно подивитися на ціни: - розташованих по сусідству, - нещодавно проданих будинків (Data Science) та машинне навчаннянаприклад, проданих протягом останніх двох років), - тих будинків, які схожі на мій за площею). Пунктиром відзначено площу мого будинку. Бачимо, що будинок такої площі за останні 2 роки не продавався. Це не вийшло. Спробуємо бути гнучкішими і подивимося на будинки, у яких площа трохи відрізняється від мого будинку і в один, і в інший бік. Але й тут на нас чекає невдача: поряд за розміром нашого будинку знаходяться два будинки, але вони мають дуже різні вартості!? Що можна сказати? Чи є сенс у тих спостереженнях, які у нас є? Схоже, потрібно використовувати не тільки точки, близькі по площі до мого будинку, а всю інформацію, щоб отримати гарний прогноз. II. Регресія. Постановка задачі Регресія – це найпоширеніший статистичний метод. Ідея проста – ми маємо набір ознак деякого об'єкта x1, x2,…,xn, і навіть деякі спостереження (Data Science) та машинне навчаннякілька чи одне), що стосуються цього об'єкта. Для простоти розглянемо одне спостереження y. Питання: як зміниться спостереження y, якщо змінити значення ознак x1, x2,..., xn, тобто чи існує 17 залежність між спостереженням та ознаками? Якщо так, то якою є функція y=f(Data Science) та машинне навчанняx1, x2, …,xn)? Як будується така функція? Зрозуміло, що її можна будувати по-різному. Але ми сказали, що регресія – це статистичний метод. Тому ми функцію будуватимемо на основі даних, що належать до багатьох схожих об'єктів. І цей процес називається навчанням моделі. У нас є таблиця значень m ознак та спостереження для n об'єктів. Можна сказати, що на цій основі і використовуючи методи регресії будується функція. Маючи такого роду функцію, можна буде прогнозувати значення yо=f(Data Science) та машинне навчанняx о1, x о2,…,x оm) для деякого об'єкта "о", маючи його ознаки x о1, x о2,…,x оm. І це завдання ми розглянемо далі на прикладі прогнозування вартості будинків. Які ознаки у будинків: розмір будинку (Data Science) та машинне навчаннязагальна площа), кількість спалень, кількість ванних кімнат, кількість поверхів, район тощо. Спостереження y - ринкова вартість будинку. Зрозуміло, що регресію можна використовувати не тільки для оцінки вартості будинку, а й для інших завдань, де спостереженнями, реальними та прогнозованими, є числа – від медицини, де прогнозується, наприклад, ступінь вираженості хвороби в результаті підібраного лікування, до цін на фінансових ринках і т. д. III. Оцінка вартості будинку. Побудова простої лінійної регресії (гуманітарні)функції від однієї змінної) Повернемося до оцінки вартості будинку. Потрібно змоделювати відношення між площею будинку та його вартістю. Почнемо з простої лінійної регресії - простої моделі, для цього завдання у вигляді прямої, найближчої до всіх точок. У простому випадку (Data Science) та машинне навчанняпри одній незалежній змінній) отримуємо таке завдання: 18 Рівняння прямої: f(Data Science) та машинне навчанняx) = w0+w1x (Data Science) та машинне навчання1) де w0 - вільний член, геометрично - це відрізок, що відсічено лінією регрессії на координатній осі y. w1 – вага ознаки x, або коефіцієнт регресії (Data Science) та машинне навчаннякрім випадку, x = const, тобто y не залежить від x). w1 визначає, як зміна площі будинку впливає на його вартість. w0 та w1 – параметри моделі. Позначимо W = (Data Science) та машинне навчанняw0, w1). Питання: Яка пряма найбільше підходить для цього набору даних? Напевно, можна побудувати й іншу лінію. Як знайти найкращу модель? Будемо кожній прямій надавати вагу, тобто деяке числове значення, що показує, наскільки пряма підходить для даних, для яких вона побудована. Введемо поняття residual sum of squares (ARTIFICIAL)RSS) - залишкова сума квадратів. Для кожного спостереження дивимося, наскільки воно відповідає прямій, і складаємо всі ці відстані, зведені квадрат. У квадрат – щоб число не залежало від знаку відстані. n RSS(Data Science) та машинне навчанняw0, w1) = Σ (Data Science) та машинне навчанняyi – f(Data Science) та машинне навчанняxi))2 (Data Science) та машинне навчання2) i=1 Тут yi – реальні значення спостережень, f(Data Science) та машинне навчанняxi) – значення моделі. yi – f(Data Science) та машинне навчанняxi) – відстані між значеннями для кожного прикладу та відповідними значеннями, обчисленими за моделлю. І ми знаходимо суми квадратів цих різниць – RSS. Це метрика, що визначає найкращу модель. І на цій моделі я можу побачити ймовірну вартість мого будинку. У загальному випадку такого типу метрика називається функцією втрат, тобто скільки ми втрачаємо порівняно з реальним значенням. Існують і інші метрики, наприклад, RMSE = √(Data Science) та машинне навчанняRSS/n). Можна сказати, що RMSE – це нормалізована RSS. Як вона використовується? Датасет має 10000 записів. Виберемо з нього 100 записів – отримаємо інший датасет. І збудуємо дві моделі, кожну на своєму датасеті. RSS залежить від n, тому точності цих моделей щодо RSS порівняти не можна буде. А ось за RMSE – можна. RMSE буде використовуватись у лабораторній роботі. Як знайти таку модель, тобто такі W=(Data Science) та машинне навчанняw0, w1), щоб RSS була мінімальна? Наївний алгоритм говорить - повним перебором: беремо всілякі коефіцієнти регресії, підраховуємо RSS, і беремо коефіцієнти, що відповідають мінімальній RSS. Позначимо їх як W'=(Data Science) та машинне навчанняw0’, w1’). f’(Data Science) та машинне навчанняx) = w0’+w1’x − рівняння кращої прямої, що підходить вхідним даним. І, маючи таку пряму, знаходимо вартість мого будинку: f’(Data Science) та машинне навчанняxmy) = w0’+w1’ xmy, кажуть, будуємо прогноз. Мій будинок коштує досить дорого! А як же все ж таки будувати модель, не використовуючи повний перебір? Причому коефіцієнти моделі – не цілі числа, а дійсні. І тут неможливо зробити повний перебір. Існують два основні способи: 1) рішення в аналітичному вигляді; 2) наближені методи, зокрема, метод Ньютона та алгоритм градієнтного спуску. 19 І, маючи таку пряму, знаходимо вартість мого будинку: f’(Data Science) та машинне навчанняxmy) = w0’+w1’ xmy, кажуть, будуємо прогноз. Мій будинок коштує досить дорого! А як же все ж таки будувати модель, не використовуючи повний перебір? Причому коефіцієнти моделі – не цілі числа, а дійсні. І тут неможливо зробити повний перебір. Існують два основні способи: 1) рішення в аналітичному вигляді; 2) наближені методи, зокрема, метод Ньютона та алгоритм градієнтного спуску. Рішення в аналітичному вигляді (Data Science) та машинне навчанняметод найменших квадратів) Нагадаємо, що для простоти ми спочатку використовуємо одну суттєву ознаку. Потрібно мінімізувати функцію від двох змінних w0 та w1: n RSS(Data Science) та машинне навчанняw0, w1) = Σ (Data Science) та машинне навчанняyi – w0 – w1xi))2 (Data Science) та машинне навчання3) i=1 Беремо частні похідні від функції RSS за невідомими коефіцієнтами моделі w0, w1 і прирівнюємо їх до нуля (Data Science) та машинне навчаннятобто визначаються локальні мінімуми). В результаті отримуємо систему так званих нормальних рівнянь (Data Science) та машинне навчаннянижче представлена у векторному вигляді): W’ = (Data Science) та машинне навчанняAT A)-1 AT y, (Data Science) та машинне навчання4) де y – вектор значень залежної змінної, а матриця А будується із значень незалежної змінної наступним чином: З системи рівнянь знайдемо вектор W’, тобто коефіцієнти w0, w1. Зрозуміло, що такий метод має обмеження, наприклад, матриця (Data Science) та машинне навчанняAT A) може бути незворотною (Data Science) та машинне навчаннявиродженою) або близькою до такої, тобто детермінант дорівнює 0 або близький до 0 (Data Science) та машинне навчаннякажуть, що матриця погано обумовлена). У таких випадках рішення або немає, або існує, але точність низька. Проте є методи боротьби з цією ситуацією. 2) Ітераційний алгоритм градієнтного спуску для знаходження локальних мінімумів ї Для функції RSS (Data Science) та машинне навчанняфункція двох змінних w0, w1) використовуємо алгоритм градієнтного спуску, що дозволяє визначати локальний мінімум функції та значення незалежних змінних, у яких функція досягає мінімум. Це класичний алгоритм, що може використовуватися не тільки для регресійної функції, а й для багатьох інших функцій. 20 3) Метод Ньютона – метод послідовних наближень для знаходження локальних мінімумів функції. Питання для самоперевірки 1. Регресія: моделювання, ознаки та залежна змінна. 2. Постановка задачі. Вибір кращої моделі Оцінки якості регресії. 3. Рівняння регресії. Побудова простої лінійної регресії методом найменших квадратів. 4. Ітераційні методи для побудови регресійної моделі. Вправи.Нижченаведена таблиця показує результати моделювання. Яка з моделей найбільше відповідає навчальній вибірці? Параметри RSS 1 (Data Science) та машинне навчання0, 1.4) 20.51 2 (Data Science) та машинне навчання3.1, 1.4) 15.23 3 (Data Science) та машинне навчання2.7, 1.9) 13.67 4 (Data Science) та машинне навчання0, 2.3) 18.99 Методичні вказівки до лекції: [2, с. 37-38; 4, с. 10; 5, с. 4-5] Лекція 3. Регресійні поліноміальні моделі та моделі з кількома ознаками. Оцінка ступеня перенавчання Розглядаються такі питання: Побудова більш складних моделей Оцінка ступеня перенавчання (Data Science) та машинне навчанняoverfitting) Добавляємо нові ознаки Отже, на попередній лекції було показано, як побудувати лінійну залежність для регресійної моделі, а саме, між вартістю будинків та їх площею. Але де впевненість у тому, що для даних залежність саме є лінійною? IV. Побудова складніших моделей Може, квадратична залежність, рівняння f(Data Science) та машинне навчанняx) = w0+w1x+w2x2. Тут w0 - це вільний член, w1 визначає, де знаходиться крива в сенсі висоти по y - вище або нижче. w2 – коефіцієнт при x2. Знову потрібно знайти найкращу квадратичну залежність для вихідних даних, а для цього мінімізувати RSS вже не від двох параметрів, а трьох (Data Science) та машинне навчаннядодається w2). Як знайти ці параметри моделі? Будемо використовувати метод найменших квадратів. А те, що є w2, можна трактувати так: з'явилася ще одна незалежна змінна, і w2 – коефіцієнт при ній; а все разом можна розраховувати як лінійну регресію, тільки збільшилася кількість незалежних змінних, тобто ознак. 21 Аналогічно розраховується і регресія у разі полінома вищого ступеня. Матриця Вандермонда має більше стовпців – додаються куби, четверті ступені тощо. І зауважимо, що така регресія називається поліноміальною. Існує і криволінійна регресія для неполіноміальних функцій та узагальнена матриця Вандермонда для розрахунку параметрів моделі. Зазначимо, ми все ще працюємо з однією ознакою, не відійшли від площі будинку. Але самі функції – поліноміальні різних ступенів. Зупинимося поки що на поліноміальній регресії. Ми побудували кращу квадратичну. Здобули непогану вартість нашого будинку. А чому не побудувати поліном 13-го ступеня? І зробити так, щоб RSS було мінімальним. Давайте спробуємо. Що ми здобули? RSS=0. Здорово. А що з моїм будинком? Щось його вартість надто маленька!? Під час навчання ми отримали нульову помилку, але в нових даних не все гаразд. І така проблема називається перенавчанням overfitting – ми побудували модель, що дуже добре узгоджується з вхідними спостереженнями, але вона не настільки добра, щоб