У попередньому розділі було представлено модель, яка неправильно класифікувала багато дерев із тестового набору. Ось вона:
Модель, наведена вище, має дуже складні форми. Чи буде простіша модель обробляти нові дані краще? Припустімо, що ви заміните складну модель надзвичайно простою – прямою лінією.
Проста модель краще узагальнює нові дані, ніж складна. Тобто на основі тестового набору проста модель давала кращі прогнози, ніж складна.
Простота вже давно перемагає складність. Насправді люди почали віддавати перевагу простоті ще в Стародавній Греції. Набагато пізніше, у чотирнадцятому столітті, монах на ім’я Вільям з Оккама формалізував перевагу простоти у філософії, відому як бритва Оккама. Ця філософія залишається основним принципом, що лежить в основі багатьох наук, зокрема машинного навчання.
Вправи. Перевірте свої знання
Ви розробляєте рівняння з фізики. Яка з наведених нижче формул більше відповідає принципу бритви Оккама?
Формула з трьома змінними.
Три змінні більше відповідають принципу бритви Оккама, ніж дванадцять.
Формула з дванадцятьма змінними.
Формула з дванадцятьма змінними здається надто складною, чи не так?
Дві найвідоміші фізичні формули всіх часів (F = ma й E = mc2) містять лише по три змінні.
Ви берете участь у новому проекті машинного навчання й збираєтеся вибрати свої перші ознаки. Скільки ознак потрібно?
Слід вибрати 1–3 ознаки, які, імовірно, мають високу прогнозну цінність.
Найкраще, щоб конвеєр збору даних спочатку працював лише з однією або двома ознаками. Це допоможе переконатися, що модель машинного навчання працює належним чином.
Крім того, створивши основу з кількох ознак, ви відчуєте, що робите успіхи.
Слід вибрати 4–6 ознак, які, імовірно, мають високу прогнозну цінність.
Можливо, згодом ви використовуватимете стільки ознак, але все-таки краще почати з меншої кількості. Зазвичай що менша кількість ознак, то менше непотрібних ускладнень.
Слід вибрати якомога більше ознак, щоб спостерігати, які з них мають найвищу прогнозну цінність.
Почніть із меншого. Кожна нова ознака додає новий вимір у ваш набір навчальних даних. Зі збільшенням розмірності обсяг простору росте настільки швидко, що доступні навчальні дані стають розрідженими. Що розрідженіші дані, то важче моделі визначити зв’язок між фактично важливими ознаками й міткою. Це явище називають "прокляттям розмірності".
Регуляризація
Моделі машинного навчання мають одночасно досягати двох суперечливих цілей:
викладати дані добре;
викладати дані якомога простіше.
Як зробити, щоб модель залишалася простою? Один із підходів – штрафувати складні моделі, тобто змушувати спрощуватися під час навчання. Штрафування складних моделей – це одна з форм регуляризації.
Втрати й складність
Дотепер із цього курсу можна було зрозуміти, що єдиною метою під час навчання є мінімізація втрат, тобто:
$$\text{minimize(loss)}$$
Ви вже знаєте, що моделі, спрямовані виключно на мінімізацію втрат, мають тенденцію до надмірного навчання.
Кращий алгоритм оптимізації навчання мінімізує певну комбінацію втрат і складності:
$$\text{minimize(loss + complexity)}$$
На жаль, втрати й складність зазвичай обернено пропорційні. Тобто зі збільшенням складності втрати зменшуються, і навпаки.
Слід знайти розумну золоту середину, щоб модель робила хороші прогнози як на навчальних, так і на реальних даних.
Тобто потрібно досягти розумного компромісу між втратами й складністю.
Що таке складність?
Ви вже бачили кілька різних способів кількісного визначення втрат. Як би ви кількісно визначили складність? Розпочніть дослідження з вправи, наведеної нижче.
Вправа. Перевірте свою інтуїцію
Ми ще не давали чіткого визначення складності. Яка з ідей, наведених нижче, на вашу думку, була б прийнятним показником складності?
Складність – це функція від значень ваги моделі.
Так, це один зі способів виміряти складність деяких моделей.
Цей показник називається регуляризацією L1.
Складність – це функція від квадрата значень ваги моделі.
Так. Таким чином можна виміряти складність деяких моделей. Цей показник називається регуляризацією L2.
Складність – це функція від зсуву всіх ознак моделі.
[null,null,["Last updated 2025-01-05 UTC."],[[["Simpler models often generalize better to new data than complex models, even if they perform slightly worse on training data."],["Occam's Razor favors simpler explanations and models, prioritizing them over more complex ones."],["Regularization techniques help prevent overfitting by penalizing model complexity during training."],["Model training aims to minimize both loss (errors on training data) and complexity for optimal performance on new data."],["Model complexity can be quantified using functions of model weights, like L1 and L2 regularization."]]],[]]