Структурове передбачування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Структурове передбачування, структурове навчання або навчання структурованого ви́ходу (англ. structured prediction, structured (output) learning) — це узагальнювальний термін для методик керованого машинного навчання, які включають передбачування структурованих об'єктів, а не скалярних дискретних або дійснозначних значень.[1]

Наприклад, задачу переведення речення природною мовою до синтаксичного представлення, такого як дерево розбору, можливо розглядати як задачу[en] структурового передбачування,[2] в якій область значень структурового виходу є множиною всіх можливих синтаксичних дерев.

Великий клас структурових передбачувальних моделей утворюють імовірнісні графові моделі. Зокрема, для розв'язування задач структурового передбачування в широкому спектрі застосувань, включно з біоінформатикою, обробкою природної мови, розпізнаванням мовлення та комп'ютерним баченням, популярним є застосування баєсових мереж та випадкових полів[en]. До інших алгоритмів та моделей для структурового передбачування належать індуктивне логічне програмування[en], міркування на основі прецедентів[en], структурові ОВМ[en], марковські логічні мережі[en] та обмежені умовні моделі[en].

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

Приклад: розмічування послідовностей[ред. | ред. код]

Розмічування послідовностей — це клас задач, що превалюють в обробці природної мови, де входові дані часто є послідовностями (наприклад, послідовностями тексту). Задача розмічування послідовностей з'являється під кількома личинами, такими як розмічування частин мови та розпізнавання іменованих сутностей. В розмічуванні частин мови, наприклад, кожне слово в послідовності мусить отримати «мітку» (класу), яка виражає свій «тип» слова:

This DT[en]
is VBZ
a DT[en]
tagged JJ
sentence NN
. .

Головним викликом в цій задачі є розв'язування багатозначностей: слово «sentence» в англійській мові може також бути дієсловом, і бути розміченим відповідно.

І хоч цю задачу й можливо розв'язувати просто виконанням класифікації окремих лексем, такий підхід не враховує того емпіричного факту, що лексеми не трапляються незалежно; натомість, кожна мітка демонструє сильну умовну залежність[en] від мітки попереднього слова. Цей факт може бути використано в послідовнісній моделі, такій як прихована марковська модель або умовне випадкове поле,[2] що передбачує всю послідовність для речення, замість передбачування лише окремих міток, засобами алгоритму Вітербі.

Структуровий перцептрон[ред. | ред. код]

Одним із найлегших способів зрозуміти алгоритми для загального структурового передбачування є структуровий перцептрон Коллінза[en].[3] Цей алгоритм поєднує алгоритм перцептрону для навчання лінійних класифікаторів з алгоритмом висновування (класично при застосуванні на послідовнісних даних — алгоритм Вітербі), і його може бути абстрактно описано наступним чином. Спершу визначмо «спільну функцію ознак» Φ(x, y), що відображує тренувальний зразок x та кандидатуру передбачення y на вектор довжини n (x та y можуть мати будь-яку структуру; n залежить від задачі, але його мусить бути зафіксовано для кожної моделі). Нехай GEN — це функція, що породжує кандидатури передбачень. Тоді:

Нехай є ваговим вектором довжини n
Для визначеного наперед числа ітерацій:
Для кожного зразка в тренувальному наборі, зі справжнім виходом :
Зробити передбачення
Уточнити , з до : , є темпом навчання

На практиці знаходження argmax над здійснюватиметься із застосуванням такого алгоритму, як Вітербі, або такого алгоритму, як max-sum[en], замість вичерпного пошуку експоненційно великим набором кандидатів.

Ідея навчання є подібною до багатокласового перцептрону.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. 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. (англ.)
  2. а б 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. (англ.)
  3. 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. (англ.)

Література[ред. | ред. код]

Посилання[ред. | ред. код]