Ця конкретна фігура Hastie et al. був виготовлений без обчислення рівнянь меж класу. Натомість було використано алгоритм, викладений @ttnphns у коментарях, див. Виноску 2 у розділі 4.3, стор. 110:
Для цієї цифри та багатьох подібних фігур у книзі ми обчислюємо межі рішення вичерпним методом контурування. Ми обчислюємо правило рішення за тонкою решіткою точок, а потім використовуємо алгоритми контурування для обчислення меж.
Однак я продовжу описати, як отримати рівняння меж класу LDA.
Почнемо з простого двовимірного прикладу. Ось дані з набору даних Iris ; Я відкидаю вимірювання пелюсток і розглядаю лише довжину пелюсток і ширину пелюсток. Три класи позначені червоним, зеленим та синім кольорами:
Позначимо засоби класу (центроїди) як . LDA передбачає, що всі класи мають однакову коваріацію в класі; з урахуванням даних, ця спільна матриця коваріації оцінюється (до масштабування) як , де сума над усіма точками даних, а центроїд відповідного класу віднімається від кожної точки.W = ∑ i ( x i - μ k ) ( x i - μ k ) ⊤мк1, мк2, мк3W = ∑i( хi- мкк) ( хi- мкк)⊤
Для кожної пари класів (наприклад, та класу ) існує межа класів між ними. Очевидно, що межа повинна проходити через середню точку між двома класовими центрами . Один з центральних результатів LDA полягає в тому, що ця межа є прямою ортогональною до . Існує кілька способів отримати цей результат, і хоча це не було частиною питання, я коротко натякну на три з них у додатку нижче.12( мк1+ мк2) / 2W- 1( мк1- мк2)
Зауважимо, що написане вище - це вже точне визначення межі. Якщо потрібно мати рівняння прямої у стандартній формі , тоді можна обчислити коефіцієнти і і будуть задані деякими безладними формулами. Я навряд чи уявляю ситуацію, коли це було б потрібно.у= a x + bаб
Давайте тепер застосуємо цю формулу до прикладу Іриса. Для кожної пари класів я знаходжу середню точку і будую лінію, перпендикулярну до :W- 1( мкi- мкj)
Три лінії перетинаються в одній точці, як і слід було очікувати. Межі рішення задаються променями, починаючи від точки перетину:
Зауважте, що якщо кількість класів дорівнює , то буде пари класів і так багато ліній, всі перетинаються в заплутаному безладі. Щоб намалювати приємну картину на зразок Hastie та ін., Потрібно зберегти лише необхідні сегменти, і це окрема алгоритмічна проблема сама по собі (ніяк не пов'язана з LDA, тому що її не потрібно робити класифікація; щоб класифікувати точку, або перевіряйте відстань махаланобіса до кожного класу та вибирайте найменшу відстань, або використовуйте послідовні чи парні ЛДА).K ( K - 1 ) / 2К≫ 2К( К- 1 ) / 2
У вимірах формула залишається точно такою ж : межа є ортогональною до і проходить через . Однак у вищих розмірах це вже не лінія, а гіперплан розмірів . Для ілюстрації можна просто спроектувати набір даних на перші дві дискримінантні осі і, таким чином, звести проблему до випадку 2D (що, на мою думку, це зробили Хасті та ін., Щоб отримати цю цифру).D > 2W- 1( мк1- мк2)( мк1+ мк2) / 2D - 1
Додаток
Як побачити, що межа є прямою ортогональною до ? Ось кілька можливих способів отримання цього результату:W- 1( мк1- мк2)
Фантастичний шлях: індукує махаланобіс метрику на площині; межа має бути ортогональною до у цій метриці QED.W- 1мк1- мк2
Стандартний гауссовий спосіб: якщо обидва класи описуються розподілами Гаусса, то ймовірність того, що точка належить до класу , пропорційна . На межі ймовірність належності до та класів однакова; запишіть його, спростіть, і ви негайно дістанетесь до , QED.хк( x - μк)⊤W- 1( x - μк)12х⊤W- 1( мк1- мк2) = c o n s t
Працелюбний, але інтуїтивний спосіб. Уявіть, що є матрицею ідентичності, тобто всі класи є сферичними. Тоді рішення очевидно: межа просто ортогональна до . Якщо заняття не сферичні, то можна зробити їх такими шляхом сферизації. Якщо власне розкладання є , то матриця зробить трюк (див. наприклад тут ). Тож після застосування межа є ортогональною до . Якщо ми візьмемо цю межу, перетворимо її назадWмк1- мк2WW = U D U⊤S = D- 1 / 2U⊤SS ( μ1- мк2)S- 1 і запитайте, що це зараз ортогонально, відповідь (залишено як вправа): на . Підключаючи вираз до , отримуємо QED.S⊤S ( μ1- мк2)S