Керо́ване навча́ння, контрольо́ване навча́ння, навча́ння під на́глядом, або навча́ння з учи́телем () — це парадигма машинного навчання, в якій модель тренують об'єкти входу (наприклад, вектор змінних-передбачувачів) та бажане значення виходу (також відоме як мічений людиною керівний сигнал, ). Ці тренувальні дані обробляються, будуючи функцію, яка відображує нові дані на очікувані значення виходу., Afshin Rostamizadeh, Ameet Talwalkar (2012) Foundations of Machine Learning, The MIT Press . Оптимальний сценарій дозволятиме алгоритмові правильно визначати значення виходу для небачених примірників. Це вимагає, щоб алгоритм навчання узагальнювався з тренувальних даних на небачені ситуації «розумним» чином (див. ). Цю статистичну якість алгоритму вимірюють через так звану похибку узагальнення.

Кроки для виконання

Щоби розв'язати задану задачу керованого навчання, слід виконати наступні кроки:

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

Вибір алгоритму

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

У керованім навчанні слід враховувати чотири основні питання:

Компроміс зміщення та дисперсії

Перше питання це компроміс між зміщенням () та дисперсією ().S. Geman, E. Bienenstock, and R. Doursat (1992). Neural networks and the bias/variance dilemma. Neural Computation 4, 1–58. Уявімо, що ми маємо кілька різних, але однаково добрих тренувальних наборів даних. Алгоритм навчання зміщений для певного входу , якщо при тренуванні на кожному з цих наборів він систематично неправильний у передбачуванні правильного виходу для . Алгоритм навчання має велику дисперсію для певного входу , якщо при тренуванні на різних тренувальних наборах він передбачує різні виходи. Похибка передбачення навченого класифікатора пов'язана із сумою зміщення та дисперсії навченого алгоритму.G. James (2003) Variance and Bias for General Loss Functions, Machine Learning 51, 115-135. (http://www-bcf.usc.edu/~gareth/research/bv.pdf ) Як правило, існує компроміс між зміщенням і дисперсією. Алгоритм навчання з малим зміщенням повинен бути «гнучким», щоби могти добре допасовуватися до даних. Але якщо алгоритм навчання занадто гнучкий, він допасується до кожного тренувального набору даних по-різному, й відтак матиме велику дисперсію. Ключовим аспектом багатьох методів керованого навчання є те, що вони здатні підлаштовувати цей компроміс між зміщенням і дисперсією (автоматично, або шляхом надання параметра зміщення/дисперсії, який може налаштовувати користувач).

Складність функції та обсяг тренувальних даних

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

Розмірність простору входу

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

Шум у значеннях виходу

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

На практиці існує кілька підходів для полегшення шуму в значеннях виходу, таких як рання зупинка, щоби запобігати перенавчанню, а також виявляння та усування шумових тренувальних прикладів перед тренуванням алгоритму керованого навчання. Існує кілька алгоритмів, які встановлюють шумові тренувальні приклади, а усунення ймовірних шумових тренувальних прикладів перед тренуванням знижує похибку узагальнення зі статистичною значущістю.C.E. Brodely and M.A. Friedl (1999). Identifying and Eliminating Mislabeled Training Instances, Journal of Artificial Intelligence Research 11, 131-167. (http://jair.org/media/606/live-606-1803-jair.pdf )

Інші чинники, які слід враховувати

До інших чинників, які слід враховувати при виборі та застосуванні алгоритму навчання, належать наступні:

Різнорідність даних. Якщо вектори ознак містять ознаки багатьох різних типів (дискретні, дискретні впорядковані, кількості, безперервні значення), деякі алгоритми застосовувати легше, ніж інші. Багато алгоритмів, включно з опорновекторними машинами, лінійною регресією, логістичною регресією, нейронними мережами та методами найближчих сусідів, вимагають, щоб ознаки входу були числовими та масштабованими до подібних діапазонів (наприклад, до проміжку [-1,1]). Особливо чутливі до цього методи, які використовують функцію відстані, такі як методи найближчих сусідів та опорновекторні машини з гауссовими ядрами. Перевагою дерев рішень є те, що вони легко обробляють різнорідні дані. Надмірність даних. Якщо ознаки входу містять надлишкову інформацію (наприклад, висококорельовані ознаки), деякі алгоритми навчання (наприклад, лінійна регресія, логістична регресія та методи на основі відстані) працюватимуть погано через числову нестабільність. Ці проблеми часто можливо розв'язувати за допомогою певного виду регулярізації. Наявність взаємодій та нелінійностей. Якщо кожна з ознак робить незалежний внесок до виходу, то алгоритми, що ґрунтуються на лінійних функціях (наприклад, лінійна регресія, логістична регресія, опорновекторні машини, наївний баєсів класифікатор) та функціях відстані (наприклад, методи найближчих сусідів, опорновекторні машини з гауссовими ядрами) загалом працюють добре. Проте якщо існують складні взаємодії між ознаками, то такі алгоритми як дерева рішень та нейронні мережі працюють краще, оскільки їх спеціально розробили для виявляння цих взаємодій. Також можливо застосовувати лінійні методи, але інженер повинен вручну вказати взаємодії під час їх використання.

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

Алгоритми

Найширше використовувані алгоритми навчання:

Опорновекторні машини Лінійна регресія Логістична регресія Наївний баєсів класифікатор Лінійний розділювальний аналіз Дерева рішень Алгоритм k-найближчих сусідів Нейронні мережі (багатошаровий перцептрон)

Як працюють алгоритми керованого навчання

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

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

Є два основні підходи до вибору або : мінімізація емпіричного ризику та мінімізація структурного ризику.Vapnik, V. N. The Nature of Statistical Learning Theory (2nd Ed.), Springer Verlag, 2000. Мінімізація емпіричного ризику шукає функцію, яка найкраще допасовується до тренувальних даних. Мінімізація структурного ризику включає штрафну функцію (), яка контролює компроміс зміщення/дисперсії.

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

Ризик () функції визначають як очікувані втрати . Їх можливо оцінювати з тренувальних даних через

.

Мінімізація емпіричного ризику

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

Коли  — умовний розподіл імовірності , а функція втрат — від'ємна логарифмічна правдоподібність: , то мінімізація емпіричного ризику рівнозначна оцінці максимальної правдоподібності.