ГоловнаШІ та Машинне навчанняКласифікатор Бізнес-Рішень — Логістична Регресія Наживо

🧭 Класифікатор Бізнес-Рішень — Логістична Регресія Наживо

Межа логістичної регресії згинається, щоб розділити два класи результатів, поки працює градієнтний спуск — спостерігайте за оновленням ваг точка за точкою.

ШІ та Машинне навчання3DПросунутий60 FPS
ml-business-decisions ↗ Відкрити окремо

Про Класифікатор Бізнес-Рішень

Логістична регресія — це робочий кінь величезної частки реальних бізнес-класифікаторів: прогнозування відтоку клієнтів, схвалення кредитів, виявлення шахрайства, скоринг лідів. Вона бере зважену суму вхідних ознак, z = w1·x1 + w2·x2 + b, і стискає її через сигмоїдну функцію, щоб отримати ймовірність того, що клієнт належить до позитивного класу. Навчання означає коригування w1, w2 і b градієнтним спуском так, щоб бінарна крос-ентропійна втрата, усереднена по набору даних, продовжувала спадати.

Ця симуляція навчає живу модель логістичної регресії з двома ознаками на синтетичному бізнес-наборі даних: «оцінка залученості клієнта» на одній осі та «кількість звернень у підтримку» на іншій, розділені на два класи результатів (високий ризик відтоку проти низького ризику відтоку). Кожен крок навчання витягує міні-пакет, обчислює градієнт втрати за w1, w2 і b та зсуває ваги вниз. Спостерігайте, як пряма лінія рішення обертається й займає своє місце, затінені півплощини загострюються за впевненістю, а крива втрати спадає, поки точність зростає.

Часті питання

Що таке логістична регресія?

Логістична регресія — це лінійний класифікатор: вона обчислює зважену суму z = w1·x1 + w2·x2 + b вхідних ознак, а потім пропускає z через сигмоїдну функцію, щоб отримати p = σ(z) — ймовірність у діапазоні (0, 1), що приклад належить до класу 1. Прогноз формується порогуванням p, зазвичай на рівні 0.5. Попри назву, це метод класифікації, а не регресії у звичайному сенсі — «регресія» стосується базової лінійної комбінації ваг.

Чому використовується саме сигмоїдна функція?

Сигмоїда σ(z) = 1/(1 + e^(–z)) відображає будь-яке дійсне число у відкритий інтервал (0, 1), тож її результат можна безпосередньо трактувати як ймовірність. Вона гладка й диференційовна всюди, що необхідно для градієнтного спуску, а її похідна має зручну замкнуту форму σ'(z) = σ(z)(1 – σ(z)), яка повторно використовується під час обчислення градієнта втрати. Її S-подібна форма також означає, що прогнози поблизу межі рішення змінюються плавно, а не стрибкоподібно.

Що вимірює бінарна крос-ентропійна втрата?

Бінарна крос-ентропія: L = –[y·log(p) + (1–y)·log(1–p)], усереднена по пакету. Вона сильно штрафує впевнені неправильні прогнози — коли p → 0 для істинної мітки y = 1, втрата стрімко зростає до нескінченності, — тоді як впевнені правильні прогнози коштують майже нічого. Для фіксованого набору даних крос-ентропійна втрата як функція w1, w2, b є опуклою, тож градієнтний спуск має єдиний глобальний мінімум, до якого прямує, замість того щоб застрягати в локальних мінімумах.

Чому лінійна межа не завжди може розділити класи?

Тому що межа рішення логістичної регресії — множина точок, де p = 0.5 — завжди є точно прямою лінією (w1·x + w2·y + b = 0), або гіперплощиною у вищих вимірах. Коли два класи результатів справді перетинаються (як у пресеті «Overlapping») або справжня роздільна закономірність вигнута чи нелінійна, жоден вибір w1, w2, b не зможе звести втрату до нуля. Навчання все одно збігається — воно знаходить єдину пряму лінію, що мінімізує сумарну крос-ентропію, — просто не може досягти ідеальної точності на даних, які не є лінійно роздільними.

Що станеться, якщо швидкість навчання занадто висока або занадто низька?

Швидкість навчання η масштабує кожен крок градієнта: w ← w – η·∂L/∂w. Оскільки поверхня крос-ентропійної втрати для логістичної регресії є гладкою опуклою чашею, занадто велика η спричиняє перестрибування мінімуму оновленнями, через що крива втрати коливається або розходиться замість того, щоб усталитися. Занадто мала η робить кожен крок ледь помітним зрушенням ваг, тож навчання повзе до збіжності й марнує значно більше кроків, ніж потрібно — хоча, на відміну від глибоких мереж, воно врешті-решт туди дістанеться, оскільки мінімум лише один.

Які градієнти насправді обчислює тут градієнтний спуск?

Для кожного навчального прикладу похибка e = p – y (передбачена ймовірність мінус істинна мітка). Градієнти: ∂L/∂w1 = e·x, ∂L/∂w2 = e·y та ∂L/∂b = e, усереднені по міні-пакету. Вони випливають безпосередньо із застосування ланцюгового правила через логарифмічну втрату та сигмоїду — та сама механіка, що й у зворотному поширенні, лише для мережі без прихованих шарів. Кожен крок оновлення віднімає η, помножене на ці усереднені градієнти, від w1, w2 і b.

Як візуалізується межа рішення та затінена область?

Кожен піксель графіка відповідає гіпотетичній парі (оцінка залученості, кількість звернень у підтримку). Прямий прохід обчислює передбачену моделлю ймовірність p у цій точці; піксель забарвлюється в червоний, якщо p < 0.5 (передбачений високий ризик), або в синій, якщо p ≥ 0.5 (передбачений низький ризик), з непрозорістю, пропорційною |p – 0.5| × 2, тож впевнено класифіковані області виглядають яскравими, а зона біля межі згасає. Суцільна лінія проходить точно там, де p = 0.5 — сама лінійна межа рішення.

Чому є три пресети наборів даних?

«Separable» розміщує два кластери далеко один від одного з низькою дисперсією, тож лінія може досягти майже 100% точності — зручно для спостереження за чистою, швидкою збіжністю. «Overlapping» зближує кластери з більшим розкидом, тож деякі точки завжди опиняться не з того боку будь-якої прямої лінії — це показує, що втрата виходить на плато вище нуля, і це очікувана та правильна поведінка, а не помилка. «Noisy» зберігає роздільне розташування, але випадково змінює приблизно 12% міток, імітуючи реальний шум міток і показуючи, як кілька неправильно позначених точок можуть назавжди обмежити досяжну точність.

⚙ Під капотом

Справжній градієнтний спуск на бінарній крос-ентропії: кожен крок вибирає міні-пакет, обчислює ∂L/∂w1, ∂L/∂w2, ∂L/∂b за ланцюговим правилом через сигмоїду і зсуває ваги вниз — лінія рішення та затінені зони впевненості оновлюються відповідно.

Canvas HeatmapLogistic RegressionGradient DescentCross-EntropySigmoid

3D · рушій Three.js / WebGL · ціль 60 FPS · працює повністю на клієнті, без встановлення

Що ви знайшли?

Додати кроки відтворення (необов'язково)