Технология искусственных нейронных сетей (ИНС) в наши дни получила широкое распространение [1, 2]. Практически ежедневно поступают сообщения о новых областях успешного применения ИНС, создании программных продуктов и устройств на их основе.
В связи с этим большой интерес представляет изучение возможностей применения ИНС и машинного обучения при создании современных сервис-ориентированных программных продуктов, особенно если решаемые ими задачи можно свести к решению задач классификации, с которыми, как известно, ИНС умеют успешно справляться [3, 4].
Одной из них является задача оценки подержанных автомобилей, а именно – определение цены конкретного экземпляра транспортного средства. Цена – количество денег, в обмен на которые продавец согласен продать товар [5].
Об использовании ИНС в области определения цен известно, но аналогичные сервисы (с использованием элементов машинного обучения) пока немногочисленны и находятся в стадии разработки или тестового запуска [6]. Тема имеет важность в связи с расширением количества интернет-площадок, увеличением доли сделок с бывшими в употреблении авто, снижением спроса на новые машины из-за сложной ситуации в экономике.
Цель исследования: изучение возможности применения искусственной нейросети в программных сервисах, предназначенных для приблизительной оценки цены подержанных автомобилей отдельно выбранной марки и модели по ряду характеристик.
Материалы и методы исследования
Для проведения исследования необходимо: определить марку и модель автомобиля, подобрать источник данных для обучения ИНС, выбрать средства моделирования и обучения ИНС, осуществить математическую постановку задачи, определить архитектуру ИНС, количество слоев и нейронов. Эти и другие пункты будут раскрыты ниже подробнее.
Выбор модели и марки автомобиля
Решено выбрать в качестве целевой марки и модели – «Рапид» (Rapid) чешского производителя «Шкода» (Skoda), входящего в концерн «Фольксваген» (Volkswagen).
Выбор обусловлен рядом причин. Модель довольно популярна на рынке, появилась относительно недавно (2012–2014 гг.), но при этом выпускается достаточное время, чтобы на площадках по продаже авто могло появиться достаточное количество объявлений.
Ранее автомобили с таким названием не производились (модели 1935 и 1984 г. можно не учитывать, на рынке их практически нет). За время производства (6 лет) Rapid не происходило смены поколений, был проведен лишь ряд рестайлингов, существенно не повлиявших на внешний вид и техническое оснащение автомобиля [7].
Автомобили, собираемые в Чехии, России, Украине и Казахстане, почти не имеют отличий. Кузов автомобиля представлен практически единственным вариантом – лифтбек.
Технически все автомобили имеют три варианта коробок передач (механическая, автоматическая, роботизированная DSG) и двигателей (атмосферные – объем 1,6 л (90 л.с. или 110 л.с.), а также турбированный – объем 1,4 л, 125 л.с.). Ранее выпускались автомобили с двигателями 105 и 122 л.с., которые присутствуют на вторичном рынке [8].
Таким образом, Rapid – идеальный вариант для классификации на начальном этапе применения ИНС, поэтому данный автомобиль и будет использоваться в нашей работе.
Источник данных для обучения ИНС
В настоящее время в интернете можно обнаружить большое количество сайтов, специализирующихся на продаже и покупке подержанных автомобилей. Нами были изучены следующие ресурсы: auto.ru, drom.ru, car.ru, genser.ru и автомобильный раздел сайта avito.ru.
В итоге остановим свое внимание на старейшем и крупнейшем в России сайте auto.ru и на портале drom.ru. Статистика по автомобилям исследуемой модели, характеристикам и связанной с ними цене собрана с этих сайтов.
На auto.ru размещено свыше 500000 объявлений о продаже подержанных автомобилей. При этом объявлений о продаже Skoda Rapid – около 3 тысяч по всем регионам.
Сбор статистики осуществлялся с сайтов в ручном режиме в течение одной недели в ноябре 2017 г. среди объявлений, опубликованных в ряде географически близких регионов на юге России (Ростов-на-Дону + 500 км). Результаты обрабатывались с использованием табличного процессора Microsoft Excel.
Средства моделирования и обучения ИНС
В качестве средства моделирования ИНС выбрано использование программы-нейропакета – программного продукта, позволяющего создавать и обучать ИНС, эмулируя их поведение на обычном персональном компьютере.
В качестве альтернатив были рассмотрены инструменты: NeuroSolutions, Process Advisor, NeuralWorks Professional II, BrainMaker Pro, NeuroShell, MatLab + Neural Network Toolbox.
Каждый из них обладает своими достоинствами и недостатками, которые подробно описаны в статьях [9, 10]. Для работы был выбран NeuroSolutions компании NeuroDimension.
Математическая постановка задачи
Математическая постановка задачи определения стоимости практически аналогична постановке задачи классификации [3]. Задача формулируется как задача классификации, где G = [пробег, возраст, мощность двигателя, тип коробки передач] – множество параметров отдельно взятого автомобиля, Q = {A, B, C, D, E, F} – диапазон изменения цен. Есть некое отображение g*: G → Q, его значения известны на примерах выборки Gj = {(g1, q1),…,(gj, qj)}. Надо создать систему β: G → Q, которая сможет верно классифицировать любой экземпляр автомобиля g∈.
Определение входных и выходных параметров
Воспользуемся сайтом по продаже подержанных автомобилей auto.ru (рис. 1).
Рис. 1. Объявление о продаже Skoda Rapid на сайте auto.ru
Можно заметить, что цена главным образом определяется по четырем основным параметрам: пробег, мощность двигателя, тип коробки передач, год выпуска (возраст автомобиля). Их мы и выберем в качестве входов ИНС.
Определим следующие диапазоны изменения входных переменных. Пробег – от 100 до 750000 км. Мощность двигателя – 75, 90, 105, 110, 122 и 125 л.с. Тип коробки передач – АМТ, АТ, МТ. На момент исследования для продажи на автомобильных рынках находились автомобили с 2014 по 2017 г., т.е. возраст автомобиля исчисляется от 1 года до 4 лет.
Так как работа направлена на определение цены подержанного автомобиля, выходной переменной будет являться именно его цена. Изучив сайты отметим, что минимальная цена на Skoda Rapid приблизительно равна 400000 рублей. Максимальная цена на сайтах за Rapid – приблизительно 1 млн руб.
Диапазон изменения цен на автомобиль от 400000 до 1000000. Разделим данный диапазон на 6 условных отрезков по 100000, которые и будут являться выходными параметрами.
Таким образом, принимая вектор признаков из четырех параметров G = [пробег, мощность двигателя, тип коробки передач, возраст автомобиля], обученная ИНС должна классифицировать автомобиль g∈G путем отнесения его к одному из 6 диапазонов цен Q = {A, B, C, D, E, F}, где A = 400000 – 500000; B = 500000 – 600000; C = 600000 – 700000; D = 700000 – 800000; E = 800000 – 900000; F = 900000 – 1000000 (цена в рублях).
Архитектура и тип ИНС
В качестве ИНС используем универсальный классификатор типа «многослойный персептрон» [2, 11]. Вектор признаков состоит из четырех параметров, поэтому во входном слое 4 нейрона. Количество нейронов в выходном слое равно количеству классов, т.е. 6. В ИНС применим 2 скрытых слоя.
Известно, что можно определить число элементов в скрытом слое ИНС, при условии, что такой слой только один [12]. Это можно сделать по уравнению
MS = 2•Mx + 1, (1)
где Mx – число нейронов входного слоя,
MS – число нейронов в скрытом слое.
У нас, Mx = 4, поэтому вычисляем: MS = 2•4 + 1 = 9.
Если в персептроне больше одного слоя, число нейронов можно определить эмпирически [2, 11, 12]. Разместим 8 и 4 нейрона в первом и втором скрытых слоях соответственно, что суммарно больше оценки, полученной по формуле (1).
Функция гиперболического тангенса th служит функцией активации нейронов скрытых слоев персептрона Z:
Z(Axlin) = th(Axlin) = (2)
где xlin – сигнал линейной части искусственного нейрона,
A – параметр сдвига.
Обучающие примеры
Чтобы определить необходимое число К обучающих примеров для корректного обучения ИНС методом «с учителем», применим уравнение
(3)
где wс – число настраиваемых парметров ИНС,
е ≤ 1 – приемлемое значение ошибки.
Число K берут чуть больше, как минимум на 5 % от определенного в (3).
У нас: e ≈ 0,15, wc ≈ 90, определяем K ≥ 600. Полученное число увеличиваем на 5 %: K = 630 (шт.).
Необходимое количество примеров с сайтов auto.ru и drom.ru внесем в файл, который нужен для работы NeuroSolutions, выполнив преобразования данных.
Обучение ИНС и анализ полученных результатов
Произведем моделирование ИНС в пакете NeuroSolutions в режиме «Нейроэксперт».
Количество векторов для экзаменационного и тестового наборов – 20 % от общего числа. Тестовый (Cross validation) набор применяется во избежание «переучивания» ИНС, экзаменационный (Testing) – для оценки качества работы.
Задав параметры ИНС, завершаем построение сети в NeuroSolutions (рис. 2).
Далее, запускаем процесс обучения нейронной сети. Всего используем 1000 эпох обучения. В результате кривая обучения (Learning curve) принимает вид, представленный на рис. 3.
Здесь CV – среднеквадратическая ошибка на тестовом наборе, Т – среднеквадратическая ошибка на обучающих данных. Обе ошибки в процессе обучения нейронной сети уменьшаются. Хорошо видно, что кривые принимают горизонтальный вид на уровне чуть менее 0,2 уже после 170 эпох обучения. Таким образом ИНС обучена и может решить представленную ей задачу со среднеквадратической точностью около 80 %.
Рис. 2. Проект NeuroSolutions с созданной ИНС
Рис. 3. Кривая обучения нейронной сети
Результаты исследования и их обсуждение
Протестируем ИНС на тестовых записях, в большинстве случаев ИНС успешно справляется с определением диапазона цены. Появление единицы в выходном векторе ИНС Q служит индикатором класса, к которому принадлежит вектор gi.
Используемый нейропакет предоставляет средства определения общих результатов обучения ИНС на базе экзаменационного набора (Testing) и представления, что показано в таблице. Значения из этого набора не подавались на входы сети в процессе ее обучения и были предварительно зарезервированы в объеме 20 % от общего числа примеров. Таким образом, мы можем сымитировать работу ИНС в реальных условиях и оценить ее.
Итоги работы ИНС при подаче на ее входы экзаменационных данных
A |
B |
C |
D |
E |
F |
|
A |
61,77 |
35,29 |
2,94 |
0 |
0 |
0 |
B |
3,73 |
84,47 |
11,18 |
0,62 |
0 |
0 |
C |
0 |
32,5 |
59,17 |
5,83 |
2,5 |
0 |
D |
0 |
6,67 |
37,78 |
44,44 |
8,89 |
2,22 |
E |
0 |
0 |
12,5 |
25 |
56,25 |
6,25 |
F |
0 |
0 |
0 |
0 |
0 |
100 |
Как видно из таблицы, наилучших результатов ИНС достигла при отнесении экземпляров автомобилей к ценовым диапазонам (классам) F и B (100 % и 84,47 % соответственно). Хуже всего дела обстоят с диапазоном D, где процент верных ответов составил всего 44,44 %. При этом значительную долю автомобилей этой категории (37,78 %) нейросеть отнесла к ближайшему (более дешевому) ценовому диапазону С.
С одной стороны, это может свидетельствовать о том, что часть автовладельцев неверно оценивает стоимость своих автомобилей при определении цены продажи. С другой стороны, для оценки авто могут иметь значение другие факторы, которые мы не подавали на вход ИНС. Например, наличие скрытых дефектов или проблемы с оформлением документов.
Для улучшения результатов часть из этих параметров может быть добавлена в качестве дополнительных входов ИНС, но здесь есть опасность усложнения системы при незначительном увеличении точности классификации. Добавление слишком большого числа признаков приводит к экспоненциальному росту [13, 14] числа опорных точек, которые требуются для описания пространства (так называемое «проклятие размерности»).
Разумеется, ошибки в определении цены будут встречаться даже при работе опытных экспертов. В целом представленный результат можно считать приемлемым. На результаты ИНС можно опираться при приблизительной оценке стоимости подержанного Skoda Rapid.
Возможность внедрения
Применяя интегрированные в нейропакет средства, сгенерируем DLL-модуль, в котором находится ИНС. Это дает возможность повторно применять ее в приложениях. Для работы с DLL написана программа в Visual Studio с интерфейсом пользователя (рис. 4). Использован язык С++.
Приложение может работать в двух режимах: получение от ИНС результатов (Output) и тренировка (Training). В режиме «Output» вручную вводятся данные, нажатие кнопки «Вычислить» выводит на экран один из возможных диапазонов цен. В режиме «Training» возможно дообучение ИНС и запуск нового процесса обучения с обнулением межсинаптических весов сети. Это дает возможность повышать точность работы нейросети при получении дополнительных данных.
Рис. 4. Интерфейс программного приложения
В качестве предпочтительного варианта реализации сервиса следует рассматривать его внедрение на популярных интернет-площадках по продаже автомобилей в виде Web-сервиса, доступного пользователям в режиме онлайн через браузер.
Заключение
В результате проведенного исследования изучена возможность применения ИНС в программных сервисах, предназначенных для оценки стоимости подержанных автомобилей.
В качестве целевой марки и модели автомобиля выбран Skoda Rapid. Собраны обучающие примеры с сайтов auto.ru и drom.ru в количестве 630 шт. Представлена математическая постановка задачи, как задачи классификации. В качестве ИНС использован «многослойный персептрон» с двумя скрытыми слоями.
Произведено моделирование ИНС в NeuroSolutions. Проанализированы результаты работы ИНС, рассмотрены пути повышения качества ее работы и возможность внедрения. Нейросеть может использоваться для экономии времени и повышения удобства пользования.
Работа поддержана РФФИ, проекты: 18-08-00549-а, 17-07-00620-a, 19-01-00246-а, 19-07-00329-а.