Làm thế nào để tính trọng lượng tiêu chí Fisher?


12

Tôi đang nghiên cứu nhận dạng mẫu và học máy, và tôi gặp phải câu hỏi sau đây.

Xem xét một vấn đề phân loại hai lớp với xác suất lớp trước bằng nhau

P(D1)=P(D2)=12

và phân phối các thể hiện trong mỗi lớp được đưa ra bởi

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

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

Làm thế nào để tính trọng lượng tiêu chí Fisher?

Cập nhật 2: Trọng lượng tính toán được cung cấp bởi sách của tôi là: W=[4329].

Cập nhật 3: Theo gợi ý của @xeon, tôi hiểu rằng tôi nên xác định đường chiếu cho phân biệt đối xử của Fisher.

Cập nhật 4: Gọi là hướng của đường chiếu, sau đó phương pháp phân biệt tuyến tính Fisher thấy rằng W tốt nhất là hướng mà hàm tiêu chí được tối đa hóa. Thách thức còn lại là làm thế nào chúng ta có thể có được vectơ W số ?WWW


Phân phối đầu tiên của bạn là không xác định. Cụ thể, phương sai thứ hai của cặp có phân phối suy biến với 0 phương sai, nhưng có hiệp phương sai dương với phương sai thứ nhất, điều này là không thể.
owensmartin

@owensmartin bạn có ý kiến ​​gì không, những giá trị này được tính như thế nào?
Bác sĩ Hoshang

Định nghĩa của trọng lượng tiêu chí Fisher là gì?
Vladislavs Dovgalecs

Tôi có nghĩa là phân biệt đối xử tuyến tính của Fisher được đưa ra bởi vectơ w tối đa hóa ... nó được ghi chú trên mọi tài liệu như luthuli.cs.uiuc.edu/~daf/cifts/Learning/Kernelpapers/ tựa trên p. 2. có phải là okey @xeon không?
Bác sĩ Hoshang

Gợi ý: Điều gì sẽ là ranh giới giữa hai lớp? Tuyến tính, đa thức, cái gì khác?
Vladislavs Dovgalecs

Câu trả lời:


11

Theo bài báo mà bạn liên kết đến (Mika et al., 1999) , chúng ta phải tìm ra tối đa hóa cái gọi là thương số Rayleigh tổng quát ,w

wSBwwSWw,

trong đó phương tiện và hiệp phương sai Cm1,m2 ,C1,C2

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

Các giải pháp có thể được tìm thấy bằng cách giải quyết các vấn đề tổng quát eigenvalue bằng cách đầu tiên tính toán giá trị riêng bước sóng bằng cách giải det ( S B - λ S W ) = 0 và sau đó giải quyết cho eigenvector w . Trong trường hợp của bạn, S B - λ S W = ( 16 - 3 λ 16 16 16 - 2 λ ) .

SBw=λSWw,
λ
det(SBλSW)=0
w
SBλSW=(163λ1616162λ).
Yếu tố quyết định của ma trận 2x2 này có thể được tính bằng tay.

Trình xác định với giá trị riêng lớn nhất tối đa hóa thương số Rayleigh. Thay vì làm các tính toán bằng tay, tôi đã giải quyết được vấn đề eigenvalue khái quát hóa bằng Python sử dụng scipy.linalg.eigvà có

w10.5547,w20.8321,
đó là khác biệt so với các giải pháp mà bạn tìm thấy trong cuốn sách của mình. Dưới đây tôi vẽ sơ đồ siêu phẳng tối ưu của vectơ trọng lượng tôi tìm thấy (màu đen) và siêu phẳng của vectơ trọng lượng được tìm thấy trong sách của bạn (màu đỏ).

enter image description here


1
Ví dụ này rất thú vị. Cả hai dòng tách biệt hai lớp nhưng một trong số chúng là "tốt hơn" từ quan điểm học lý thuyết.
Vladislavs Dovgalecs

2
Tiêu chí của Fisher được trình bày chi tiết tại phần 5-2-3 trên Books.google.com.vn/out
nini

1
@Lucas có thể kết quả trong câu hỏi gần với nhận xét của xeon, "Có lẽ chúng ta nên báo cáo vectơ đơn vị w vì siêu phẳng được xác định theo hướng, không phải cường độ." Phải không?
nini

1
Oh !!! câu hỏi đầy thách thức, tôi khuyên bạn nên xem trang 2 trên dml.ir/wp-content/uploads/2012/04/SPR-S12-M-Sol.pdf
user153695

1
@Lika Cảm ơn. bạn vui lòng thêm một hình ảnh khác cho W = [- 2/3 -2/3] và W = [- 4/3 -2/3] và W = [- 2 -3] với ba màu khác nhau để xem ranh giới? Cảm ơn. Tôi đặt tiền thưởng cho bạn để trả lời tốt đẹp.
nini

7

SOLUTION1:

Theo Duda et al. (Mô hình hóa) có giải pháp thay thế cho @lucas và trong trường hợp này cung cấp giải pháp rất dễ dàng bằng tay. (Hy vọng giải pháp thay thế này sẽ giúp !! :))

Trong hai lớp LDA, mục tiêu là:

wTSBwwTSWw

SB=(m1m2)(m1m2)TSW=S1+S2S1,S2m1,m2

Giải pháp của thương số raleigh tổng quát này là một mẫu thử giá trị bản địa tổng quát.

SBw=λSWwSW1SBw=λw

SBm1m2wSW1(m1m2)

w

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

Tham chiếu: Phân loại mẫu theo Duda, Hart, Cò

SOLUTION2:

SBw=λSWw

determinant(SBλSW)SBw=λSWwλ1,λ2,...,λn,λ=λi,i{1,2,..,n}SBwi=λiSWwi{wTôi}Tôi= =1n và nó là một tập hợp các vectơ riêng như là giải pháp.

determinant(SBλSW)=[163λ1616162λ]=6λ280λ, So eigen values are roots to polynomial 6λ280λ.

So λ= 0 and 40/3 are the two solutions. For LDA, eigen vector corresponding to highest eigen value is the solution.

Solution to system of equation (SBλiSW)wi=0 and λi=40/3

which turns out to be [163λ1616162λ]wi[72484832]wi=0

Solution to the above system of equation is [0.55470.8321][0.55470.8321] which is same as previous solution.

Alternatively, we can say that [0.55470.8321] lies in the null space of [72484832].

For two class LDA, eigen vector with highest eigen value is the solution. In general, for C class LDA, the first C - 1 eigen vectors to highest C - 1 eigen values constitute the solution.

This video explains how to compute eigen vectors for simple eigen value problem. ( https://www.khanacademy.org/math/linear-algebra/alternate_bases/eigen_everything/v/linear-algebra-finding-eigenvectors-and-eigenspaces-example )

Following is an example. http://www.sosmath.com/matrix/eigen2/eigen2.html

Multi-class LDA: http://en.wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA

Calculating Null Space of a matrix: 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
Nice answer, you means answer of book is wrong!! Okey?
Dr. Hoshang

I believe that this answer is correct and if your book defines SW and SB differently then see what you get with those definitions.
dksahuji

2
-1.33 is equal to -4/3 but the second element is differ. Maybe book report unit vector w? Isn't right? Thanks so much
Dr. Hoshang

2
please complete solution 2 to reach value of W to bounty it
nini

1
@Dr.Hoshang: The solution in your book is wrong. I have no idea why.
amoeba says Reinstate Monica
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.