Ядрове згладжування

Матеріал з testwiki
Версія від 23:23, 28 листопада 2024, створена imported>Vovchyck (Ядрове згладження найближчих точок)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Ядрове згладжування або згладження (Шаблон:Lang-en) — це статистичний метод оцінки дійснозначної функції f:p як середньозважене значення сусідніх спостережених точок. Ваги задаються ядром, так щоб найближчі точки отримали найвищі ваги. Оцінювана функція є гладкою, а рівень гладкості задається єдиним параметром. Ядрове згладжування є типом зваженого рухомого середнього.

Означення

Нехай Khλ(X0,X) ядро, задане формулою

Khλ(X0,X)=D(XX0hλ(X0))

де:

  • X,X0p
  • - евклідова норма
  • hλ(X0) - параметр (радіус ядра)
  • D ( t ) зазвичай позитивна дійсна функція, значення якої зменшується (або не зростає) зі збільшенням відстані між X і X0 .

Популярні ядра, що використовуються для згладжування, включають параболічне (Епанечнікова), кубне та гауссове ядра.

Нехай Y(X):p - неперервною функцією від X. Для кожного X0p, ядро-зважене середнє Надарая-Ватсона (згладжена оцінка Y(X)) визначається

Y^(X0)=i=1NKhλ(X0,Xi)Y(Xi)i=1NKhλ(X0,Xi)

де:

  • N – кількість спостережуваних точок
  • Y ( X i ) — спостереження в точках Xi .

Далі ми опишемо деякі окремі випадки ядрових згладжень.

Приклад ядрового згладження Ґауса

Ядрове згладження Ґауса

Ядро Ґауса є одним із найпоширеніших ядер і виражається за допомогою рівняння

K(x*,xi)=exp((x*xi)22b2)

Тут b — масштаб довжини для вхідного простору.

Ядрове згладження найближчих точок

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

Приклад ядрового згладження найближчих точок

Формально, hm(X0)=X0X[m], де X[m] є m-м найближчим до X0 сусідом, і

D(t)={1/mif |t|10otherwise

Приклад ядрового згладження найближчих точок зображено на малюнку ліворуч. У цьому прикладі X є одновимірним. Для кожного X0, Y^(X0) є середнім значенням 16 найближчих до X0 точок (позначено червоним кольором). Результат недостатньо гладкий.

Середньо ядрове згладження

Ідея середньо ядрового згладження полягає в наступному. Для кожної точки даних X0 виберемо стале значення відстані λ (радіус ядра або ширину вікна для p = 1 вимір) і обчислимо зважене середнє для всіх точок даних, які ближче ніж λ до X0 (чим ближче до X0 точки тим більшу вагу вони отримають).

Приклад середньо ядрового згладження

Формально, hλ(X0)=λ=constant, а D(t) — одне з популярних ядер.

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

Локальна лінійна регресія

У двох попередніх розділах закладалось, що базова функція Y(X) локально константа, що давало змогу використовувати середньозважене значення оцінки. Ідея локальної лінійної регресії полягає в тому, що функція локально відповідає прямій лінії (чи гіперплощині у випадку вищих порядків), а не константі (горизонтальній лінії). Після підгонки лінії оцінка Y^(X0) визначається значенням цієї лінії в точці X0. Повторюючи цю процедуру для кожного X0, можна отримати оцінку-функцію Y^(X). Як і в розділі вище ширина вікна постійна hλ(X0)=λ=constant. Формально локальна лінійна регресія обчислюється шляхом оптимізації зваженої задачі найменшого квадрата.

У одновимірному випадку ( p = 1):

minα(X0),β(X0)i=1NKhλ(X0,Xi)(Y(Xi)α(X0)β(X0)Xi)2Y^(X0)=α(X0)+β(X0)X0

Візуалізація локальна лінійної регресії

Розв'язок у вигляді формули:

Y^(X0)=(1,X0)(BTW(X0)B)1BTW(X0)y

де:

  • y=(Y(X1),,Y(XN))T
  • W(X0)=diag(Khλ(X0,Xi))N×N
  • BT=(111X1X2XN)

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

Локальну лінійну регресію можна застосувати у будь-якому просторі, хоча питання про те, що таке локальне сусідство ускладнюється. Зазвичай використовують k найближчих тренувальних точок до тестової точки, щоб відповідати локальній лінійній регресії. Це може призвести до великої дисперсії встановленої функції. Щоб обмежити дисперсію, набір навчальних точок повинен містити тестову точку у своїй опуклій оболонці (див. посилання на Gupta et al.).

Локальна поліноміальна регресія

Замість підгонки локально лінійних функцій можна допасувати поліноміальні функції.

Для p=1 слід розв'язати задачу мінімізації:

minα(X0),βj(X0),j=1,...,di=1NKhλ(X0,Xi)(Y(Xi)α(X0)j=1dβj(X0)Xij)2

з Y^(X0)=α(X0)+j=1dβj(X0)X0j

У загальному випадку (p>1) слід мінімізувати:

β^(X0)=argminβ(X0)i=1NKhλ(X0,Xi)(Y(Xi)b(Xi)Tβ(X0))2b(X)=(1,X1,X2,...X12,X22,...X1X2...)Y^(X0)=b(X0)Tβ^(X0)

Див. також

Список літератури