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

1. Giới thiệu

Trong nhị bài viết trước, tôi vẫn trình làng về thuật toán giảm chiều tài liệu được sử dụng rộng thoải mái nhất - Principle Component Analysis (PCA). Nlỗi vẫn đề cập, PCA là 1 trong phương thức thuộc các loại unsupervised learning, có nghĩa là nó chỉ sử dụng các vector diễn đạt dữ liệu nhưng không dùng tới labels, trường hợp bao gồm, của tài liệu. Trong bài bác tân oán classification, dạng nổi bật duy nhất của supervised learning, bài toán áp dụng labels vẫn đem lại kết quả phân một số loại giỏi rộng.

Bạn đang 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 sao để cho lượng đọc tin về dữ liệu, biểu đạt nghỉ ngơi tổng phương không đúng, được giữ gìn là những nhất. Tuy nhiên, trong nhiều ngôi trường hợp, ta không cần cất giữ lượng đọc tin lớn nhất cơ mà chỉ việc lưu giữ lên tiếng quan trọng mang đến riêng bài toán. Xét ví dụ về bài xích toán phân lớp với 2 classes được thể hiện trong Hình 1.


*

Hình 1: Chiếu dữ liệu lên những con đường trực tiếp khác nhau. Có hai lớp dữ liệu minch hoạ vị các điểm greed color cùng đỏ. Dữ liệu được giảm số chiều về 1 bằng phương pháp chiếu bọn chúng lên các đường trực tiếp khác nhau (d_1) với (d_2). Trong nhị biện pháp chiều này, phương thơm của (d_1) gần giống cùng với phương của yếu tố chủ yếu trước tiên của tài liệu, phương của (d_2) sát với yếu tắc phụ của dữ liệu giả dụ dùng PCA. Lúc chiếu lên (d_1), những điểm red color với xanh bị ông xã lấn lên nhau, để cho bài toán phân các loại tài liệu là ko khả thi trên phố trực tiếp này. Ngược lại, khi được chiếu lên (d_2), dữ liệu của nhị class được tạo thành những cụm tương xứng tách biệt nhau, làm cho việc classification trsinh sống bắt buộc đơn giản và dễ dàng hơn cùng hiệu quả hơn. Các mặt đường cong hình chuông thể hiện giao động phân bổ Xác Suất của dữ liệu hình chiếu trong mỗi class.

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

Xét hai tuyến phố thằng (d_1) với (d_2). Trong số đó phương của (d_1) ngay gần cùng với phương của yếu tắc chủ yếu trường hợp làm PCA, phương thơm của (d_2) ngay gần với phương của yếu tắc prúc tìm được bằng PCA. Nếu ra làm cho sút chiều dữ liệu bởi PCA, ta sẽ thu được dữ liệu ngay gần với các điểm được chiếu lên (d_1). Trong thời điểm này việc phân tách bóc nhì class trngơi nghỉ đề xuất tinh vi bởi các điểm đại diện thay mặt mang đến nhì classes chồng lấn lên nhau. trái lại, nếu như ta chiếu dữ liệu lên đường thẳng sát cùng với nhân tố prúc tìm kiếm được vị PCA, tức (d_2), các điểm hình chiếu nằm hoàn toàn về hai phía khác nhau của điểm color lục trên tuyến đường trực tiếp này. Với bài bác toán classification, vấn đề chiếu dữ liệu lên (d_2) bởi vậy đang mang đến hiệu quả hơn. Việc phân các loại một điểm dữ liệu mới sẽ tiến hành xác minh nhanh lẹ bằng cách đối chiếu hình chiếu của chính nó lên (d_2) với điểm màu xanh da trời lục này.

Qua ví dụ trên ta thấy, chưa hẳn vấn đề bảo quản lên tiếng nhiều độc nhất sẽ luôn đem đến công dụng cực tốt. Chú ý rằng hiệu quả của phân tích bên trên trên đây không tức là yếu tắc prúc đem về kết quả tốt rộng nhân tố thiết yếu, nó chỉ là một ngôi trường phù hợp quan trọng đặc biệt. Việc chiếu tài liệu khởi thủy thẳng như thế nào nên các đối chiếu ví dụ hơn nữa. Cũng xin nói thêm, hai tuyến phố thằng (d_1) với (d_2) trên trên đây không vuông góc với nhau, tôi chỉ chọn ra hai hướng sát cùng với các nguyên tố chủ yếu cùng prúc của dữ liệu nhằm minch hoạ. Nếu bạn cần tìm hiểu thêm về thành phần chính/prúc, bạn sẽ thấy Bài 27 và Bài 28 về Principal Component Analysis (Phân tích thành phần chính) có ích.

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

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

2. Linear Discriminant Analysis đến bài bác toán thù cùng với 2 classes

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

Mọi phương pháp classification rất nhiều được bắt đầu với bài xích toán thù binary classification, với LDA cũng không hẳn ngoại lệ.

Quay lại với Hinc 1, những con đường hình chuông miêu tả vật dụng thị của những hàm mật độ phần trăm (probability mật độ trùng lặp từ khóa function - pdf) của dữ liệu được chiếu xuống theo từng class. Phân pân hận chuẩn ở chỗ này được thực hiện nhỏng là 1 đại diện thay mặt, tài liệu ko tuyệt nhất thiết luôn nên theo đúng phân phối hận chuẩn.

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

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


*

Hình 2: Khoảng bí quyết giữa những hy vọng với tổng các phương thơm không đúng ảnh hưởng cho tới độ discriminant của tài liệu. a) Khoảng giải pháp thân hai hy vọng là bự nhưng lại phương không nên trong những class cũng bự, làm cho hai phân phối ông xã lấn lên nhau (phần color xám). b) Pmùi hương không đúng cho mỗi class là rất bé dại tuy nhiên nhị kỳ vọng quá sát nhau, khiến cực nhọc tách biệt 2 class. c) Khi pmùi hương sai đủ nhỏ dại và khoảng cách thân nhì mong muốn đủ to, ta thấy rằng dữ liệu discriminant hơn.

Hình 2a) kiểu như với dữ liệu Khi chiếu lên (d_1) nghỉ ngơi Hình 1. Cả nhị class phần đông quá phân tán để cho tỉ lệ thành phần ông xã lấn (phần diện tích màu sắc xám) là mập, tức dữ liệu không đích thực discriminative.

Hình 2b) là trường hợp lúc độ lệch chuẩn của nhì class hầu như nhỏ dại, tức dữ 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 thân nhị class, được đo bằng khoảng cách thân hai mong rằng (m_1) và (m_2), là thừa nhỏ tuổi, khiến cho phần ck lấn cũng chiếm phần môt tỉ trọng to, cùng tất yếu, cũng ko tốt mang đến classification.

Hình 2c) là ngôi trường hợp khi nhị độ lệch chuẩn là nhỏ tuổi cùng khoảng cách thân nhì mong rằng là Khủng, phần kháng lấn bé dại ko đáng chú ý.

Xem thêm: Hướng Dẫn Cách Chơi Free Fire Trên Pc Không Lag, Cách Chơi Game Garena Free Fire Trên Máy Tính

cũng có thể ai đang từ bỏ hỏi, độ lệch chuẩn chỉnh và khoảng cách giữa nhị mong muốn đại diện cho những tiêu chí gì:

Như đang nói, độ lệch chuẩn chỉnh nhỏ tuổi biểu lộ Việc tài liệu không nhiều phân tán. Điều này tức là tài liệu trong những class tất cả Xu thế giống nhau. Hai pmùi hương không đúng (s_1^2, s_2^2) còn được gọi là các within-class variances.

Khoảng bí quyết thân những hy vọng là bự chứng minh rằng hai classes nằm cách nhau, tức dữ liệu thân những classes là không giống nhau các. Bình phương khoảng cách giữa nhị kỳ vọng ((m_1 - m_2)^2) còn gọi là between-class variance.

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

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

Giả sử rằng tất cả (N) điểm tài liệu (mathbfx_1, mathbfx_2, dots, mathbfx_N) trong những số đó (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 khẳng định dương vì nó là tổng của hai ma trận đối xứng nửa khẳng định dương.

Trong ((5)) với ((6)), ta đã áp dụng đẳng thức:<(mathbfa^Tmathbfb)^2 = (mathbfa^Tmathbfb)(mathbfa^Tmathbfb) = mathbfa^Tmathbfbmathbfb^Tmathbfa>cùng với (mathbfa, mathbfb) là hai vectors cùng chiều ngẫu nhiên.

Như vậy, bài xích toán buổi tối ưu đến LDA trlàm việc thành:

2.3. Nghiệm của bài toán thù về tối ưu

Nghiệm (mathbfw) của ((7)) đã là nghiệm của phương thơm trình đạo hàm hàm phương châm bởi 0. Sử dụng chain rule mang lại đạo hàm hàm các biến hóa cùng công thức ( abla_mathbfwmathbfw mathbfAmathbfw = 2mathbfAw) nếu (mathbfA) là 1 trong những ma trận đối xứng, ta có:

<egineqnarray abla_mathbfw J(mathbfw) &=và frac1(mathbfw^TmathbfS_Wmathbfw)^2 left(2mathbfS_B mathbfw (mathbfw^TmathbfS_Wmathbfw) - 2mathbfw^TmathbfS_Bmathbfw^TmathbfS_W mathbfw ight) = mathbf0và (8)\Leftrightarrow mathbfS_Bmathbfw &=& fracmathbfw^TmathbfS_B mathbfwmathbfw^TmathbfS_WmathbfwmathbfS_Wmathbfw& (9) \mathbfS_W^-1mathbfS_B mathbfw &=và J(mathbfw)mathbfw & (10)endeqnarray>

Lưu ý: Trong ((10)), ta sẽ giả 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, nhưng lại bao gồm một trick nhỏ dại là ta rất có thể xấp xỉ (mathbfS_W) vày ( armathbfS_W approx mathbfS_W + lambdamathbfI) với (lambda) là một số trong những thực dương nhỏ tuổi. Ma trận bắt đầu này là khả nghịch vày trị riêng nhỏ độc nhất vô nhị của nó bằng cùng với trị riêng biệt nhỏ tuổi độc nhất của (mathbfS_W) cùng cùng với (lambda) tức không nhỏ tuổi rộng (lambdomain authority > 0). Điều này được suy ra từ việc (mathbfS_W) là một ma trận nửa xác minh dương. Từ kia suy ra (armathbfS_W) là 1 ma trận xác minh dương vị những trị riêng biệt của nó là thực dương, và vì thế, nó khả nghịch. Khi tính tân oán, ta hoàn toàn có thể sử dụng nghịch hòn đảo của (armathbfS_W).

Kỹ thuật này được thực hiện vô cùng thỉnh thoảng ta yêu cầu sử dụng nghịch đảo của một ma trận nửa xác minh dương cùng chưa biết nó có thực sự là xác định dương hay không.

Quay trở lại với ((10)), vày (J(mathbfw)) là một số trong những vô hướng, ta suy ra (mathbfw) buộc phải là một trong những vector riêng rẽ của (mathbfS_W^-1mathbfS_B) ứng với cùng 1 trị riêng biệt như thế nào đó. ngoài ra, giá trị của trị riêng biệt này bởi cùng với (J(mathbfw)). Vậy, để hàm phương châm là lớn nhất thì (J(mathbfw)) đó là trị riêng rẽ lớn số 1 của (mathbfS_W^-1mathbfS_B). Dấu bởi xảy ra khi (mathbfw) là vector riêng ứng với trị riêng biệt lớn số 1 đó. Quý Khách hiểu hoàn toàn có thể phát âm phần này rộng lúc chứng kiến tận mắt bí quyết lập trình bên trên Python thả sống Mục 4.

Từ rất có thể thấy tức thì rằng nếu (mathbfw) là nghiệm của ((7)) thì (kmathbfw) cũng là nghiệm cùng với (k) là số thực khác không ngẫu nhiên. Vậy ta rất có thể lựa chọn (mathbfw) làm thế nào để cho ((mathbfm_1 - mathbfm_2)^Tmathbfw = J(mathbfw) = L =) trị riêng lớn nhất của (mathbfS_W^-1mathbfS_B) . Khi kia, cố gắng có mang của (mathbfS_B) ngơi nghỉ ((5)) vào ((10)) ta có:

Vấn đề này có nghĩa là ta rất có thể chọn:cùng với (alpha eq 0) ngẫu nhiên.

Biểu thức ((11)) còn biết đến như là Fisher’s linear discriminant, được đặt theo tên bên kỹ thuật Ronald Fisher.

3. Linear Discriminant Analysis cho multi-class classification problems

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

Trong mục này, bọn họ đang cẩn thận ngôi trường phù hợp tổng thể Khi có tương đối nhiều rộng 2 classes. Giả sử rằng chiều của dữ liệu (D) lớn hơn con số classes (C).

Giả sử rằng chiều mà họ muốn giảm về là (D’

(mathbfX_k, mathbfY_k = mathbfW^TmathbfX_k) lần lượt là ma trận dữ liệu của class (k) vào không khí thuở đầu với không gian mới với số chiều bé dại hơn.

(mathbfm_k = frac1N_ksum_n in mathcalC_kmathbfx_k in mathbbR^D) là vector mong rằng của class (k) trong không khí lúc đầu.

(mathbfe_k = frac1N_ksum_n in mathcalC_k mathbfy_n = mathbfW^Tmathbfm_k in mathbbR^D’) là vector mong rằng của class (k) trong không khí mới.

(mathbfm) là vector hy vọng của tổng thể tài liệu vào không gian ban sơ với (mathbfe) là vector mong muốn vào không gian mới.

trong những giải pháp thiết kế hàm phương châm đến multi-class LDA được minh họa vào Hình 3.