Як обчислити вагу критерію Фішера?


12

Я вивчаю розпізнавання образів і машинне навчання, і я натрапив на таке питання.

Розглянемо двокласну задачу класифікації з рівною ймовірністю попереднього класу

P(D1)=P(D2)=12

і розподіл примірників у кожному класі, заданий

p(x|D1)=N([00],[2001]),

p(x|D2)=N([44],[1001]).

Як обчислити вагу критерію Фішера?

Оновлення 2: Розрахункова вага, що надається моєю книгою, становить: .W=[4329]

Оновлення 3: Як натякнув @xeon, я розумію, що я повинен визначити лінію проекції для дискримінанта Фішера.

Оновлення 4: Нехай - напрямок лінії проекції, тоді лінійний дискримінантний метод Фішера виявляє, що найкращим є той, для якого максимальна функція критерію. Залишилося завдання - як ми можемо отримати числовий вектор?WWW


Ваш перший розподіл не визначено. Зокрема, друга змінна пара має вироджене розподіл з дисперсією 0, але має позитивну коваріацію з першою змінною, що неможливо.
Owensmartin

@owensmartin Ви маєте будь-яке уявлення, як обчислюються ці значення?
Доктор Хошанг

Яке визначення ваги критерію Фішера?
Владислав Довгалеч

Я маю на увазі лінійний дискримінант Фішера заданий вектором w, який максимізує ... це відмічається на кожному матеріалі, як luthuli.cs.uiuc.edu/~daf/courses/Learning/Kernelpapers/… на стор. 2. це добре @xeon?
Доктор Хошанг

Підказка: Якою буде межа між двома класами? Лінійний, многочлен, щось інше?
Владислав Довгалеч

Відповіді:


11

Слідуючи документу, до якого ви посилаєтесь (Mika et al., 1999) , ми повинні знайти який максимізує так званий узагальнений коефіцієнт Релея ,w

wSBwwSWw,

де для засобів та covariances ,C 1 , C 2m1,m2C1,C2

SB=(m1m2)(m1m2),SW=C1+C2.

Розв’язання можна знайти, вирішивши узагальнену задачу про власне значення шляхом першого обчислення власні значення шляхом вирішення а потім вирішення для власного вектора . У вашому випадку Визначник цієї матриці 2х2 можна обчислити вручну.

SBw=λSWw,
λ
det(SBλSW)=0
w
SBλSW=(163λ1616162λ).

Власний вектор з найбільшим власним значенням максимально збільшує коефіцієнт Релея. Замість того, щоб робити обчислення вручну, я вирішив узагальнену задачу про власне значення в Python за допомогою scipy.linalg.eigі отримав що відрізняється від рішення, яке ви знайшли у своїй книзі. Нижче я побудував оптимальну гіперплан вектору ваги, який я знайшов (чорний) та гіперплана вектору ваги, знайденого у вашій книзі (червоний).

w10.5547,w20.8321,

введіть тут опис зображення


1
Цей приклад дуже цікавий. Обидва рядки розділяють два класи, але один з них "кращий" з точки зору теорії навчання.
Владислав Довгалеч

2
Критерій Фішера детально описаний у розділі 5-2-3 на сайті books.google.com/…
ніні

1
@Lucas, можливо, підсумковий результат близький до коментарів ксеона: "Можливо, ми повинні повідомити одиничний вектор w, оскільки гіперплан визначений напрямком, а не величиною".
ніні

1
О !!! складне питання, рекомендую всім переглянути сторінку 2 на dml.ir/wp-content/uploads/2012/04/SPR-S12-M-Sol.pdf
користувач153695

1
@Lucas Спасибі Ви б додали ще одну картинку для W = [- 2/3 -2/3] і W = [- 4/3 -2/3] і W = [- 2 -3] з трьома різними кольорами, щоб побачити межу? Дякую. Я ставлю вас за приємність відповіді.
ніні

7

SOLUTION1:

Слідом за Дудою та ін. (Шаблон CLassification), який має альтернативне рішення для @lucas, і в цьому випадку дає дуже просто обчислити рішення вручну. (Сподіваюся, що це альтернативне рішення допомагає !! :))

У двох класах LDA мета:

wTSBwwTSWw що просто означає, що збільшується між дисперсією класу та зменшується дисперсія класу.

де і , тут - матриця коваріації і - засоби класів 1 і 2 відповідно.SB=(m1m2)(m1m2)TSW=S1+S2S1,S2m1,m2

Рішення цього узагальненого коефіцієнта Релі - узагальнена проблема власного значення.

SBw=λSWwSW1SBw=λw

Вищеописаний препарат має розчин закритої форми. - матриця 1-го рангу з базою тому яку можна нормалізувати, щоб отримати відповідь.SBm1m2wSW1(m1m2)

Я щойно підрахував і отримав [0,5547; 0,8321].w

SW1(m1m2)=(S1+S2)1(m1m2)=([2001]+[1001])1([00][44])=([1/3001/2])([00][44])=[1.33332.0000][0.55470.8321]

Посилання: Класифікація візерунків за Дудою, Харт, Лелекою

SOLUTION2:

Альтернативно, це можна вирішити, знайшовши власний вектор до узагальненої задачі про власне значення. SBw=λSWw

Поліном у лямбда може бути утворений і рішення цього полінома будуть власне значенням для . Тепер скажемо, що ви отримали набір власних значень як корені многочлена. Тепер замінимо і отримаємо відповідний власний вектор як рішення лінійної системи рівнянь . Роблячи це для кожного i, ви можете отримати набір векторів і це набір власних векторів як рішень.determinant(SBλSW)SBw=λSWwλ1,λ2,...,λn,λ=λi,i{1,2,..,n}SBwi=λiSWwi{wi}i=1n

determinant(SBλSW)=[163λ1616162λ]=6λ280λ , тому значення власних значень корені до многочлена .6λ280λ

Тож 0 і 40/3 - це два рішення. Для LDA рішенням є власний вектор, що відповідає найвищому значенню власного значення.λ=

Рішення системи рівнянь і(SBλiSW)wi=0λi=40/3

який виявляється[163λ1616162λ]wi[72484832]wi=0

Розв’язанням вищевказаної системи рівняння є що є таким же, як і попереднє рішення.[0.55470.8321][0.55470.8321]

Як варіант, можна сказати, що лежить у нульовому просторі .[0.55470.8321][72484832]

Для двох класів LDA рішенням є власний вектор з найвищим значенням власного значення. Взагалі, для LDA класу C перші рішення є власними векторами C - 1 з найвищими значеннями C - 1.

Це відео пояснює, як обчислити власні вектори для простої задачі про власне значення. ( https://www.khanacademy.org/math/linear-algebra/alternate_bases/eigen_everything/v/linear-algebra-finding-eigenvectors-and-eigenspaces-example )

Далі наводимо приклад. http://www.sosmath.com/matrix/eigen2/eigen2.html

Багатокласний LDA: http://en.wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA

Обчислення нульового простору матриці: https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces/null_column_space/v/null-space-2-calculating-the-null-space-of-a-matrix


1
Приємна відповідь, ви маєте на увазі неправильну відповідь книги !! Гаразд?
Д-р Хошанг

Я вважаю, що ця відповідь є правильною, і якщо ваша книга по- визначає та то подивіться, що ви отримаєте з цих визначень. SWSB
dksahuji

2
-1,33 дорівнює -4/3, але другий елемент відрізняється. Може бути, книга звіт одиниця вектора w? Не правильно? Велике спасибі
доктор Хошанг

2
будь ласка, доповніть рішення 2, щоб досягти значення W, щоб отримати його
щедріше

1
@ Dr.Hoshang: Рішення у вашій книзі неправильне. Я поняття не маю, чому.
Амеба каже: Відновити Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.