Как рассчитать вес критерия Фишера?


12

Я изучаю распознавание образов и машинное обучение, и я столкнулся со следующим вопросом.

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

P(D1)=P(D2)=12

и распределение экземпляров в каждом классе, заданное

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

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

Как рассчитать вес критерия Фишера?

Обновление 2: Расчетный вес, предоставленный моей книгой: .W=[4329]

Обновление 3: Как намекнул @xeon, я понимаю, что должен определить линию проекции дискриминанта Фишера.

Обновление 4: Пусть будет направлением проекционной линии, тогда метод линейного дискриминанта Фишера находит, что наилучшим является тот, для которого функция критерия максимизирована. Оставшаяся проблема заключается в том, как мы можем получить численно вектор?W WWWW


Ваше первое распространение не определено. В частности, вторая вариация пары имеет вырожденное распределение с 0 дисперсией, но имеет положительную ковариацию с первой вариацией, что невозможно.
owensmartin

@owensmartin ты хоть представляешь, как рассчитываются эти значения?
Доктор Хошанг

Каково определение критерия веса Фишера?
Владислав Довгальец

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

Подсказка: какая будет граница между двумя классами? Линейный, полином, что-то еще?
Владислав Довгальец

Ответы:


11

После статьи, на которую вы ссылаетесь (Mika et al., 1999) , мы должны найти которое максимизирует так называемый обобщенный фактор Рэлея ,w

wSBwwSWw,

где для означает и ковариации C 1 , C 2 ,m1,m2C1,C2

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

SBw=λSWw,
λ wSB-λSW=( 16 - 3 λ 16 16 16 - 2 λ ).
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
@ Лукас, возможно, рассматриваемый результат близок к комментариям ксеона: «Возможно, нам следует сообщить единичный вектор w, поскольку гиперплоскость определяется направлением, а не величиной.» Не так ли?
нини


1
@ Лукас Спасибо. Не могли бы вы добавить еще одну картинку для W = [- 2/3 -2/3] и W = [- 4/3 -2/3] и W = [- 2 -3] с тремя разными цветами, чтобы увидеть границу? Благодарю. Я назначил вам награду за хороший ответ.
нини

7

SOLUTION1:

После Дуда и соавт. (Pattern CLassification), который имеет альтернативное решение @lucas и в этом случае дает очень простое решение вручную. (Надеюсь, это альтернативное решение поможет! :))

В двух классах LDA целью является:

wTSBwwTSWw что просто означает, что увеличить дисперсию между классами и уменьшить дисперсию внутри класса.

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

Решение этого обобщенного фактора Рэлея является обобщенной пробой собственного значения.

SBw=λSWwSW1SBw=λw

Вышеуказанная композиция имеет раствор в закрытой форме. - матрица ранга 1 с базисом поэтому который может быть normlizd, чтобы получить ответ.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]

В качестве альтернативы мы можем сказать, что лежит в нулевом пространстве .[ - 72 48 48 - 32 ][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
Хороший ответ, вы имеете в виду, что ответ книги неправильный !! Окей?
Доктор Хошанг

Я считаю, что этот ответ правильный, и если ваша книга по- определяет и тогда посмотрите, что вы получите с этими определениями. S BSWSB
dksahuji

2
-1,33 равно -4/3, но второй элемент отличается. Может быть, книжный отчет единица вектора W? Не правильно? Большое спасибо
доктор Хошанг

2
Пожалуйста, завершите решение 2, чтобы достичь значения W, чтобы
щедро одарить

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