Amazon SageMaker надає набір з вбудовані алгоритми, попередньо навчені моделі та попередньо створені шаблони рішень щоб допомогти фахівцям із обробки даних і машинам навчання (ML) швидко розпочати навчання та розгортати моделі ML. Ці алгоритми та моделі можна використовувати як для навчання під наглядом, так і для неконтрольованого. Вони можуть обробляти різні типи вхідних даних, включаючи табличні, графічні та текстові.
Відтік клієнтів — це проблема, з якою стикається широкий спектр компаній, від телекомунікаційних до банківських, де клієнтів зазвичай втрачають конкуренти. В інтересах компанії – утримувати існуючих клієнтів, а не залучати нових, оскільки залучення нових клієнтів зазвичай коштує значно дорожче. Оператори мобільного зв’язку мають історичні записи, в яких клієнти продовжували користуватися послугою або зрештою припинили роботу. Ми можемо використати цю історичну інформацію про відтік оператора мобільного зв’язку для навчання моделі ML. Після навчання цієї моделі ми можемо передати інформацію про профіль довільного клієнта (ту саму інформацію про профіль, яку ми використовували для навчання моделі) до моделі, щоб вона передбачила, чи збирається цей клієнт відтікати чи ні.
На цій посаді ми навчаємо та розгортаємо чотири нещодавно випущені алгоритми SageMaker—LightGBM, CatBoost, TabTransformer і AutoGluon-Tabular—на наборі даних прогнозування відтоку. Ми використовуємо Автоматичне налаштування моделі SageMaker (інструмент для оптимізації гіперпараметрів), щоб знайти найкращі гіперпараметри для кожної моделі та порівняти їхню продуктивність на тестовому наборі даних, щоб вибрати оптимальний.
Ви також можете використовувати це рішення як шаблон для пошуку в колекції найсучасніших табличних алгоритмів і використовувати оптимізацію за гіперпараметрами, щоб знайти найкращу загальну модель. Ви можете легко замінити приклад набору даних своїм власним, щоб вирішити реальні бізнес-проблеми, які вас цікавлять. Якщо ви хочете відразу перейти до коду SDK SageMaker, який ми розглядаємо в цій публікації, ви можете звернутися до наступного зразок блокнота Юпітер.
Переваги вбудованих алгоритмів SageMaker
Під час вибору алгоритму для вашого конкретного типу проблеми та даних використання вбудованого алгоритму SageMaker є найпростішим варіантом, оскільки це має такі основні переваги:
- Низьке кодування – Вбудовані алгоритми вимагають невеликого програмування, щоб розпочати експерименти. Єдині вхідні дані, які вам потрібно надати, це дані, гіперпараметри та обчислювальні ресурси. Це дозволяє проводити експерименти швидше, з меншими витратами на відстеження результатів і зміни коду.
- Ефективні та масштабовані реалізації алгоритмів – Вбудовані алгоритми забезпечують розпаралелювання кількох обчислювальних екземплярів і підтримку графічного процесора для всіх застосовних алгоритмів. Якщо у вас є багато даних для навчання моделі, більшість вбудованих алгоритмів можна легко масштабувати відповідно до попиту. Навіть якщо у вас уже є попередньо навчена модель, можливо, буде легше використати її наслідок у SageMaker і ввести гіперпараметри, які ви вже знаєте, а не переносити її та писати навчальний сценарій самостійно.
- прозорість – Ви є власником отриманих артефактів моделі. Ви можете взяти цю модель і розгорнути її на SageMaker для кількох різних шаблонів висновку (перегляньте всі доступні типи розгортання) і просте масштабування кінцевих точок і керування ними, або ви можете розгорнути його там, де вам це потрібно.
Візуалізація та попередня обробка даних
Спочатку ми збираємо набір даних про відтік клієнтів. Це відносно невеликий набір даних із 5,000 записів, де кожен запис використовує 21 атрибут для опису профілю клієнта невідомого мобільного оператора США. Атрибути варіюються від штату США, де проживає клієнт, до кількості дзвінків, здійснених ним у службу підтримки, до вартості, яку йому виставляють за денні дзвінки. Ми намагаємося передбачити, чи відійде клієнт, чи ні, що є проблемою двійкової класифікації. Нижче наведено підмножину цих функцій, як вони виглядають, з міткою в останньому стовпчику.
Нижче наведено деякі статистичні дані для кожного стовпця, зокрема підсумкову статистику та гістограму вибраних функцій.
Потім ми попередньо обробляємо дані, розділяємо їх на набори для навчання, перевірки та тестування та завантажуємо дані в Служба простого зберігання Amazon (Amazon S3).
Автоматичне налаштування моделі табличних алгоритмів
Гіперпараметри контролюють роботу наших базових алгоритмів і впливають на продуктивність моделі. Ці гіперпараметри можуть бути кількістю шарів, швидкістю навчання, швидкістю спаду ваги та випаданням для моделей на основі нейронних мереж або кількістю листків, ітерацій і максимальною глибиною дерева для моделей ансамблю дерев. Щоб вибрати найкращу модель, ми застосовуємо автоматичне налаштування моделі SageMaker до кожного з чотирьох навчених табличних алгоритмів SageMaker. Вам потрібно лише вибрати гіперпараметри для налаштування та діапазон для кожного параметра для дослідження. Додаткову інформацію про автоматичне налаштування моделі див Автоматичне налаштування моделі Amazon SageMaker: використання машинного навчання для машинного навчання or Автоматичне налаштування моделі Amazon SageMaker: масштабована безградієнтна оптимізація.
Давайте подивимося, як це працює на практиці.
LightGBM
Ми починаємо з автоматичного налаштування моделі за допомогою LightGBM і адаптуємо цей процес до інших алгоритмів. Як пояснюється в дописі Моделі й алгоритми Amazon SageMaker JumpStart тепер доступні через API, для навчання попередньо створеного алгоритму за допомогою SDK SageMaker потрібні такі артефакти:
- Зображення контейнера для певної структури, що містить усі необхідні залежності для навчання та висновків
- Сценарії навчання та висновку для вибраної моделі чи алгоритму
Спочатку ми отримуємо ці артефакти, які залежать від model_id
(lightgbm-classification-model
у цьому випадку) і версія:
Потім ми отримуємо гіперпараметри за замовчуванням для LightGBM, встановлюємо для деяких із них вибрані фіксовані значення, такі як кількість раундів посилення та показник оцінки даних перевірки, і визначаємо діапазони значень, у яких ми хочемо шукати інші. Ми використовуємо параметри SageMaker ContinuousParameter
та IntegerParameter
для цього:
Нарешті ми створюємо a Оцінювач SageMaker, подайте його в a HyperarameterTunerі розпочніть роботу з налаштування гіперпараметрів за допомогою tuner.fit()
:
Команда max_jobs
Параметр визначає, скільки всього завдань буде запущено в завданні автоматичного налаштування моделі, і max_parallel_jobs
визначає, скільки одночасних завдань навчання має бути розпочато. Також визначаємо мету “Maximize”
AUC моделі (площа під кривою). Щоб глибше зануритися в доступні параметри, які відкриває HyperParameterTuner
, відноситься до HyperparameterTuner.
Від'їзд зразок зошита щоб побачити, як ми продовжимо розгортати та оцінити цю модель на тестовому наборі.
CatBoost
Процес налаштування гіперпараметрів в алгоритмі CatBoost такий самий, як і раніше, хоча нам потрібно отримати артефакти моделі під ідентифікатором catboost-classification-model
і змінити вибір діапазону гіперпараметрів:
TabTransformer
Процес налаштування гіперпараметрів у моделі TabTransformer такий самий, як і раніше, хоча нам потрібно отримати артефакти моделі під ідентифікатором pytorch-tabtransformerclassification-model
і змінити вибір діапазону гіперпараметрів.
Ми також змінюємо навчання instance_type
до ml.p3.2xlarge
. TabTransformer — це модель, нещодавно створена за результатами досліджень Amazon, яка дає можливість глибокого навчання табличним даним за допомогою моделей Transformer. Щоб навчити цю модель ефективним чином, нам потрібен екземпляр із підтримкою GPU. Для отримання додаткової інформації див Потужність глибокого навчання даних у таблицях.
Автоглюонно-табличний
У випадку AutoGluon ми не виконуємо налаштування гіперпараметрів. Це задумом, тому що AutoGluon зосереджується на об’єднанні кількох моделей із розумним вибором гіперпараметрів і укладання їх у кілька шарів. Зрештою, це ефективніше, ніж навчання однієї моделі з ідеальним вибором гіперпараметрів, а також обчислювально дешевше. Щоб дізнатися більше, перевірте AutoGluon-Tabular: надійний і точний AutoML для структурованих даних.
Тому ми перемикаємо model_id
до autogluon-classification-ensemble
, і лише виправте гіперпараметр метрики оцінки до бажаного показника AUC:
Замість дзвінка tuner.fit()
, ми називаємо estimator.fit()
почати одну навчальну роботу.
Бенчмаркінг навчених моделей
Після розгортання всіх чотирьох моделей ми надсилаємо повний набір тестів до кожної кінцевої точки для прогнозування та обчислення показників точності, F1 і AUC для кожної (див. код у зразок зошита). Ми подаємо результати в наведеній нижче таблиці з важливим застереженням: результати та відносна продуктивність цих моделей залежатимуть від набору даних, який ви використовуєте для навчання. Ці результати є репрезентативними, і навіть незважаючи на те, що тенденція до кращої роботи певних алгоритмів ґрунтується на відповідних факторах (наприклад, AutoGluon інтелектуально об’єднує прогнози моделей LightGBM і CatBoost за лаштунками), баланс у продуктивності може змінитися з огляду на іншу розподіл даних.
. | LightGBM з автоматичним налаштуванням моделі | CatBoost з автоматичним налаштуванням моделі | TabTransformer з автоматичним налаштуванням моделі | Автоглюонно-табличний |
Точність | 0.8977 | 0.9622 | 0.9511 | 0.98 |
F1 | 0.8986 | 0.9624 | 0.9517 | 0.98 |
AUC | 0.9629 | 0.9907 | 0.989 | 0.9979 |
Висновок
У цьому дописі ми навчили чотири різні вбудовані алгоритми SageMaker, щоб вирішити проблему прогнозування відтоку клієнтів із низьким зусиллям на кодування. Ми використали автоматичне налаштування моделі SageMaker, щоб знайти найкращі гіперпараметри для навчання цих алгоритмів, і порівняли їх продуктивність на вибраному наборі даних прогнозування відтоку. Ви можете використовувати пов'язані зразок зошита як шаблон, замінюючи набір даних вашим власним, щоб вирішити бажану проблему на основі табличних даних.
Обов’язково спробуйте ці алгоритми на SageMaker і перегляньте зразки блокнотів, щоб дізнатися, як використовувати інші вбудовані алгоритми, доступні на GitHub.
Про авторів
Доктор Синь Хуан є прикладним науковцем для вбудованих алгоритмів Amazon SageMaker JumpStart і Amazon SageMaker. Він зосереджується на розробці масштабованих алгоритмів машинного навчання. Його наукові інтереси пов’язані з обробкою природної мови, глибоким вивченням табличних даних та надійним аналізом непараметричної просторово-часової кластеризації. Він опублікував багато робіт у конференціях ACL, ICDM, KDD та журналі Royal Statistical Society: Series A.
Жоао Моура є архітектором-спеціалістом з рішень AI/ML у Amazon Web Services. Він переважно зосереджений на сценаріях використання НЛП і допомагає клієнтам оптимізувати навчання та розгортання моделі глибокого навчання. Він також є активним прихильником рішень ML з низьким кодом і спеціалізованого обладнання для ML.
- AI
- ai мистецтво
- AI арт генератор
- ai робот
- Amazon SageMaker
- штучний інтелект
- сертифікація штучного інтелекту
- штучний інтелект у банківській справі
- робот зі штучним інтелектом
- роботи зі штучним інтелектом
- програмне забезпечення для штучного інтелекту
- AWS Машинне навчання
- blockchain
- блокчейн конференція AI
- coingenius
- розмовний штучний інтелект
- крипто конференція ai
- dall's
- глибоке навчання
- у вас є гугл
- навчання за допомогою машини
- plato
- платон ai
- Інформація про дані Платона
- Гра Платон
- PlatoData
- platogaming
- масштаб ai
- синтаксис
- зефірнет