На данном сайте используются 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 р.