+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Microsoft оголосив про випуск ML.NET 0.7 - крос-платформної та open source системи машинного навчання для розробників .NET

Microsoft оголосив про випуск ML.NET 0.7 — крос-платформної та open source системи машинного навчання для розробників .NET

Microsoft оголосив про випуск ML.NET 0.7 - останньої версії крос-платформної та open source системи машинного навчання для розробників .NET (ML.NET 0.1 був випущений на //Build 2018). Цей реліз спрямований на розширення функціональності платформи.

Підтримка системи рекомендацій з Matrix Factorization

Рекомендаційні системи дозволяють створювати персоніфіковані рекомендації для продуктів у каталозі, пісень, фільмів тощо. Ми покращили підтримку створення систем рекомендацій у ML.NET, додавши Matrix factorization (MF). Це популярний підхід до рекомендацій, коли можна отримати дані про те, як користувачі оцінюють ті чи інші елементи в каталозі. Наприклад, ви можете знати, як користувачі оцінюють деякі Фільми. Завдяки цим знанням можна порекомендувати інші фільми, які вони, ймовірно, теж захочуть подивитись. ML.NET 0.3), і він може підтримувати рейтинги, які є чисельними (наприклад, 1-5 зірок) замість бінарних значень («Сподобалося» або «не сподобалося»). Незважаючи на те, що ми додали MF, ви все одно можете використовувати FFM, якщо хочете використовувати іншу інформацію за межами рейтингу, який користувач надає елементу (наприклад, жанр фільму, дата випуску фільму, профіль користувача).

MF ML.NET використовує LIBMF.

Сценарії виявлення аномалій – виявлення незвичайних подій

Виявлення аномалій дозволяє ідентифікувати незвичайні значення чи події. Він використовується в таких сценаріях, як виявлення шахрайства (виявлення підозрілих транзакцій за кредитними картками) та моніторинг сервера (виявлення незвичайної активності).

ML.NET 0.7 дозволяє виявляти два типи аномальної поведінки:
< br />

  • Виявлення спайків: Spikes приписуються раптовим тимчасовим сплескам у значеннях вхідних даних. Це можуть бути викиди через збої в роботі, кібер-атак, вірусний веб-контент і т.д.
  • Change point detection: change-поінтами відзначають початок постійних відхилень у поведінці даних.

Ці аномалії можуть бути виявлені на двох типах даних з використанням різних компонентів ML.NET:

  • IidSpikeDetector та IidChangePointDetector використовуються для даних, взятих з одного стаціонарного розподілу (кожна точка даних не залежить від попередньої).
  • SsaSpikeDetector та SsaChangePointDetector використовуються для даних, що мають компоненти сезонності/тренду (можливо, упорядкованих за часом, наприклад, продажів продукту).

Покращена налаштовуваність ML.NET pipelines

ML.NET пропонує безліч перетворень даних (наприклад, обробку тексту, зображень, категоріальних функцій тощо). Однак для деяких випадків використання потрібні специфічні перетворення. Тепер ми додали підтримку перетворень користувачів, щоб ви могли легко включати кастомні рішення.

CustomMappingEstimator дозволяє вам створювати власні методи обробки даних і вносити їх у pipeline ML.NET. Ось що він виглядатиме в pipeline:

var estimator = mlContext.Transforms.CustomMapping(MyLambda.MyAction, "MyLambda")
    .Append(...) .Append(...)


Нижче наведено визначення того, що робитиме цей кастомний мапінг. У цьому прикладі ми перетворимо текстову мітку (spam або ham) в логічну мітку (true або false).

public class MyInput
{
    public string Label {get; set; }
}

public class MyOutput
{
    public bool Label {get; set; }
}

public class MyLambda
{
    [Export("MyLambda")]
    public ITransformer MyTransformer => ML.Transforms.CustomMappingTransformer(MyAction, "MyLambda");

    [Import]
    public MLContext ML { get; set; }

    public static void MyAction(MyInput input, MyOutput output)
    {
        output.Label= input.Label == "spam" ? true: false;
    }
}

Підтримка x86 на додаток до x64

У цьому випуску ML.NET тепер можна використовувати моделі машинного навчання на пристроях із архітектурою x86/32-біт (тільки для Windows). Раніше ML.NET обмежувався пристроями x64 (Windows, Linux та Mac). Зверніть увагу, що деякі компоненти, які базуються на зовнішніх зв'язках (наприклад, TensorFlow), недоступні в x86-Windows.

NimbusML — експериментальне зв'язування Python для ML.NET

NimbusML надає експериментальні прив'язки Python для ML.NET. Ми бачили зворотний зв'язок від зовнішньої спільноти та внутрішніх команд розробки щодо використання кількох мов програмування. Ми хотіли, щоб якнайбільше людей могли використовувати ML.NET.

ML.NET не тільки дозволяє дата-сайнтистам використовувати моделі машинного навчання в Python (з компонентами, які також можуть використовуватися в scikit-learn pipelines), але також дозволяє зберігати моделі, які можна легко використовувати в додатках .NET через ML.NET (докладніше див. тут).

Відгук про новий API ML.NET

У ML.NET 0.6 з'явився новий набір API для ML.NET, який забезпечує підвищену гнучкість. Ці API у версії 0.7 та наступних версій все ще розвиваються, і ми хотіли б отримати ваші відгуки для того, щоб зробити систему ще кращою.

Хочете взяти участь? Залишіть відгук на ML.NET GitHub!

Інші новини

Найкраща ціна