Коли я вчився в старших класах і вивчав складні математичні задачі, я завжди замислювався над тим, навіщо ми їх вивчаємо і чим вони корисні. Я не міг зрозуміти та знайти їм застосування в реальному світі. Оскільки машинне навчання також є популярною темою, з якою багато людей хочуть познайомитися, складна математика та абстракція, що лежать в основі алгоритмів машинного навчання, ускладнюють розуміння та застосування цих технологій для початківців.
Саме тут на допомогу приходить навчання за аналогією. Воно дозволяє асоціювати аналогії з реального світу зі складними концепціями, які допомагають вам залишатися допитливими та мислити творчо. Це дуже допомагає, коли згодом ви фактично застосовуєте ці алгоритми для розв'язання реальних проблем. Надихнувшись цим підходом, я поясню 10 найпоширеніших алгоритмів машинного навчання, асоціюючи їх з реальними аналогами, тож приступимо до роботи.
1. Лінійна регресія (Linear Regression)
Лінійна регресія - це керований алгоритм машинного навчання, який намагається встановити найкращу пряму лінію між вашими ознаками та цільовою змінною так, щоб різниця між фактичним та прогнозованим значенням була мінімальною.
Аналогія: Уявіть, що ви садівник і хочете перевірити, якою є ідеальна кількість добрив, яку ви повинні давати рослині, щоб збільшити її ріст. Для цього ви записуєте кількість добрив (характеристика/незалежна змінна), а також вимірюєте відповідний ріст рослини (залежна або цільова змінна) протягом одного місяця. Тепер, коли у вас є інформація, ви наносите її на діаграму розсіювання і намагаєтеся знайти найкращу пряму лінію, яка проходить через ці точки таким чином, щоб відхилення всіх точок від лінії було мінімальним. Отримавши таку лінію, ви зможете спрогнозувати майбутній ріст рослин на основі кількості використаних добрив.
2. Логістична регресія (Logistic Regression)
Це дещо схоже на лінійну регресію та задачу керованого навчання, але лінійна регресія прогнозує неперервну цільову змінну, тоді як логістична регресія використовується для задач бінарної класифікації, де вона прогнозує ймовірність бінарного результату, наприклад, ймовірність «так» або «ні», «істина» або «хибність».
Аналогія: Наприклад, якщо ви дивитеся шоу «Америка має талант», ми знаємо, що є лише 2 варіанти: або кандидат пройде в наступний тур, або ні. Отже, ви враховуєте різні фактори, такі як поточний виступ, минулий досвід, унікальний виступ чи ні, і на основі цього вирішуєте, наскільки кандидат здатен досягти успіху в наступному раунді. Виходячи з цього, ви натискаєте або червону кнопку (відхилити), або зелену (прийняти).
3. Дерево рішень (Decision Tree)
Дерево рішень - це алгоритм керованого навчання, який рекурсивно ділить ваші дані на підмножини на основі певних характеристик. Кожен поділ у вузлі є рішенням, яке визначає напрямок обходу і допомагає робити прогнози.
Аналогія: Ви коли-небудь грали з другом у гру «20 запитань»? Саме так і працює дерево рішень. Дозвольте мені розповісти, що відбувається в цій грі. Отже, ваш друг думає про щось, що ви повинні відгадати, і все, що ви можете зробити, це поставити йому запитання з відповідями «так» чи «ні», щоб звузити коло можливих відповідей. Кожна відповідь допомагає вам прийняти рішення і виключає варіанти, поки ви не вгадаєте правильну відповідь.
4. Алгоритм випадкового лісу (Random Forest)
Випадковий ліс - це ансамблева техніка навчання, яка використовує кілька дерев рішень, навчених на різних частинах даних. Потім він об'єднує прогнози кожного дерева для прийняття остаточного рішення.
Аналогія: Уявіть собі комітет інвесторів та акціонерів компанії, яким потрібно прийняти рішення щодо нової угоди. Кожен з них має власний процес мислення та досвід. На основі свого аналізу кожен з них надає своє судження. Зрештою, всі судження об'єднуються для прийняття остаточного рішення.
5. Машина опорних векторів (SVM)
SVM - це алгоритм машинного навчання, який розділяє класи за допомогою прямої лінії (гіперплощини) таким чином, щоб відстань між ними була максимальною. Коли з'являється новий масив даних, легше визначити, до якої групи/класу він належить.
Аналогія: Якщо ви любите спорт, ви розумієте суперництво між вболівальниками 2 протилежних команд на стадіоні. Отже, ви намагаєтеся відокремити ці 2 групи, наскільки це можливо, скажімо, пов'язавши червону стрічку, і коли нова людина приєднується до вас, ви можете розсадити її відповідно до того, яку сорочку вона носить або за яку команду вона вболіває.
6. Наївний алгоритм Байєса (Naive Bayes Algorithm)
Це алгоритм керованого машинного навчання, заснований на теоремі Байєса і припускає, що ознаки є незалежними. Він обчислює ймовірність кожного класу з урахуванням певної попередньої інформації, а потім вибирається клас з найвищою ймовірністю. В основному використовується для задач класифікації.
Аналогія: Ми всі знаємо, що таке спам, чи не так? По суті, фільтр шукає деякі загальні слова, такі як «безкоштовно», «знижка», «обмежений час» або «натисніть тут», не беручи до уваги контекст, в якому ці слова з'являються. Хоча це може класифікувати деякі випадки неправильно, це економить величезну кількість часу, коли мова йде про обробку тонни листів. Він розглядає ці спам-слова як незалежні ознаки для визначення ймовірності того, що лист є спамом чи ні.
7. Алгоритм K-найближчих сусідів (KNN)
KNN - це алгоритм керованого навчання, який припускає, що схожі точки даних будуть ближче одна до одної у просторі ознак (як близькі друзі, що сидять разом у класі). Він робить прогноз щодо маркування невідомої точки даних, використовуючи її K найближчих відомих сусідів, де K - це гіперпараметр, що представляє кількість сусідів, які мають право голосу.
Аналогія: Припустимо, ви хочете спробувати кілька нових ресторанів, і у вас є кілька варіантів. Ви запитуєте рекомендації у своїх друзів (сусідів у KNN). Кожен з них рекомендує свій улюблений заклад, який вони вже відвідували, і заклад, який отримує більшість голосів, стає тим, який ви остаточно вирішите відвідати.
8. K-середні (K-means / К-середні)
K-середні - це алгоритм неконтрольованого навчання, який розподіляє точки даних в унікальні кластери на основі їхнього положення. Він починається з випадкової ініціалізації центроїдів і обчислення відстані кожної точки до цих центроїдів. Потім кожна точка потрапляє до кластера з найближчим до неї центроїдом. Нові точки даних у кожному кластері усереднюються, щоб знайти нові центроїди. Цей процес повторюється до тих пір, поки центроїди більше не зміняться, що означає, що точки даних були ідеально класифіковані за кластерами.
Аналогія: Уявіть, що ви є частиною читацької спільноти і їм потрібно створити 3 групи, скажімо, по 18 студентів. Спочатку вони розподілять їх випадковим чином на 3 групи по 6 осіб. Потім у 2-й ітерації вони перерозподіляють їх на основі їхніх інтересів, зібраних з анкети. Потім, після їхньої взаємодії, вони вносять зміни, якщо тільки остаточні групи не будуть створені з людей, які мають однакові інтереси.
9. Аналіз головних компонент (Principal Component Analysis)
PCA - це алгоритм неконтрольованого навчання. Це техніка зменшення розмірності, яка визначає головні (важливі) компоненти даних і відображає їх у просторі меншої розмірності, що полегшує аналіз.
Аналогія: Більшість з нас кудись подорожували, і я знаю, що пакування речей - це головний біль. Уявімо, що у нас лише одна валіза, що ми робимо? Ми починаємо з того, що спочатку заповнюємо її важливими речами, а потім намагаємося знайти спосіб стиснути менш важливі речі або вилучити їх з валізи. Саме так працює PCA, визначаючи важливі речі та ущільнюючи або вилучаючи менш важливі.
10. Підвищення градієнта (Gradient Boosting)
Це алгоритм ансамблевого навчання, який об'єднує кілька слабких моделей для створення сильної моделі. Він працює ітеративно, коли кожна модель намагається виправити помилки, допущені попередньою моделлю, збільшуючи загальну продуктивність.
Аналогія: Чи траплялося у вас таке, що спочатку ви не могли впоратися з предметом, але поступово вдосконалювалися? Який загальний підхід зазвичай застосовується в такій ситуації? Ви складаєте тест, отримуєте оцінки, а потім працюєте над своїми недоліками або над тими темами, в яких вам не вистачає розуміння. Цей процес поступово покращує вашу загальну успішність з цього предмету.
На цьому я підходжу до кінця своєї статті. Мені дуже сподобалося пояснювати ці поняття за допомогою аналогій, і я сподіваюся, що ви знайдете їх такими ж корисними, як і я. Дайте мені знати в коментарях, чи сподобався вам такий підхід, або якщо у вас є пропозиції щодо інших тем!
Ще немає коментарів