Оставаясь на нашем сайте, Вы даете согласие на использование нами Cookie-файлов и иных технологий по сбору статистических сведений о посетителях, а также соглашаетесь с нашей Политики конфиденциальности
Согласен
vk pixel
Нейросеть предсказаний продаж

Блог

05. 07. 2017г.
0

Что делаем

Сейчас, используя простую нейронную сеть (нынче модно), мы создадим сервис, который будет предполагать, произведет ли посетитель сайта покупку. Представьте что у вас есть 100 товаров, и у каждого есть 10 характеристик (которые принимают значения да/нет/неизвестно - это может быть что угодно, например "дорого", "гарантия 2 года", или какое-то свойство товара). 

Теперь, допустим, на сайте (интернет-магазине) уже скопилась некоторая статистика: посетитель зашел на некоторые страницы с товарами и затем либо сделал покупку товара с определенными характеристиками, либо нет.

Сконструируем простую нейросеть, которая, будучи обученной на уже известных данных, начнет предсказывать купит ли посетитель что-либо или нет (для любых данных). Смысл использования нейросетей в том и заключается, что она может действовать "по аналогии" в случае неизвестных ситуаций, при этом эти аналогии далеко не поверхностны. 

Как делаем

У нейросетей работают "слои", в нашем случае слоя будет три - входной, промежуточный, и выходной. Каждый элемент слоя - вход, который принимает значения от 0 до 1 (у нас будут только 0 и 1, да или нет), а затем распространяет сигнал дальше. Промежуточный слой называют скрытым (и чем таких слоев больше, тем "умнее" сеть, но тем сложнее её обучать). 
В нашем случае входом будет массив из 0 и 1 длиной 100 + 10 * 3 = 130. В первой сотне будут стоять единички на тех местах, номера товаров которые посетитель сайта просматривал, а 10 * 3 - это значения характеристик товаров, которые присутствовали в просмотренных.

Таким образом [1, 1, 0, ..... (97 нулей), 1, 1, 0, ... (27 нулей)] будет означать что посетитель просмотрел первый и второй товары, у которых первая характеристика была как в наличии, так и не в наличии (последний указанный ноль означает, что "неизвестно" для характеристики не встречалось в первом и втором товарах).

Количество "нейронов" в промежуточном слое не особо вдаваясь в заумности выберем как половину от 130: 65. Выходной слой будет иметь 2 элемента: 1 выход для "купит" или "не купит" (максимальное будет решением - принцип "победитель получает всё").

Код



Посмотрите по ссылке код. Он использует библиотеку synaptic.js, которая умеет составлять сети и тренировать их. В примере кода, поскольку никаких исходных чьих-то данных я не использую, я их генерирую случайным образом. При этом нейросеть на работоспособность все равно можно - просто потом сравнить данные для обучения с вычисляемым выходом.




В данном примере значения не 100 и 10 (для товаров и характеристик) - обучение достаточно затратная операция по памяти, поэтому числа уменьшены.

Заключение

Выглядит это как-то так (вводятся номера посещенных страниц).
ai_no.png
ai_ok.png

Естественно, мозг покупателя устроен куда как сложнее, но... на ecommerce-сайтах часто нет столько данных, чтобы человеческий мозг отрабатывал их во всем возможном многообразии. Простые данные - простые решения... это не модель мозга, но модель принятия решений. Конечно простая, но для целей иллюстрирования - вполне годная. И "знал бы прикуп - жил бы в Сочи" - нет таких моделей, которые бы стопроцентно угадывали, но исходя из предположений (например, о том, что уже купит), вы можете изменять дизайн или контент на сайте. 


Назад
В корзине 0 товаров на 0 р.