Các hệ số của những người phân biệt tuyến tính là gì trong LDA?


16

Trong R, tôi sử dụng ldachức năng từ thư viện MASSđể làm phân loại. Theo tôi hiểu LDA, đầu vào x sẽ được gán nhãn , tối đa hóa , phải không?yp(y|x)

Nhưng khi tôi phù hợp với mô hình, trong đó y = D i r e c t i o n , tôi không hiểu lắm về đầu ra từ ,

x=(Lag1,Lmộtg2)
y= =DTôirectTôion,
lda

Chỉnh sửa: để tái tạo đầu ra bên dưới, trước tiên hãy chạy:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

Tôi hiểu tất cả các thông tin trong đầu ra ở trên nhưng một điều, đó là LD1gì? Tôi tìm kiếm trên web cho nó, nó là điểm phân biệt tuyến tính ? Đó là gì và tại sao tôi cần nó?

CẬP NHẬT

Tôi đã đọc một số bài đăng (chẳng hạn như bài nàybài này ) và cũng tìm kiếm trên web cho DA, và bây giờ đây là những gì tôi nghĩ về DA hoặc LDA.

  1. Nó có thể được sử dụng để thực hiện phân loại và khi đây là mục đích, tôi có thể sử dụng phương pháp Bayes, nghĩa là tính toán p(y|x) cho mỗi lớp yi , sau đó phân loại x thành lớp có mức cao nhất sau. Theo cách tiếp cận này, tôi không cần phải tìm ra những kẻ phân biệt đối xử, phải không?

  2. Như tôi đã đọc trong các bài đăng, DA hoặc ít nhất LDA chủ yếu nhằm mục đích giảm kích thước , đối với không gian dự đoán lớp KD -dim, tôi có thể chiếu D -dim x vào không gian tính năng z (K1) mới , đó là, xz

    x=(x1,...,xD)z=(z1,...,zK1)zi=wiTx
    ,zcó thể được xem là vectơ đặc trưng được chuyển đổi từxgốcvà mỗiwilà vectơ màxđược chiếu.

Tôi có đúng về những tuyên bố trên không? Nếu có, tôi có câu hỏi sau:

  1. Phân biệt đối xử là gì? Có phải mỗi mục nhập zi trong vector z là phân biệt đối xử? Hoặc wi ?

  2. Làm thế nào để phân loại bằng cách sử dụng phân biệt đối xử?


1
LDA có 2 giai đoạn riêng biệt: khai thác và phân loại. Khi trích xuất, các biến tiềm ẩn được gọi là phân biệt đối xử được hình thành, dưới dạng kết hợp tuyến tính của các biến đầu vào. Các hệ số trong các kết hợp tuyến tính được gọi là hệ số phân biệt; đây là những gì bạn hỏi về Ở giai đoạn 2, các điểm dữ liệu được gán cho các lớp bởi những người phân biệt đối xử đó, không phải bởi các biến ban đầu. Để đọc thêm, tìm kiếm discriminant analysistrên trang web này.
ttnphns

2
Điểm phân biệt tuyến tính là giá trị của điểm dữ liệu bởi người phân biệt đối xử, vì vậy đừng nhầm lẫn nó với hệ số phân biệt, giống như hệ số hồi quy. Xem câu trả lời chi tiết của tôi ở đây .
ttnphns

Xp(y|x)LD1

Bạn có thể và có thể thực hiện phân loại quy tắc Bayes dựa trên các biến ban đầu. Nhưng điều này sẽ không được phân tích phân biệt. Phần thiết yếu của LDA là giảm kích thước, cho phép bạn thay thế các biến phân loại ban đầu bằng một số lượng nhỏ hơn các phân loại phái sinh, các phân biệt đối xử. Xin vui lòng đọc các bài viết ở đây, đặc biệt là của tôi, họ mô tả rất rõ các ý tưởng và toán học của LDA.
ttnphns

@ttnphns, tôi đang đọc bài đăng mà bạn đã liên kết trong nhận xét trên, ;-)

Câu trả lời:


5

LDA1-0,6420190×Lag1+-0,5135293×Lag2

Biểu đồ dưới đây minh họa mối quan hệ giữa điểm số, xác suất sau và phân loại cho tập dữ liệu được sử dụng trong câu hỏi. Các mẫu cơ bản luôn giữ với LDA hai nhóm: có ánh xạ 1 đến 1 giữa điểm số và xác suất sau, và dự đoán là tương đương khi được thực hiện từ xác suất sau hoặc điểm số.

Score, Posterior Probability, Classification

Trả lời các câu hỏi phụ và một số ý kiến ​​khác

  • Mặc dù LDA có thể được sử dụng để giảm kích thước, nhưng đây không phải là điều đang diễn ra trong ví dụ. Với hai nhóm, lý do chỉ cần một điểm duy nhất cho mỗi quan sát là đây là tất cả những gì cần thiết. Điều này là do xác suất ở trong một nhóm là phần bổ sung của xác suất ở trong nhóm khác (nghĩa là họ thêm vào 1). Bạn có thể thấy điều này trong biểu đồ: điểm dưới -.4 được phân loại là thuộc nhóm Xuống và điểm cao hơn được dự đoán là Lên .

  • Đôi khi vectơ của điểm được gọi là a discriminant function. Đôi khi các hệ số được gọi là này. Tôi không rõ liệu một trong hai là chính xác. Tôi tin rằng MASS discriminantđề cập đến các hệ số.

  • ldaChức năng của gói MASS tạo ra các hệ số theo cách khác với hầu hết các phần mềm LDA khác. Phương pháp thay thế tính toán một bộ hệ số cho mỗi nhóm và mỗi bộ hệ số có một phần chặn. Với hàm phân biệt (điểm) được tính bằng các hệ số này, việc phân loại dựa trên điểm số cao nhất và không cần tính toán xác suất sau để dự đoán phân loại. Tôi đã đặt một số mã LDA trong GitHub, đây là một sửa đổi của MASShàm nhưng tạo ra các hệ số thuận tiện hơn này (gói được gọi Displayr/flipMultivariatesvà nếu bạn tạo một đối tượng bằng cách sử dụng, LDAbạn có thể trích xuất các hệ số bằng cách sử dụng obj$original$discriminant.functions).

  • Tôi đã đăng R cho mã tất cả các khái niệm trong bài này ở đây .

  • Không có công thức duy nhất để tính xác suất sau từ điểm số. Cách dễ nhất để hiểu các tùy chọn là (đối với tôi dù thế nào) để xem mã nguồn, sử dụng:

library(MASS) getAnywhere("predict.lda")


I'm not clear on whether either [word use] is correct"Hàm phân biệt" hay còn gọi là "phân biệt đối xử" là một phương sai được trích xuất - một biến, một thứ nguyên. Do đó, nó được đặc trưng bởi cả hai hệ số (trọng số) để đánh giá nó từ các biến đầu vào và theo điểm số, các giá trị. Chính xác như một PC trong PCA. Vì vậy, "hệ số phân biệt đối xử" và "điểm số phân biệt đối xử" là cách sử dụng chính xác.
ttnphns

@ttnphns, cách sử dụng thuật ngữ của bạn rất rõ ràng và không mơ hồ. Nhưng, đó không phải là cách sử dụng xuất hiện trong phần lớn bài đăng và ấn phẩm về chủ đề này, đó là điểm mà tôi đang cố gắng thực hiện. Chỉ dựa trên ý nghĩa của từ, tôi thấy khá rõ rằng "hàm phân biệt đối xử" nên nói đến hàm toán học (nghĩa là sumproduct và các hệ số), nhưng một lần nữa tôi không rõ rằng đây là cách sử dụng rộng rãi.
Tim

@Tim liên kết bạn đã đăng cho mã đã chết, bạn có thể sao chép mã vào câu trả lời của mình không?
baxx

0

Lý thuyết đằng sau chức năng này là "Phương pháp của Fisher để phân biệt đối xử trong một số dân". Tôi đề nghị chương 11.6 trong phân tích thống kê đa biến được áp dụng (ISBN: Nhỏ34995394) để tham khảo.

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.