LDA LÀ GÌ

  -  
2. Linear Discriminant Analysis mang lại bài bác tân oán cùng với 2 classes 3. Linear Discriminant Analysis cho multi-class classification problems 3.1. Xây dựng hàm mất non 4. lấy ví dụ trên Pyeo hẹp

1. Giới thiệu

Trong nhị bài viết trước, tôi sẽ giới thiệu về thuật tân oán sút chiều dữ liệu được thực hiện rộng rãi tốt nhất - Principle Component Analysis (PCA). Như vẫn đề cập, PCA là 1 trong phương thức ở trong một số loại unsupervised learning, Tức là nó chỉ áp dụng những vector biểu lộ tài liệu nhưng không sử dụng cho tới labels, giả dụ tất cả, của tài liệu. Trong bài bác tân oán classification, dạng nổi bật độc nhất của supervised learning, vấn đề áp dụng labels đã đem về hiệu quả phân các loại tốt hơn.Bạn sẽ xem: Lda là gì

Nhắc lại một lần tiếp nữa, PCA là phương thức bớt chiều tài liệu làm sao để cho lượng công bố về dữ liệu, diễn đạt ở tổng phương không nên, được cất giữ là những duy nhất. Tuy nhiên, trong nhiều trường hòa hợp, ta ko buộc phải giữ gìn lượng biết tin lớn số 1 nhưng mà chỉ cần giữ lại lên tiếng cần thiết cho riêng bài xích toán thù. Xét ví dụ về bài toán thù phân lớp cùng với 2 classes được mô tả trong Hình 1.

Bạn đang xem: Lda là gì


*

Hình 1: Chiếu dữ liệu lên những đường thẳng khác biệt. Có hai lớp tài liệu minch hoạ bởi các điểm greed color với đỏ. Dữ liệu được sút số chiều về 1 bằng cách chiếu bọn chúng lên những mặt đường trực tiếp không giống nhau (d_1) với (d_2). Trong nhị phương pháp chiều này, phương thơm của (d_1) tương tự với phương thơm của nguyên tố chủ yếu thứ nhất của tài liệu, pmùi hương của (d_2) ngay gần cùng với nguyên tố phú của dữ liệu giả dụ sử dụng PCA. Lúc chiếu lên (d_1), những điểm red color với xanh bị chồng lấn lên nhau, khiến cho việc phân nhiều loại dữ liệu là không khả thi trên phố thẳng này. Ngược lại, lúc được chiếu lên (d_2), tài liệu của nhị class được phân thành các các tương xứng tách biệt nhau, để cho Việc classification trsinh hoạt cần đơn giản và dễ dàng hơn và kết quả rộng. Các mặt đường cong hình chuông biểu thị dao động phân bố Tỷ Lệ của dữ liệu hình chiếu trong mỗi class.

Trong Hình 1, ta mang sử rằng dữ liệu được chiếu lên 1 đường trực tiếp cùng mỗi điểm được đại diện thay mặt vì hình chiếu của nó phát xuất thẳng cơ. bởi thế, từ tài liệu các chiều, ta đang sút nó về 1 chiều. Câu hỏi đặt ra là, con đường thẳng cần phải có phương ra làm sao để hình chiếu của dữ liệu trê tuyến phố trực tiếp này giúp ích mang lại bài toán classification nhất? Việc classification dễ dàng và đơn giản nhất hoàn toàn có thể được gọi là việc tìm kiếm ra một ngưỡng giúp phân bóc hai class một phương pháp dễ dàng và đơn giản cùng đạt kết quả tốt nhất có thể.

Xét hai đường thằng (d_1) cùng (d_2). Trong đó phương thơm của (d_1) ngay gần cùng với phương thơm của nhân tố chính nếu như có tác dụng PCA, phương thơm của (d_2) gần cùng với pmùi hương của nguyên tố prúc kiếm được bằng PCA. Nếu ra làm cho sút chiều dữ liệu bởi PCA, ta sẽ nhận được dữ liệu sát cùng với những điểm được chiếu lên (d_1). Hiện giờ vấn đề phân tách bóc nhị class trlàm việc nên phức tạp vị những điểm đại diện thay mặt mang đến nhị classes ông chồng lấn lên nhau. trái lại, nếu như ta chiếu tài liệu xuất xứ trực tiếp sát cùng với nguyên tố phụ kiếm được vày PCA, tức (d_2), những điểm hình chiếu nằm trọn vẹn về nhị phía khác nhau của điểm màu sắc lục trên tuyến đường trực tiếp này. Với bài xích tân oán classification, bài toán chiếu tài liệu lên (d_2) vày vậy vẫn mang lại tác dụng rộng. Việc phân nhiều loại một điểm tài liệu mới sẽ được xác định lập cập bằng cách đối chiếu hình chiếu của chính nó lên (d_2) cùng với điểm blue color lục này.

Qua ví dụ bên trên ta thấy, không phải câu hỏi lưu lại ban bố các độc nhất vô nhị vẫn luôn luôn đem về công dụng cực tốt. Chụ ý rằng hiệu quả của so với bên trên đây không Tức là yếu tắc phú mang lại hiệu quả giỏi rộng yếu tắc bao gồm, nó chỉ là một trong ngôi trường đúng theo quan trọng. Việc chiếu dữ liệu căn nguyên trực tiếp nào đề xuất nhiều so với ví dụ không chỉ có vậy. Cũng xin nói thêm, hai đường thằng (d_1) cùng (d_2) trên đây ko vuông góc với nhau, tôi chỉ chọn ra hai phía ngay sát với các nhân tố chính cùng phụ của tài liệu nhằm minch hoạ. Nếu bạn phải bài viết liên quan về yếu tắc chính/prúc, bạn sẽ thấy Bài 27 cùng Bài 28 về Principal Component Analysis (Phân tích yếu tắc chính) hữu ích.

Linear Discriminant Analysis (LDA) được Thành lập nhằm mục tiêu xử lý vụ việc này. LDA là 1 phương thức giảm chiều dữ liệu cho bài tân oán classification. LDA hoàn toàn có thể được xem như là một phương thức bớt chiều tài liệu (dimensionality reduction), cùng cũng rất có thể được xem như là một phương pháp phân lớp (classification), cùng cũng có thể được áp dụng bên cạnh đó cho tất cả nhị, tức sút chiều dữ liệu sao để cho vấn đề phân lớp kết quả tốt nhất. Số chiều của tài liệu new là nhỏ dại hơn hoặc bởi (C-1) trong số đó (C) là số lượng classes. Từ ‘Discriminant’ được đọc là rất nhiều ban bố đặc trưng cho mỗi class, khiến cho nó không bị lẫn với những classes khác. Từ ‘Linear’ được sử dụng vày giải pháp giảm chiều dữ liệu được tiến hành vày một ma trận chiếu (projection matrix), là 1 phxay biến hóa tuyến đường tính (linear transform).

Trong Mục 2 sau đây, tôi vẫn trình bày về ngôi trường đúng theo binary classification, tức gồm 2 classes. Mục 3 đã bao quát lên cho trường hợp với nhiều classes rộng 2. Mục 4 sẽ sở hữu các ví dụ cùng code Pybé nhỏ cho LDA.

2. Linear Discriminant Analysis mang lại bài bác toán với 2 classes

2.1. Ý tưởng cơ bản

Mọi phương pháp classification phần đa được bắt đầu với bài bác tân oán binary classification, và LDA cũng chưa phải nước ngoài lệ.

Quay lại cùng với Hinh 1, các mặt đường hình chuông mô tả thứ thị của các hàm tỷ lệ xác suất (probability density function - pdf) của tài liệu được chiếu xuống theo từng class. Phân phối chuẩn tại chỗ này được sử dụng nhỏng là một thay mặt đại diện, tài liệu không nhất thiết luôn nên tuân thủ theo đúng phân phối chuẩn chỉnh.

Độ rộng của mỗi mặt đường hình chuông biểu lộ độ lệch chuẩn của tài liệu. Dữ liệu càng triệu tập thì độ lệch chuẩn càng nhỏ, càng phân tán thì độ lệch chuẩn chỉnh càng tốt. Khi được chiếu lên (d_1), dữ liệu của nhị classes bị phân tán quá nhiều, để cho chúng bị pha trộn vào với nhau. khi được chiếu lên (d_2), mỗi classes đều có độ lệch chuẩn chỉnh bé dại, khiến cho dữ liệu vào từng class triệu tập hơn, dẫn mang lại kết quả giỏi hơn.

Tuy nhiên, việc độ lệch chuẩn bé dại trong mỗi class không đầy đủ để đảm bảo độ Discriminant của tài liệu. Xét các ví dụ vào Hình 2.


*

Hình 2: Khoảng giải pháp thân các mong muốn cùng tổng các pmùi hương sai tác động tới độ discriminant của dữ liệu. a) Khoảng biện pháp giữa nhì mong rằng là béo tuy nhiên phương thơm sai trong những class cũng to, làm cho nhì phân phối hận ông chồng lấn lên nhau (phần màu sắc xám). b) Phương không nên cho từng class là hết sức nhỏ nhưng mà nhị kỳ vọng vượt ngay sát nhau, khiến cho khó phân biệt 2 class. c) lúc phương sai đầy đủ bé dại với khoảng cách giữa nhì mong muốn đủ bự, ta thấy rằng tài liệu discriminant rộng.

Hình 2a) giống với dữ liệu Khi chiếu lên (d_1) làm việc Hình 1. Cả nhì class phần đông quá phân tán làm cho tỉ lệ ông xã lấn (phần diện tích S màu xám) là bự, tức tài liệu không thực sự discriminative.

Hình 2b) là trường vừa lòng Khi độ lệch chuẩn của hai class số đông bé dại, tức tài liệu tập trung rộng. Tuy nhiên, vụ việc cùng với ngôi trường hợp này là khoảng cách giữa nhị class, được đo bằng khoảng cách thân hai hy vọng (m_1) với (m_2), là vượt nhỏ, làm cho phần ck lấn cũng chiếm môt tỉ lệ bự, cùng tất yếu, cũng không giỏi mang lại classification.

cũng có thể ai đang trường đoản cú hỏi, độ lệch chuẩn cùng khoảng cách thân nhị mong muốn thay mặt cho những tiêu chí gì:

Nlỗi sẽ nói, độ lệch chuẩn chỉnh bé dại diễn tả việc dữ liệu không nhiều phân tán. Vấn đề này tức là dữ liệu trong những class tất cả xu hướng như là nhau. Hai pmùi hương không nên (s_1^2, s_2^2) còn gọi là các within-class variances.

Xem thêm: Tổng Hợp Top 20 Resort 5 Sao Phú Quốc Tốt Nhất, 10 Khách Sạn 5 Sao Tốt Nhất Tại Đảo Phú Quốc

Khoảng cách giữa những hy vọng là to chứng tỏ rằng nhị classes ở xa nhau chừng, tức dữ liệu thân các classes là khác nhau nhiều. Bình phương khoảng cách thân nhị hy vọng ((m_1 - m_2)^2) còn được gọi là between-class variance.

Hai classes được Gọi là discriminative trường hợp hai class đó giải pháp xa nhau chừng (between-class variance lớn) cùng dữ liệu trong những class có Xu thế như là nhau (within-class variance nhỏ). Linear Discriminant Analysis là thuật toán thù đi tìm một phxay chiếu làm thế nào cho tỉ lệ thân between-class variance cùng within-class variance lớn nhất hoàn toàn có thể.

2.2. Xây dựng hàm mục tiêu

Giả sử rằng có (N) điểm dữ liệu (mathbfx_1, mathbfx_2, dots, mathbfx_N) trong các số ấy (N_1 &=&mathbfw^T underbracesum_k=1^2 sum_n in mathcalC_k (mathbfx_n - mathbfm_k)(mathbfx_n - mathbfm_k)^T_mathbfS_W mathbfw = mathbfw^TmathbfS_W mathbfw~~~~~(6)endeqnarray>(mathbfS_W) còn gọi là within-class covariance matrix. Đây cũng là 1 trong ma trận đối xứng nửa xác minh dương vị nó là tổng của nhì ma trận đối xứng nửa khẳng định dương.

Trong ((5)) cùng ((6)), ta đang sử dụng đẳng thức:cùng với (mathbfa, mathbfb) là hai vectors thuộc chiều bất kỳ.

bởi thế, bài bác toán buổi tối ưu cho LDA trnghỉ ngơi thành:

2.3. Nghiệm của bài bác tân oán về tối ưu

Nghiệm (mathbfw) của ((7)) đang là nghiệm của phương trình đạo hàm hàm phương châm bằng 0. Sử dụng chain rule đến đạo hàm hàm nhiều trở thành và cách làm ( abla_mathbfwmathbfw mathbfAmathbfw = 2mathbfAw) giả dụ (mathbfA) là một trong ma trận đối xứng, ta có:

Lưu ý: Trong ((10)), ta đang trả sử rằng ma trận (mathbfS_W) là khả nghịch. Điều này sẽ không luôn luôn luôn luôn đúng, tuy thế tất cả một trick nhỏ là ta hoàn toàn có thể xê dịch (mathbfS_W) bởi ( armathbfS_W approx mathbfS_W + lambdamathbfI) với (lambda) là một số thực dương bé dại. Ma trận mới này là khả nghịch bởi vì trị riêng rẽ nhỏ tốt nhất của chính nó bằng với trị riêng biệt nhỏ tuổi độc nhất của (mathbfS_W) cùng với (lambda) tức ko nhỏ tuổi hơn (lambda > 0). Vấn đề này được suy ra từ những việc (mathbfS_W) là 1 trong ma trận nửa xác minh dương. Từ kia suy ra (armathbfS_W) là 1 ma trận khẳng định dương vì phần đông trị riêng rẽ của nó là thực dương, với chính vì như vậy, nó khả nghịch. Khi tính toán thù, ta rất có thể sử dụng nghịch đảo của (armathbfS_W).

Kỹ thuật này được sử dụng cực kỳ nhiều khi ta cần sử dụng nghịch đảo của một ma trận nửa khẳng định dương cùng chưa biết nó gồm thực thụ là xác định dương hay là không.

Quay quay trở lại cùng với ((10)), bởi (J(mathbfw)) là một trong những vô phía, ta suy ra (mathbfw) yêu cầu là một vector riêng rẽ của (mathbfS_W^-1mathbfS_B) ứng với cùng 1 trị riêng làm sao đó. ngoại giả, giá trị của trị riêng này bởi với (J(mathbfw)). Vậy, để hàm mục tiêu là lớn nhất thì (J(mathbfw)) chính là trị riêng rẽ lớn nhất của (mathbfS_W^-1mathbfS_B). Dấu bằng xảy ra khi (mathbfw) là vector riêng rẽ ứng cùng với trị riêng rẽ lớn nhất đó. quý khách hiểu có thể gọi phần này rộng lúc xem cách thiết kế trên Pykhiêm tốn sinh hoạt Mục 4.

Từ có thể thấy ngay lập tức rằng ví như (mathbfw) là nghiệm của ((7)) thì (kmathbfw) cũng là nghiệm cùng với (k) là số thực không giống ko bất kỳ. Vậy ta hoàn toàn có thể chọn (mathbfw) sao cho ((mathbfm_1 - mathbfm_2)^Tmathbfw = J(mathbfw) = L =) trị riêng lớn số 1 của (mathbfS_W^-1mathbfS_B) . lúc kia, vắt tư tưởng của (mathbfS_B) ở ((5)) vào ((10)) ta có:

Vấn đề này tức là ta hoàn toàn có thể chọn:cùng với (alpha eq 0) bất kỳ.

Biểu thức ((11)) còn được biết như thể Fisher’s linear discriminant, được đặt theo tên đơn vị khoa học Ronald Fisher.

3. Linear Discriminant Analysis đến multi-class classification problems

3.1. Xây dựng hàm mất mát

Trong mục này, bọn họ đã lưu ý ngôi trường đúng theo bao quát Lúc có rất nhiều hơn 2 classes. Giả sử rằng chiều của tài liệu (D) lớn hơn con số classes (C).

Giả sử rằng chiều nhưng bọn họ mong mỏi giảm về là (D’ (mathbfX_k, mathbfY_k = mathbfW^TmathbfX_k) thứu tự là ma trận tài liệu của class (k) vào không gian thuở đầu với không gian mới cùng với số chiều nhỏ tuổi hơn.

(mathbfm_k = frac1N_ksum_n in mathcalC_kmathbfx_k in mathbbR^D) là vector mong muốn của class (k) vào không khí ban đầu.

(mathbfe_k = frac1N_ksum_n in mathcalC_k mathbfy_n = mathbfW^Tmathbfm_k in mathbbR^D’) là vector mong muốn của class (k) vào không khí new.

(mathbfm) là vector mong muốn của cục bộ dữ liệu trong không gian lúc đầu cùng (mathbfe) là vector mong muốn vào không gian mới.

Xem thêm: Phân Biệt Điện Cao Áp Là Gì ? Qui Định Của Pháp Luật Có Nguy Hiểm Không

trong những cách thành lập hàm phương châm mang đến multi-class LDA được minh họa vào Hình 3.