Tính toán và vẽ đồ thị ranh giới quyết định LDA


19

Tôi thấy một âm mưu LDA (phân tích phân biệt đối xử tuyến tính) với ranh giới quyết định từ Các yếu tố của học thống kê :nhập mô tả hình ảnh ở đây

Tôi hiểu rằng dữ liệu được chiếu lên không gian con chiều thấp hơn. Tuy nhiên, tôi muốn biết làm thế nào chúng ta có được các ranh giới quyết định trong kích thước ban đầu để tôi có thể chiếu các ranh giới quyết định lên một không gian con chiều thấp hơn (như các đường màu đen trong hình trên).

Có một công thức mà tôi có thể sử dụng để tính các ranh giới quyết định theo chiều ban đầu (cao hơn) không? Nếu có, thì công thức này cần gì?


3
Thay vì ranh giới quyết định, có lẽ bạn sẽ tìm thấy nhiều tiện ích hơn trong việc xem xét xác suất sau của thành viên lớp. Điều này có thể được thực hiện với ít giả định hơn bằng cách sử dụng hồi quy logistic polytomous (multinomial) nhưng cũng có thể được thực hiện với LDA (xác suất sau).
Frank Harrell

2
Trong LDA, các ranh giới phân loại đó tạo thành một bản đồ lãnh thổ . Tôi làm việc với SPSS và nó vẽ nó , mặc dù ở định dạng văn bản. Theo một nhà thiết kế SPSS, các ranh giới được tìm thấy dễ dàng bằng cách tiếp cận thực tế:
ttnphns

3
(tt) mọi điểm của lưới mịn được phân loại LDA, và sau đó nếu một điểm được phân loại là lân cận của nó, thì điểm đó không được hiển thị. Do đó, cuối cùng chỉ còn lại các "dải mơ hồ". Trích dẫn : they (bondaries) are never computed. The plot is drawn by classifying every character cell in it, then blanking out all those surrounded by cells classified into the same category.
ttnphns

Câu trả lời:


21

Con số đặc biệt này ở Hastie et al. được sản xuất mà không có phương trình tính toán của ranh giới lớp. Thay vào đó, thuật toán được phác thảo bởi @ttnphns trong các bình luận đã được sử dụng, xem chú thích 2 trong phần 4.3, trang 110:

Đối với hình này và nhiều số liệu tương tự trong cuốn sách, chúng tôi tính toán các ranh giới quyết định bằng một phương pháp đường viền hoàn chỉnh. Chúng tôi tính toán quy tắc quyết định trên một mạng lưới các điểm và sau đó sử dụng các thuật toán đường viền để tính các ranh giới.

Tuy nhiên, tôi sẽ tiến hành mô tả cách thu được các phương trình của ranh giới lớp LDA.

Hãy bắt đầu với một ví dụ 2D đơn giản. Đây là dữ liệu từ bộ dữ liệu Iris ; Tôi loại bỏ các phép đo cánh hoa và chỉ xem xét chiều dài và chiều rộng của cánh hoa. Ba lớp được đánh dấu bằng màu đỏ, xanh lá cây và xanh dương:

Bộ dữ liệu Iris

Hãy để chúng tôi biểu thị các phương tiện lớp (centroid) là . LDA giả định rằng tất cả các lớp có cùng hiệp phương sai trong lớp; được cung cấp dữ liệu, ma trận hiệp phương sai được chia sẻ này được ước tính (lên tới tỷ lệ) là , trong đó tổng là trên tất cả các điểm dữ liệu và tâm của lớp tương ứng được trừ từ mỗi điểm.μ1,μ2,μ3W=i(xiμk)(xiμk)

Đối với mỗi cặp lớp (ví dụ lớp và ) có một ranh giới lớp giữa chúng. Rõ ràng là ranh giới phải đi qua điểm giữa giữa hai lớp trung tâm . Một trong những kết quả LDA trung tâm là ranh giới này là một đường thẳng trực giao với . Có một số cách để có được kết quả này, và mặc dù nó không phải là một phần của câu hỏi, tôi sẽ gợi ý ngắn gọn về ba trong số chúng trong Phụ lục dưới đây.12(μ1+μ2)/2W1(μ1μ2)

Lưu ý rằng những gì được viết ở trên đã là một đặc điểm kỹ thuật chính xác của ranh giới. Nếu một người muốn có một phương trình đường thẳng ở dạng chuẩn , thì hệ số và có thể được tính toán và sẽ được đưa ra bởi một số công thức lộn xộn. Tôi khó có thể tưởng tượng một tình huống khi điều này sẽ cần thiết.y=ax+bab

Bây giờ chúng ta áp dụng công thức này cho ví dụ Iris. Đối với mỗi cặp lớp, tôi tìm một điểm giữa và vẽ đường thẳng vuông góc với :W1(μiμj)

LDA của bộ dữ liệu Iris, ranh giới quyết định

Ba đường cắt nhau trong một điểm, như đã được dự kiến. Ranh giới quyết định được đưa ra bởi các tia bắt đầu từ điểm giao nhau:

LDA của bộ dữ liệu Iris, ranh giới quyết định cuối cùng

Lưu ý rằng nếu số lượng lớp là , thì sẽ có các cặp lớp và rất nhiều dòng, tất cả giao nhau trong một mớ hỗn độn. Để vẽ một bức tranh đẹp như bức tranh từ Hastie và cộng sự, người ta chỉ cần giữ các phân đoạn cần thiết và bản thân nó là một vấn đề thuật toán riêng biệt (không liên quan đến LDA theo bất kỳ cách nào, bởi vì người ta không cần phải làm điều đó phân loại; để phân loại một điểm, hoặc kiểm tra khoảng cách Mahalanobis cho mỗi lớp và chọn điểm có khoảng cách thấp nhất, hoặc sử dụng một loạt hoặc LDA theo cặp).K2K(K1)/2

Trong nguyên, công thức giữ nguyên chính xác : ranh giới trực giao với và đi qua . Tuy nhiên, ở các kích thước cao hơn, đây không phải là một dòng nữa mà là một siêu phẳng kích thước . Đối với mục đích minh họa, người ta có thể chỉ cần chiếu bộ dữ liệu lên hai trục phân biệt đầu tiên, và do đó giảm vấn đề cho trường hợp 2D (mà tôi tin là những gì Hastie và cộng sự đã làm để tạo ra hình đó).D>2W1(μ1μ2)(μ1+μ2)/2D1

ruột thừa

Làm cách nào để thấy rằng ranh giới là một đường thẳng trực giao với ? Dưới đây là một số cách có thể để có được kết quả này:W1(μ1μ2)

  1. Cách ưa thích: tạo ra số liệu Mahalanobis trên máy bay; ranh giới phải trực giao với trong số liệu này, QED.W1μ1μ2

  2. Cách Gaussian tiêu chuẩn: nếu cả hai lớp được mô tả bởi các phân phối Gaussian, thì khả năng log của một điểm thuộc về lớp tỷ lệ thuận với . Trên ranh giới, khả năng thuộc về lớp và là bằng nhau; viết nó xuống, đơn giản hóa và ngay lập tức bạn sẽ nhận được , QED.xk(xμk)W1(xμk)12xW1(μ1μ2)=const

  3. Cách laboursome nhưng trực quan. Hãy tưởng tượng rằng là một ma trận danh tính, tức là tất cả các lớp đều có dạng hình cầu. Sau đó, giải pháp rất rõ ràng: ranh giới chỉ đơn giản là trực giao với . Nếu các lớp không phải hình cầu, thì người ta có thể làm cho chúng như vậy bằng cách hình cầu. Nếu phân tách riêng của là , thì ma trận sẽ thực hiện thủ thuật (xem ví dụ ở đây ). Vì vậy, sau khi áp dụng , ranh giới là trực giao với . Nếu chúng ta lấy ranh giới này, biến đổi nó trở lại vớiμ 1 - μ 2 W W = U D US = D - 1 / 2 US S ( μ 1 - μ 2 ) S - 1 SS ( μ 1 - μ 2 ) SWμ1μ2WW=UDUS=D1/2USS(μ1μ2)S1 và hỏi bây giờ nó trực giao với cái gì, câu trả lời (bên trái là bài tập) là: to . Cắm biểu thức cho , chúng ta sẽ có QED.SS(μ1μ2)S


Tôi đã không nghiên cứu câu trả lời của bạn. Nó có vẻ tinh vi và có thể đúng. Điều gì về cách tiếp cận "rắc điểm, phân loại, sau đó suy ra ranh giới" thực tế và dễ dàng hơn mà tôi đã nêu trong một nhận xét? Là cách tiếp cận của bạn có thể so sánh với kết quả của nó (rõ ràng là chính xác)? Bạn nghĩ sao?
ttnphns

1
@ttnphns: Phần kỹ thuật duy nhất trong câu trả lời của tôi (một danh sách được đánh số với 3 mục) là cung cấp một số bằng chứng và có thể bỏ qua một cách an toàn. Phần còn lại, tôi tin rằng, không đặc biệt tinh vi! Có lẽ tôi nên chuyển phần "phụ" đó xuống, như một phụ lục? Về ý kiến ​​của bạn: Tôi nghĩ rằng đây là một cách tiếp cận hợp lệ và tôi thích giao diện ASCII của "bản đồ lãnh thổ" SPSS. Có lẽ bạn có thể chuyển ý kiến ​​của mình thành một câu trả lời riêng biệt (và đưa ra một bức tranh mẫu mực về bản đồ SPSS ở đó), tôi nghĩ nó sẽ hữu ích cho các tài liệu tham khảo trong tương lai. Các kết quả tất nhiên phải tương đương.
amip nói phục hồi Monica

@ttnphns: Hóa ra là Hastie et al. đã sử dụng chính xác phương pháp mà bạn mô tả ở đây để vẽ đồ thị của chúng, bao gồm cả phương pháp được sao chép trong OP. Tôi tìm thấy một chú thích nói chính xác điều đó (và cập nhật câu trả lời của tôi, trích dẫn nó ngay từ đầu).
amip nói rằng Tái lập lại Monica

Chờ đợi! câu trả lời tuyệt vời (3 năm sau!) tôi có thể hỏi làm thế nào bạn có thể vẽ các phân đoạn trong vấn đề cụ thể này không?
Xavier Bourret Sicotte
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.