Сценарий реального мира: какой алгоритм машинного обучения выбрать лучшие атрибуты - PullRequest
0 голосов
/ 13 ноября 2018

Я являюсь разработчиком .NET, и в моей компании мы разработали механизм, который приписывает миссии (транспортирует эти пакеты от А до Б) наилучшему подходящему драйверу на основе простых правил (адрес получения, адрес доставки, адрес водителя, драйвер). характеристики транспортных средств (максимальный вес, длина), расстояние, на которое необходимо проехать, типы упаковки для транспортировки и т. д.) Этот механизм старается изо всех сил предоставить пользователю 3 наиболее подходящих водителя для выполнения транспортной миссии.

Мы пытаемся решить этот сценарий с помощью машинного обучения (более 100000 миссий в нашей базе данных). Мы хотим ответить на эти вопросы: - Кто лучший водитель для этой миссии? - Каков соответствующий результат для гонщика XXX для этой миссии?

Как примечание, наш пул драйверов развивается (некоторые драйверы удаляются, а некоторые добавляются в нашу систему с течением времени).

Я открываю ML и изучаю основные алгоритмы ML, но не могу найти алгоритм, который мог бы ответить на этот вопрос.

Я хотел бы разработать новую (все еще в предварительном просмотре) Microsoft Framework для разработчиков .NET (ML.NET) или, возможно, Azure Machine Learning Studio или Azure Machine Learning Service

Наши данные выглядят (упрощенно):

Drivers :

Name        City            VehicleMaxWeight    VehicleLength ... StreetName, ZipCode, Country, Latitude, Longitude ... 
Pierre      Paris           19000Kg             12m
Francois    Bordeaux        26000Kg             12m
Guillaume   Montpellier     44000Kg             16.50m
Jacques     Montpellier     32000Kg             16.50m
Jean        Paris           12000Kg             8m
Bernard     Montauban       26000Kg             12m     

Transport mission history :

PickupCity      DeliveryCity    Service         TotalWeight     TotalLenght     DriverAssignment        (Distance to PickupCity)
Paris           Marseille       S1               2000Kg         5m              Jean                    (5km)
Paris           Lyon            S2              15000Kg         10m             Pierre                  (8km)
Toulouse        Lyon            S3              5000Kg          5m              Bernard                 (53km)
...             ...             ...             ...             ...             ...                     (...)
Lyon            Paris           S2              3000Kg          3m              ????????????????

Или, если первая проблема не может быть легко решена, было бы полезно ответить на этот вопрос: Какой водитель я могу выбрать для поездки из Лиона в Париж для обслуживания S2, учитывая следующую историю?

Transport mission history :

PickupCity      DeliveryCity    Service         DriverAssignment
Paris           Marseille       S1              Jean            
Paris           Lyon            S2              Pierre          
Toulouse        Lyon            S3              Bernard         
...             ...             ...             ...             
Lyon            Paris           S2              ????????????????

Я бы попытался предсказать столбец

DriverAssignment

Не могли бы вы помочь мне найти алгоритм для этой задачи? А может быть, как я могу реализовать это в ML.NET или Azure ML Studio / Service?

Спасибо!

1 Ответ

0 голосов
/ 13 ноября 2018

Если необходимо использовать ML, это можно сформулировать как проблему с системой рекомендаций: учитывая последовательность драйверов, с которой выполнялась миссия ранее, каких водителей следует рекомендовать в следующий раз, когда эта миссия появится снова? Могут использоваться как рекомендательные системы на основе контента, так и системы совместной фильтрации. Если миссия оказывается совершенно новой (без истории матчей), совместная фильтрация все еще может использоваться.

ИЛИ, однако, может быть лучше подходит для этой проблемы. Основополагающее предположение о ML: прошлые операционные практики (данные, которыми вы поделились) были оптимальными; это то, что ОД будет изучать в качестве передовой практики и впоследствии использовать для предоставления будущих рекомендаций. Если не используется обучение с подкреплением, в этом случае вам нужно придумать какое-то понятие совокупного вознаграждения.

...