Яке чудове запитання - це шанс показати, як можна було б перевірити недоліки та припущення будь-якого статистичного методу. А саме: складіть деякі дані та спробуйте алгоритм на них!
Ми розглянемо два ваших припущення, і побачимо, що відбувається з алгоритмом k-означає, коли ці припущення будуть порушені. Ми будемо дотримуватися двовимірних даних, оскільки їх легко уявити. (Завдяки прокляттям розмірності , додавання додаткових розмірів, ймовірно, зробить ці проблеми більш серйозними, не меншими). Ми працюємо з мовою статистичного програмування R: повний код ви можете знайти тут (а публікацію у формі блогу можна тут ).
Диверсія: квартет Анскомба
По-перше, аналогія. Уявіть, що хтось аргументував таке:
Я прочитав деякий матеріал про недоліки лінійної регресії - про те, що вона очікує лінійної тенденції, про те, що залишки нормально розподіляються, і що немає залишків. Але вся лінійна регресія робить це мінімізація суми помилок у квадраті (SSE) з передбачуваного рядка. Це проблема оптимізації, яку можна вирішити незалежно від форми кривої чи розподілу залишків. Таким чином, лінійна регресія не потребує припущень для роботи.
Ну так, лінійна регресія працює за рахунок мінімізації суми залишків у квадраті. Але це само по собі не є метою регресії: те, що ми намагаємося зробити, це провести лінію, яка служить надійним, неупередженим прогноктором y на основі x . Теорема Гаусса-Маркова говорить про те , що мінімізація SSE Досягається це goal- але теорема спирається на деякі дуже конкретні припущення. Якщо ці припущення порушені, ви все одно можете мінімізувати SSE, але це може не зробитищо завгодно. Уявіть собі: "Ви керуєте автомобілем, натискаючи на педаль: водіння - це, по суті," процес натискання педалі ". Педаль може бути натиснута незалежно від кількості газу в баку. Тому навіть якщо бак порожній, ви все одно можете натиснути педаль і загнати машину ".
Але розмова дешева. Давайте подивимось на холодні, важкі, дані. Або насправді складені дані.
R2
Можна сказати: "Лінійна регресія все ще є працює в тих випадках, оскільки вона мінімізує суму квадратів залишків". Але яка пірорна перемога ! Лінійна регресія завжди буде проводити лінію, але якщо це безглузда лінія, кого це хвилює?
Тож тепер ми бачимо, що те, що може бути здійснена оптимізація, не означає, що ми досягаємо своєї мети. І ми бачимо, що складання даних та візуалізація їх - хороший спосіб перевірити припущення моделі. Дотримуйтесь цієї інтуїції, нам це знадобиться за хвилину.
Розбитий припущення: несферичні дані
Ви стверджуєте, що алгоритм k-означає буде добре працювати на несферичних кластерах. Несферичні скупчення типу ... це?
Можливо, це не те, чого ви очікували, але це абсолютно розумний спосіб побудови кластерів. Дивлячись на це зображення, ми, люди, відразу розпізнаємо дві природні групи точок - їх не помиляємося. Отже, давайте подивимось, як працює k-означає: призначення відображаються кольором, імпутовані центри відображаються як X.
Ну, це не так. K-засоби намагалися помістити квадратний кілочок у круглий отвір - намагався знайти приємні центри з акуратними сферами навколо них - і це не вдалося. Так, це все ще мінімізує внутрішню кількість кластерних квадратів, але так само, як у квартеті Anscombe вище, це перемога піру!
Ви можете сказати "Це не справедливий приклад ... жоден метод кластеризації не міг би правильно знайти кластери, які є такими дивними". Неправда! Спробуйте єдину зв'язок Ієрархічна кластеризація :
Прибила його! Це пояснюється тим, що ієрархічна кластеризація однозв'язків робить правильні припущення для цього набору даних. (Є цілий інший клас ситуацій, коли він не вдається).
Ви можете сказати "Це єдиний, крайній, патологічний випадок". Але це не так! Наприклад, ви можете зробити зовнішню групу півколом замість кола, і ви побачите, що k-означає все ще робить жахливо (і ієрархічна кластеризація все ще справляється добре). Я міг легко придумати інші проблемні ситуації, і це якраз у двох вимірах. Коли ви кластерите 16-мірні дані, можуть виникнути всі види патологій.
Нарешті, я повинен зазначити, що k-засоби все-таки виправдовуються! Якщо ви почнете з перетворення даних у полярні координати , кластеризація зараз працює:
Ось чому розуміння припущень, що лежать в основі методу, є найважливішим: він не просто говорить про те, коли у методу є недоліки, а й розповідає, як їх виправити.
Зламане припущення: нерівномірні кластери
Що робити, якщо кластери мають неоднакову кількість точок - це також розбиває k-означає кластеризацію? Ну, розглянемо цей набір кластерів розмірами 20, 100, 500. Я створив кожен з багатовимірних гауссів:
Це виглядає так, що k-засоби, ймовірно, можуть знайти ці кластери, правда? Здається, все породжується в акуратні та охайні групи. Тож спробуємо k-означає:
Ой. Що тут сталося - трохи тонкіше. У своєму прагненні мінімізувати внутрішньо-кластерну суму квадратів, алгоритм k-засобів надає більше «ваги» більшим кластерам. На практиці це означає, що він радий дозволити цьому маленькому кластеру закінчитись далеко від будь-якого центру, тоді як він використовує ці центри, щоб "розколоти" набагато більший кластер.
Якщо ви трохи пограєте з цими прикладами ( код R тут! ), Ви побачите, що ви можете побудувати набагато більше сценаріїв, коли k-засоби сприймають це бентежно неправильно.
Висновок: Безкоштовного обіду немає
Існує чарівна побудова математичного фольклору, формалізована Уолпертом та Маккіді , під назвою "Теорема вільного обіду". Це, мабуть, моя улюблена теорема з філософії машинного навчання, і я полюбляю будь-який шанс винести її (чи я зазначив, що я люблю це питання?) Основна ідея викладається (не суворо) так: "Якщо усереднюватись у всіх можливих ситуаціях, кожен алгоритм працює однаково добре ".
Звук протиінтуїтивний? Врахуйте, що для кожного випадку, коли працює алгоритм, я міг би побудувати ситуацію, коли він жахливо виходить з ладу. Лінійна регресія передбачає, що ваші дані падають уздовж лінії, але що робити, якщо за нею йде синусоїдальна хвиля? Т-тест припускає, що кожен зразок походить від звичайного розподілу: що робити, якщо ви кинете в сторонність? Будь-який алгоритм сходження на градієнт може потрапити в локальні максимуми, і будь-яка контрольована класифікація може бути введена в накладну.
Що це значить? Це означає, що припущення - звідки походить ваша сила!Коли Netflix рекомендує вам фільми, ви припускаєте, що якщо вам сподобається один фільм, вам сподобаються подібні (і навпаки). Уявіть собі світ, де це не було правдою, а ваші смаки ідеально випадково розкидані по жанрах, акторам та режисерам. Їх алгоритм рекомендацій жахливо вийшов би з ладу. Чи має сенс сказати "Ну, це все ще мінімізує деяку очікувану помилку в квадраті, тому алгоритм все ще працює"? Ви не можете скласти алгоритм рекомендацій, не роблячи певних припущень щодо смаків користувачів, як і ви не можете скласти алгоритм кластеризації, не роблячи припущень щодо природи цих кластерів.
Тому не приймайте лише ці недоліки. Знайте їх, щоб вони могли повідомити ваш вибір алгоритмів. Зрозумійте їх, щоб ви могли налаштувати свій алгоритм і трансформувати свої дані для їх вирішення. І люби їх, бо якщо твоя модель ніколи не може помилитися, це означає, що вона ніколи не буде правильною.