Структурове передбачування
Частина з циклу |
Машинне навчання та добування даних |
---|
Структурове передбачування, структурове навчання або навчання структурованого ви́ходу (англ. structured prediction, structured (output) learning) — це узагальнювальний термін для методик керованого машинного навчання, які включають передбачування структурованих об'єктів, а не скалярних дискретних або дійснозначних значень.[1]
Наприклад, задачу переведення речення природною мовою до синтаксичного представлення, такого як дерево розбору, можливо розглядати як задачу[en] структурового передбачування,[2] в якій область значень структурового виходу є множиною всіх можливих синтаксичних дерев.
Великий клас структурових передбачувальних моделей утворюють імовірнісні графові моделі. Зокрема, для розв'язування задач структурового передбачування в широкому спектрі застосувань, включно з біоінформатикою, обробкою природної мови, розпізнаванням мовлення та комп'ютерним баченням, популярним є застосування баєсових мереж та випадкових полів. До інших алгоритмів та моделей для структурового передбачування належать індуктивне логічне програмування[en], міркування на основі прецедентів[en], структурові ОВМ[en], марковські логічні мережі[en] та обмежені умовні моделі[en].
Подібно до широко застосовуваних методик керованого навчання, моделі структурового передбачування зазвичай тренують за допомогою спостережених даних, в яких істинне значення передбачення використовують для налаштовування параметрів моделі. Через складність моделі та взаємопов'язаність передбачуваних змінних, процес передбачування із застосуванням натренованої моделі, та власне тренування, часто є обчислювально нездійсненним, і застосовують методи наближеного висновування[en] та навчання.
Розмічування послідовностей — це клас задач, що превалюють в обробці природної мови, де входові дані часто є послідовностями (наприклад, послідовностями тексту). Задача розмічування послідовностей з'являється під кількома личинами, такими як розмічування частин мови та розпізнавання іменованих сутностей. В розмічуванні частин мови, наприклад, кожне слово в послідовності мусить отримати «мітку» (класу), яка виражає свій «тип» слова:
Головним викликом в цій задачі є розв'язування багатозначностей: слово «sentence» в англійській мові може також бути дієсловом, і бути розміченим відповідно.
І хоч цю задачу й можливо розв'язувати просто виконанням класифікації окремих лексем, такий підхід не враховує того емпіричного факту, що лексеми не трапляються незалежно; натомість, кожна мітка демонструє сильну умовну залежність[en] від мітки попереднього слова. Цей факт може бути використано в послідовнісній моделі, такій як прихована марковська модель або умовне випадкове поле,[2] що передбачує всю послідовність для речення, замість передбачування лише окремих міток, засобами алгоритму Вітербі.
Одним із найлегших способів зрозуміти алгоритми для загального структурового передбачування є структуровий перцептрон Коллінза[en].[3] Цей алгоритм поєднує алгоритм перцептрону для навчання лінійних класифікаторів з алгоритмом висновування (класично при застосуванні на послідовнісних даних — алгоритм Вітербі), і його може бути абстрактно описано наступним чином. Спершу визначмо «спільну функцію ознак» Φ(x, y), що відображує тренувальний зразок x та кандидатуру передбачення y на вектор довжини n (x та y можуть мати будь-яку структуру; n залежить від задачі, але його мусить бути зафіксовано для кожної моделі). Нехай GEN — це функція, що породжує кандидатури передбачень. Тоді:
- Нехай є ваговим вектором довжини n
- Для визначеного наперед числа ітерацій:
- Для кожного зразка в тренувальному наборі, зі справжнім виходом :
- Зробити передбачення
- Уточнити , з до : , є темпом навчання
- Для кожного зразка в тренувальному наборі, зі справжнім виходом :
На практиці знаходження argmax над здійснюватиметься із застосуванням такого алгоритму, як Вітербі, або такого алгоритму, як max-sum[en], замість вичерпного пошуку експоненційно великим набором кандидатів.
Ідея навчання є подібною до багатокласового перцептрону.
- Умовне випадкове поле
- Структурова опорно-векторна машина[en]
- Структурові k-найближчі сусіди[en]
- Рекурентна нейронна мережа, зокрема, мережі Елмана (ПРМ, англ. SRN)
- ↑ Gökhan BakIr, Ben Taskar, Thomas Hofmann, Bernhard Schölkopf, Alex Smola and SVN Vishwanathan (2007), Predicting Structured Data [Архівовано 15 липня 2018 у Wayback Machine.], MIT Press. (англ.)
- ↑ а б Lafferty, J., McCallum, A., Pereira, F. (2001). Conditional random fields: Probabilistic models for segmenting and labeling sequence data (PDF). Proc. 18th International Conf. on Machine Learning. с. 282—289. Архів оригіналу (PDF) за 7 червня 2013. Процитовано 15 липня 2018. (англ.)
- ↑ Collins, Michael (2002). Discriminative training methods for hidden Markov models: Theory and experiments with perceptron algorithms (PDF). Proc. EMNLP. Т. 10. Архів оригіналу (PDF) за 8 грудня 2006. Процитовано 15 липня 2018. (англ.)
- Noah Smith, Linguistic Structure Prediction [Архівовано 27 липня 2018 у Wayback Machine.], 2011. (англ.)
- Michael Collins, Discriminative Training Methods for Hidden Markov Models [Архівовано 24 червня 2018 у Wayback Machine.], 2002. (англ.)
- Втілення структурового перцептрону Коллінза [Архівовано 11 червня 2018 у Wayback Machine.]