1   2   3   4   5   6   7   8   9   10   ...   23
Ім'я файлу: Богайчук Нейронні мережі.docx
Розширення: docx
Розмір: 1578кб.
Дата: 14.03.2021
скачати
Пов'язані файли:
strategichniy_menedzhment_.doc

Аугментація в просторі ознак



V. Chawla і W. Bowyer [6] запропонували підхід до збільшення кількісті прикладів міноритарного класу (oversampling), створюючи «синтетичні»

приклади, а не реплікуючи вже наявні, як у відомих до цього підходах. Він був названий SMOTE. Такий підхід навіяний методом, який виявився успішним в розпізнаванні рукописних символів [4]. Були створені додаткові дані для навчання шляхом виконання певних операцій на реальних даних. У їхньому випадку, такі операції, як обертання і перекіс були природним способом для покращення якості навчальних даних. За підходом SMOTE синтетичні приклади генеруються в менш специфічній для додатку манері, при роботі в

«просторі ознак», а не «просторі даних».

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

Синтетичні зразки генеруються в такий спосіб: береться різницю між вектором ознак поточного класу і його найближчим сусідом. Множиться ця різницю на випадкове число між 0 і 1, і додається до вектору ознак на стадії розгляду. Це призводить до вибору випадкової точки вздовж відрізка між двома специфічними особливостями. Такий підхід досить ефективно згладжує регіон ознак міноритарного класу,робить його менш специфічним з точки зору усієї навчальної множини. Псевдокод алгоритму SMOTE [6] показаний нижче.

Algorithm SMOTE(T, N, k)

Input:

Number of minority class samples T; Amount of SMOTE N%;

Number of nearest neighbors k

Output:

(N/100)* T synthetic minority class samples
1. ( If N is less than 100%, randomize the minority class samples as only a random percent of them will be SMOTEd. )

2. if N < 100

3. then Randomize the T minority class samples 4. T = (N/100) ∗ T

5. N = 100

  1. endif

  2. N = (int)(N/100)( The amount of SMOTE is assumed to be in integral multiples of 100. )

  3. k = Number of nearest neighbors

  4. numattrs = Number of attributes

  5. Sample[ ][ ]: array for original minority class samples

  6. newindex: keeps a count of number of synthetic samples generated, initialized to 0

  7. Synthetic[ ][ ]: array for synthetic samples

(∗ Compute k nearest neighbors for each minority class sample only. )

  1. for i ← 1 to T

  2. Compute k nearest neighbors for i, and save the indices in the nnarray

  3. Populate(N, i, nnarray)

  4. endfor

Populate(N, i, nnarray) ( Function to generate the synthetic samples. )

  1. while N != 0

  2. Choose a random number between 1 and k, call it nn. This step chooses one of the k nearest neighbors of i.

  3. for attr ← 1 to numattrs

  4. Compute: dif = Sample[nnarray[nn]][attr] − Sample[i][attr]

  5. Compute: gap = random number between 0 and 1

  6. Synthetic[newindex][attr] = Sample[i][attr] + gap ∗ dif

  7. endfor

  8. newindex++

25. N = N − 1

  1. endwhile

  2. return ( End of Populate. )

Але в даному підході були недоліки, які стали поштовхом до створення нових алгоритмів. Множина навчальних даних (датасет) має проблему дисбалансу класу, коли цей клас має дуже невелику кількість прикладів по відношенню до інших класів. Простим класифікаторам зазвичай не вдається виявити міноритарний клас через надзвичайно низьку частоту зустрічання у виборці. Згідно The Synthetic Minority Over-Sampling Technique (SMOTE) (Техніка синтетичного збільшення прикладів міноритарного класу) новий синтетичний зразок створюється шляхом вибору випадкової точки в просторі ознак уздовж лінії, яка перетинає декілька випадково вибраних зразків одного і того ж класу. Пізніша з’явився похідний від SMOTE алгоритм Density Based SMOTE (DBSMOTE) [5], який генерує нові синтетичні зразки в межах відстані від центру кластера для класу. DBSMOTE генерує синтетичні екземпляри уздовж найкоротшого шляху від кожного позитивного приклада до псевдо- центра ваги кластера міноритарного класу. Отже, ці синтетичні екземпляри розташовуються щільно поблизу центроїда і рідко далеко від цього центроїда. Оскільки алгоритм DBSMOTE генерує свої синтетичні зразки навколо центру кожного класу, то можна було б очікувати, що ці синтетичні зразки не можуть сприяти скороченню ступеня перенавчання (overfit). Дійсно, часто виявиляють, що використання DBSMOTE фактично зменшує межу перенавчання.

Зазвичай в просунутих системах розпізнавання використовують як збільшення навчальної множини в просторі ознак, так і в просторі даних. На рисунку 6 показане поєднання обох підходів [28].




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

    1. 1   2   3   4   5   6   7   8   9   10   ...   23

      скачати

© Усі права захищені
написати до нас