Повна версія

Головна arrow Інформатика arrow ІНТЕЛЕКТУАЛЬНІ СИСТЕМИ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

ОЦІНКА ЯКОСТІ РОБОТИ АЛГОРИТМУ МАШИННОГО НАВЧАННЯ

Методи оцінки якості

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

Всі метрики для оцінки якості моделі вираховуються за тестовими і приймальним вибірках. Тестова вибірка - це набір об'єктів і відповідей, заздалегідь відомий, НЕ використовується при навчанні, але використовуваний для вимірювання якості моделі. Саме за рахунок відсутності цих прикладів в навчальній вибірці і оцінюється предсказательная здатність моделі. Після того як якість моделі було оцінено за допомогою тестової вибірки, може виникнути бажання розібрати помилкові відповіді в моделі. Тоді людина, навчальний модель, може заглянути в тестову вибірку і спробувати на основі значень ознак або на основі інших критеріїв зрозуміти, в чому проблема навченої моделі. Це головна відмінність тестової вибірки від приймальної.

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

Але існує проблема: що, якщо у нас немає експерта, який міг би скласти приймальну вибірку, і є тільки навчальна вибірка, а складання тестової - дорого? Тоді можна вдатися до так званої кроссваліаціі ( crossvalidation ), суть якої полягає в тому, що вихідна навчальна вибірка поділяється на N частин і N раз проводиться навчання по N - 1 частини (без повторів) і оцінка за що залишилася однієї частини. Після чого оцінки усереднюються і вираховується стандартне відхилення використовуваних метрик. Наявність великих значень стандартного відхилення говорить швидше за все про те, що даний набір факторів або модель погано підходять для вирішення завдання і необхідно їх переглянути. Відповідно, при малих значеннях стандартного відхилення розробник дивиться на середні значення метрик.

Нижче представлений псевдокод, демонстрірущій процес кроссвалідаціі.

trait Model {

def predict (obj: Object): Answer

def learn (sample: Map [Object, Answer]): Unit

}

trait Answer

def crossvalidation (model: Model, learningSample:

Map [Object, Answer]) = (

val n = 10 // розділимо на 10 частин

val parts = learningSample.grouped (learningSample.

size / n)

val testAndLearningParts = parts.map (p => p -> (learningSample - p)) // отримаємо пари

// 1 / n - тестовий семпл // (n-1) / п - навчальний

val estimations = testAndLearningParts map { case (testingSample, learningSample) => model.learn (learningSample)

val answersOnTestSample: Map [Object, Answer] = testingSample.keys.map (obj => obj -> model, predict (obj)). toMap estimate (model, testingSample)

}

val m = mean (estimations)

val std = Math.sqrt (mean (estimations.map

(Estimation => (estimation - m) * (estimation - m))))

}

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

Істинно-позитивне значення (TP - true-positive) - для бінарної класифікації означає наявність позитивного рішення класифікатора і що справжнє значення відповіді в оціночної вибірці також позитивне.

Хибно-ноложітельное значення (FP - false-positive) говорить відповідно про наявність позитивної відповіді класифікатора і негативного в оціночної вибірці.

Аналогічні випадки є і для негативних прикладів - істинно-від'ємне значення (TN - true-negative) і помилково негативні значення ( FN - false-negative).

Для даних значень можна навести простий приклад на основі завдання класифікації спаму:

  • ТР - лист було класифіковано як спам, і в оціночної вибірці воно дійсно є спамом;
  • FP - лист було класифіковано як спам, однак у вибірці це не так;
  • TN - лист було класифіковано як і-спам, і це дійсно так згідно з вибіркою;
  • FN - лист було прийнято що не-спам, однак згідно з вибіркою це спам.

Так як оцінка метрик проводиться по всій вибірці, то значення TP , FP , TN, FN означатимуть загальне число соотвествующих випадків.

Точність {precision) - метрика, що характеризує частку правильних відповідей серед загального числа позитивних класифікацій. Чим вище точність моделі, тим менше не-вірних позитивних рішень вона прийме:

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

Іноді буває необхідно оцінити спільно і повноту, і точність моделі. Це може бути корисно при порівнянні декількох моделей між собою, отриманих шляхом навчання різних алгоритмів машинного навчання. У разі такої необхідності многокритериального аналізу моделі на допомогу приходить використання F-заходи (/ -measure ):

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

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

 
<<   ЗМІСТ   >>