Методы машинного обучения для оптимизации экономических задач

"Научный аспект №6-2024" - Информ. технологии

УДК 004.89
Ледовская Екатерина Валерьевна – доцент кафедры Прикладной математики МИРЭА – Российского технологического университета

Аннотация: В статье рассматриваются различные методы, применяемые в экономике и в машинном обучении. Машинное обучение находится на стыке математической статистики, методов оптимизации и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами вычислительной эффективности и переобучения. Базовая цель традиционной экономики формулируется как принятие оптимальных решений с условиями нехватки ресурсов. Как никогда для математического описания экономических моделей подходит теория игр. Сами задачи можно описать математически, используя функции минимума и максимума. Результаты использования методов машинного обучения для компании: за счет персонализированного взаимодействия повышается конверсия и количество клиентов, за счет более актуальных предложений повышается средний чек, все это позволяет увеличить выручку.

Ключевые слова: машинное обучение, обучение без учителя, самоорганизующиеся сети Кохонена, uplift моделирование.

Введение


В 2014 году на знаменитом цикле хайпа компании Gartner на пике ожиданий появилась технология – наука о данных (data science), которая сразу же исчезла и в последующие года не появлялась ни в одном отчете, а все из-за того, что меньше, чем за год эту технологию использовали повсеместно. Но взамен нее пришло машинное обучение, которое держалось на самом пике последующие 5 лет вместе с ее разновидностью – глубинным обучением. Это произошло из-за прорыва в области предиктивной аналитики, где обычная нейросеть научилась получать результаты лучше, чем это делает человек. Такое развитие и дало толчок для использования искусственного интеллекта, который на данный момент применяется во всех отраслях, начиная от ритейла и заканчивая нефтедобычей и тяжелой промышленностью.
В данной работе исследованы некоторые методы оптимизации, а также персептрон.

Основные понятия машинного обучения в экономике


Машинное обучение (Machine Learning) – обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. Различают два типа обучения. Обучение по прецедентам, или индуктивное обучение, основано на выявлении общих закономерностей по частным эмпирическим данным. Дедуктивное обучение предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний. Дедуктивное обучение принято относить к области экспертных систем, поэтому термины машинное обучение и обучение по прецедентам можно считать синонимами.
Машинное обучение находится на стыке математической статистики, методов оптимизации и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами вычислительной эффективности и переобучения. Многие методы индуктивного обучения проектировались как концепция классическим статистическим подходам. Многие методы тесно сплетены с добыванием информации и интеллектуальным анализом данных.
Машинное обучение решает вопрос о способе создания компьютерных систем, которые улучшают роботизированную работу с помощью опыта. Она, безусловно, считается одной из самых быстро развивающихся технических областей на сегодняшний день, лежащей на пересечении технологических ноу-хау и статистики, а также в центре синтетического интеллекта и информационных технологий. Последние разработки в освоении систем были продвинуты с помощью использования усовершенствованных алгоритмов и различных концепций, а также с помощью использования продолжающегося взрыва в рамках доступности оперативной информации и низкооплачиваемых вычислений. Внедрение методов углубленного анализа информации может быть определено в какой-то момент технологическим взрывом, эпохи и коммерции, что приведет к более основанному на фактических данных принятию решений во многих сферах жизни, таких как производство, образование, финансовое моделирование, маркетинг.
Экономика относится к такой сфере деятельности, которая располагается в непрерывном становлении, потому появляющиеся в ней проблемы и сверхзадачи беспрестанно требуют новейших решений в том числе и с точки зрения больших данных. Именно потому на машинное обучение и искусственный интеллект финансисты вкладывают громадные надежды.
Все задачи, которую решаются с помощью машинного обучения можно определить в отдельные категории.

Задача регрессии

Прогноз на предпосылке выборки объектов с различными симптомами. На выходе нужно получиться вещественное количество, к примеру расценка квартиры, себестоимость ценной бумажки по прошествии полугода, поджидаемый доход супермаркета на следующий полугод, качество вина при слепом анкетировании.

Задача классификации

Получение категориального ответа на предпосылке набора симптомов. Имеет промежуточное количество откликов (как правило, в контексте «да» или «нет»): есть ли на фотографии пёс, является ли изображенье человекоподобным лицом, болен ли клиент раком.

Задача кластеризации

Распределение данных на подгруппы: разъединение всех клиентов сотового оператора по показателю платёжеспособности, причисление космических субъектов к определённой категории.

Задача уменьшения размерности


Сведение огромного количества показателей к наименьшему для визуализации.

Задача выявления аномалий


Отделение аномалий от обычных прецедентов. Кажется, что это соотносится к классификации, но есть различие: аномалии – проявление нечастое, и обучающих датасетов, на которых можно построить модель и выявить объекты мало, а иногда просто нет, поэтому методы классификации здесь не работают.
Искусственный интеллект появился, когда люди перестали подбегать к задачам процедурно и начали исследовать их эмпирически. Механизмы распознания лиц не сводятся к жёстким правилам поиска правдоподобия пикселей, основанных на человечьем понимании. Вместо этого эти алгоритмы применяют большой датасет фотографий, помеченных как лицо или нет, для функции f(x), которая прогнозирует наличие y лица из множества x. Это порождает вопрос: алгоритмы являются использованием обычных способов к новейшим и огромным датасетам разведданных или что-то другое? Если функционируют концептуально новые эмпирические инструментарии, как они согласуются с тем, что мы не знаем? Как можно их использовать?
Притягательность системы в том, что она умудряется находить обобщаемые тенденции. Решение системой задачи распознавания в основном связано с ее способностью обнаруживать сложную форму, которая не была заложена заранее. Ей удается сопоставить сложную и действительно гибкий набор данных с информацией без явного перенасыщения.
Многие финансово-экономические решения вращаются вокруг оценки параметров: произвести разумные оценки параметров β, лежащих в основе связи между y и x. Нужно признать, что алгоритмы машинного обучения, по-видимому, не разработаны для этой задачи. Хоть если эти алгоритмы воспроизводят коэффициенты регрессии, оценки редко бывают согласованными. Опасность в эксплуатации этих инструментов заключается в том, что они принимают формулу, подготовленную для y ̂, связанную с их β ̂ владеют свойствами, которые мы обычно связываем с результатами оценки. Но это неверно, необходимо строить обобщённую модель для предсказания нового y.
Регулируемые алгоритмы машинного обучения выискивают функции, которые лучше предсказывают выборку. Попробуем предсказать цену дома по его признакам x из n домов (y_i, x_i). Алгоритм будет принимать функцию потерь L(y ̂,y) в качестве входных данных и искать функцию F ̂, которая имеет низкую ошибку E(y,x)[L(f ̂(x),y)]. То же самое происходит с сложными алгоритмами классификации. А вот изображение можно превратить в вектор. Значение y равно 1 для изображений с лицом и 0 для изображений без лица. Функция потерь L(y ̂,y) фиксирует потерю и штрафует модель за ошибочную классификацию.
Для решения задачи классификации существует различные подходы, к примеру, такой как подход наименьших квадратов. Так зачем же обращаться к машинному обучению, если есть уже готовые процедурные и неэвристические алгоритмы? Результаты, полученные путём оценки различных методов машинного обучения и классических алгоритмов, приведены в таблице 1, описанной в статье [6].
Для справки положим, что тренировочная выборка – это выборка для обучения, используется в примере, метод оценки путём k-fold (разделение на k объектов, обучение на k-1, на k-ом проводится тестирование).

Таблица 1. Сравнение результатов различных моделей.

 

Прогноз

Относительное улучшение по сравнению с обычными наименьшими

квадратами по квантилю стоимости дома

Метод, используемы в задаче

Первый

Второй

Третий

Четвертый

Пятый

Наименьших квадратов

47.3%

-

-

-

-

-

Дерево регрессии

39.6%

-11.5%

10.8%

6.4%

-14.6%

-31.8%

Lasso

46.1%

1.3%

11.9%

13.1%

10.1%

−1.9%

Случайный лес

85.1%

3.5%

23.6%

27.0%

17.8%

−0.5%

Ансамблиевый метод

80.4%

4.5%

16.0%

17.9%

14.2%

7.6%

Проведя анализ таблицы, заметим, что методы машинного обучения справляются с задачей лучше, чем классический метод наименьших квадратов. Одно дерево регрессии справилось хуже, Lasso регрессия приближено к линейной регрессии и по этой причине справляется тоже плохо. Но случайны лес, который является агрегацией деревьев регрессии справился почти в два раза лучше, чем классический метод. Ансамблевый метод, заключающийся в объединении различных решений задач машинного обучения, выполнил определение цены дома лучше, чем методы по отдельности.

Анализ рынка

  • Проанализируем рынок товаров повседневного спроса по четырем аспектам:
  • Общие экономические и технические тенденции рынка: тенденции идут в сторону чрезмерного потребления, при этом большая часть покупателей стремится заменить большое количество товаров товарами люкс сегмента.
  • Стратегии текущих участников: текущие участники стремятся улучшить существующий клиентский опыт и привлечь новых клиентов за счет более персонализированного взаимодействия, применяя глубокую аналитику.
  • Изменения во взаимодействии между текущими участниками: компании активно борются за повышение своей доли на рынке, крупные игроки стараются улучшить свои позиции не только за счет увеличения числа торговых точек, но и в онлайн пространстве.
  • Новые участники: тренды рынка изменяются в сторону предпочтений натуральных продуктов и товаров премиум сегмента, рынок меняется и ожидается появление конкурентов с новыми концепциями в ближайшее время, поэтому текущим участникам необходимо быстро подстраиваться под изменения рынка.

При рассмотрении рынка товаров повседневного спроса можно заметить, что большинство производителей находится в сложной ситуации, так как скидки являются базовым аспектом ценовой политики. Растущая глубина скидки, как и появление большего количества акционных товаров являются основными драйверами роста данного рынка [13]. На данный момент доля продаж по промоакциям превысила 50%, а в некоторых категориях превзошла 70%, и глубина скидки только увеличивается. Именно поэтому компании стремятся найти другие пути для повышения заинтересованности покупателей и увеличения показателей продаж.
Рассмотрим показатель наличия товара на полке – OSA (On Shelf Availability), за повышение которого так или иначе борются все участники рынка. Согласно статистике, в среднем на третий раз отсутствия желаемого товара на полке торговой точки покупатель уходит в другой магазин, уже практически навсегда. При отсутствии нужного клиенту товара на полке в 47% случаев покупатель не совершит покупку в этом магазине и в 46% случаев не совершит покупку товара данного производителя. А вот повышение данного показателя приносит компании хороший эффект: повышение OSA на 2% принесет ~1% инкрементального (с повышательным трендом) роста объемов продаж для розницы [3]. Данная статистика демонстрирует, что показатель пополнения товаров на полке имеет большой потенциал роста при том, что при низком показателе высока вероятность потери клиента.
Решить данную проблему может сегментация на основе потребностей, которая позволяет правильнее работать с ассортиментом и массовым промо, учитывать запросы при формировании общего предложения. Сегментация на основе жизненного цикла открывает возможность для управления такими показателями, как жизненная ценность клиента, и, например, позволяет предсказывать и контролировать отток покупателей.

Задачи оптимизации в экономике


Базовая цель традиционной экономики формулируется как принятие оптимальных решений с условиями нехватки ресурсов. Как никогда для математического описания экономических моделей подходит теория игр, но в действительности необходимо решать задачу, сформулированную так. У агента, принимающего решение, существует множество способов:
U, тогда его задача – выбрать один элемент: u∈U.
Чтобы описать эффективность, можно использовать такую функцию:
F:U→R, которая моет принимает значения от - ∞ до + ∞.
Сами задачи можно описать математически, используя функции минимума и максимума, как показано это в следующем соотношении
Можно теперь описать две задачи:
F(u)→max (1)
и
F(u)→min (2)

Максимизация при поиске прибыли, а задача минимизации, наоборот - расходов. С математической точки зрения эти задачи одинаковы, потому как необходимо поменять лишь знак функции.
Но часто задачи не предполагают нахождение максимальности или минимальности, а необходимо просто найти приближённое ε решение для u^ε:
F(u^ε )-F(u^*)≤ε (3)
Обычно методом для решения данной задачи является градиентный метод, он применяется, когда функция F является дифференцируемой, а множество U – вещественное. Тогда введём следующую формулу (4).
u^k=u^(k-1)-λ^k ∇F(u^(k-1)) (4)
Но в экономических задачах часто бывают разного рода ограничения. Первое условие – дифференцируемость функции F не всегда может быть достигнуто. К примеру, второе условие – соответствие множества U вещественным значениям может быть не достигнуто, потому как многие данные в таких задачах дискретные. Рассмотрим следующий метод, который способен решить эти проблемы.

Метод имитации отжига

Данный метод основан на стохастическом поиске, используя стохастический градиентный спуск. В целом, метод является эвристическим, поэтому он может решать сложные задачи, но не обязательно сойдётся. Опишем постановку задачи:
min┬(s∈S)⁡〖H(s)=H(s^* )〗 (5)
Мы пытаемся найти минимум функции H: S → R, простыми словами, задача состоит в поиске s^*∈S, где H минимально.
Опишем суть метода:
Имея значение s^k мы находим новое значение s ̂^k, находящееся близко к s^k с шагом λ^k ∇F(u^(k-1)). Если это значение лучше предыдущего H(s^k) < H(s^(k+1)), то для следующего значения принимаем новое значение s ̂^k до тех пор, пока наш алгоритм не сойдётся.
Но если новое значение больше предыдущего, то принимаем его с вероятностью: P=e^(-∆/T^k ). Для P можно поставить ограничение на принимаемую вероятность. Заметим, что ∆ =H(s ̂^k )-H(s^k ), а T^k – то самое значение температуры (поэтому метод и называется методом имитацией отжига), которое зависит от итерации и уменьшается с каждой.
Поэтому при первых итерациях, метод часто включает первые ошибочные решения, что даёт стохастическому градиентному спуску найти оптимальное значение, а при последних итерациях, алгоритм не принимает их.
Опишем алгоритм:

  1. Инициализация. Пусть k = 0 – первый шаг итерации, пусть T^0=var – некоторое начальное значение переменной, затем возьмём некую s^0 из множества S.
  2. Теперь T^(k+1)=αT^k, где α – некое значение в пределе от 0 до 1 (чем ближе к 1 это значение, тем быстрее алгоритм сходится, но также может и перескочить оптимальное значение, поэтому α выбирается эмпирически, оценивая результат конечной работы алгоритма).
  3. s ̂^k=M(s^k ),где M, где M – некая функция, которая была взята заранее.
  4. Посчитать дельту: ∆ =H(s ̂^k )-H(s^k ).
  5. При отрицательной дельте s^(k+1)=s ̂^k.
  6. Если не 5 пункт, то P=e^(-∆/T^k ). При P>q -> s^(k+1)=s ̂^k.
  7. k=k+1 и переходим ко второму пункту пока не достигнем k^end.

Метод роя частиц

Данный метод похож на предыдущий, поэтому опишем постановку задачи:
min┬(s∈S)⁡〖H(s)=H(s^* )〗 (6)
Рассмотрим задачу, где S∈R^n, хотя можно исследовать только на ограниченном промежутке. Мы пытаемся найти минимум H(s).
На первом этапе попытаемся определить подмножество похожих решений, таких как: H={x_1,x_2,…,x_M}, где x_M – значение точки M в итерации t.
Затем, определим все точки:min┬(s=0,…,t)⁡〖H(x^M (s))〗=H(x^M (s ̂ )). А теперь используем общую формулу для нахождения положения m-ой точки следующей итерации:
x^m (t+1)=x^m (t)+u^m (t), (7)
где сама скорость определяется соотношением:
u^m (t)=αu^m (t-1)+βε(x ̃^m (t)-x^m (t))+γε(x ̃^m (t)-x^m (t)),
здесь ε – случайная величина (0,1), а все остальные параметры – параметры уравнения для сходимости.
Каждая точка(частица) перемещается в сторону минимума и после n-ой итерации достигает его. Все частицы направлены в сторону минимума, которая была определена в предыдущей итерации. Это позволяет находить глобальный минимум функции даже для негладких функций с учётом множества локальных минимумов.
Из практического применения метода, описанного в статьи [1], покажем, как работает данный метод наглядно на Рисунке 1.

image043

Рисунок 1. График функции.
Зачастую такая функция используется для тестирования алгоритмов оптимизации. Она описывается уравнением:
f(x,y)=〖(1-x)〗^2+100〖(y-x^2)〗^2 (8)
Заметим, что она имеет глобальный минимум в точках (1,1).
Используем метод, описанный в статье, введём начальные значения для алгоритма, а затем произведём 1000 итераций. Заметим, как с каждой итерацией значения приближаются к минимуму – 0.
Результаты иллюстрированы на Рисунке 2.
По оси x – количество итераций, а по оси y - lgH(x(t)) для более удобного восприятия. Заметим, что алгоритм находит решение за 1000 итераций lgH(x(t)) и приближается к значению 0.

image046
Рисунок 2. График результата работы.
Таким образом, решая сложную задачу методом роя частиц, можно достигнуть минимума за приблизительно 1000 операций на данном примере.

Генетические алгоритмы


Генетический алгоритм (ГА) это один из первых популяционных стохастических алгоритмов, предложенных в истории. Главными методами ГА являются отбор, скрещивание и мутация. В этой части кратко представлен этот алгоритм и показано его эффективность в задачах смежно пересекающимися с экономическими.
Так как это задача оптимизации, то мы ищем минимум функции:

y=f(x_1,x_2,x_3) (9)

Тогда сами аргументы функции – хромосомы, а вот вектора 〖(x_1,x_2,x_3)〗^T – это уже гены. Тогда необходимо найти минимум функции не от одного гена, а множества векторов генов.
Обычно алгоритм включает в себя несколько пунктов, которые состоя
из:

  1. Создание новых векторов из множества.
  2. Объединение векторов.
  3. Изменение элементов вектора.

Первый пункт предельно ясен: мы создаём новые вектора размерностью n в n-мерном пространства признаков из множества этого пространства. Во втором пункте мы объединяем два вектора в новый вектор той же размерности, что и предыдущие. Лучшие вектора с точки зрения оптимизации на k-ом шаге чаще попадают в новый вектор на k+1 шаге. А последний пункт случайно изменяет элементы вектора.

Определим множество D
D={x∈R^n a_i≤x_i≤b_i,i=1,2…,n} (10)
Мы пытаемся определить вектор x^*∈D, где знакомое нам соотношение примет вид:
min┬(x∈D)⁡〖H(x)=H(x^* )〗
Перейдём к более формальным вещам и опишем алгоритм работы:

  1. Определим множество M генотипов, описываемые как:
    x^m∈D,где m=1,2…,M
  2. Определим функцию R= 1/(1+F(x)). Область значений данной функции принадлежит промежутку от 0 до 1 включительно.
    Определим, что генотип x ̂ лучше, чем x по соотношению:
    R(x ̂ )>R(x) (11)
    Теперь для каждого вектора будем определять функцию R, а затем производить сравнение.
  3. Будем производить сравнение и определять по списку сверху вниз по вычислению функции R для всех векторов.
  4. Теперь все вектора в порядке 2≤m≤(M-M_C ) заменяем на вектора x^m объединенным с случайным вектором. А остальные векторы объединяем с новыми векторами.
  5. Переходим к шагу 2 вновь до точки остановки

На самом деле точка остановки может быть как количество итераций, так и оценка полученного значения.

Таким образом, коротко описав систему генетического алгоритма, мы пришли к выводу поиска оптимального решения для задач оптимизации. Этот метод, как и многие другие в данной работе – эвристический, но это ещё далеко не машинное обучение, которое принято считать в наше время несколько другим.
В следующем пункте будет описана модель персептрона, которая была описана 70 лет назад и до сих пор на основе этой модели строятся математические модели, называемые нейронными сетями.

Обучение персептрона


Проблемы распознавания образов характеризуются задачами, включающие в себя огромное число практических задач. Установим математическую формулировку таких задач.
Предположим, что K – какое-то множество образов, а некоторое k∈K назовём образам. В практических задачах данное множество дискретно и конечно. А теперь определим множество Ω- это множество, которое можно описать как:
K⊂ Ω, (12)
которое вовсе и не обязательно.
Определим такую функцию, как:
T:K → Ω, (13)
но опять-таки данная функция нам не всегда известна. Предположим, что для каждого K^M у нас есть такие пары, как:
〖A=(x〗^m,T(x^m)),m=1,2,…,M. (14)
Данный набор назовём train выборкой или обучающей.
Теперь сформулируем кратко все вышеизложенные мысли. Нам необходимо построить отображение:
R: Ω→K (15)
по train выборке A.
Но существует целый пласт задач, который работает без обучения на выборке A, такие задачи называются обучения без учителя, но попробуем разобраться что такое персептрон.
Как уже было написано, персептрон был описан ещё 70 лет назад, а если быть точнее он был разработан Фрэнком Розенблаттом в 1957 году, а сам алгоритм был реализован на ЭВМ «Марк-1». Само же понятие представляет математическую модель, которая является базовой составляющей нейронных сетей.
Определим множество S в котором содержится вектора размерности n:
x=(x_1,x_2,…,x_n ). (16)
Мы решаем задачу билинейной классификации, поэтому определим функцию, которой обозначается сам персептрон:
y:R^n→{-1,+1}. (17)
y=sign(w_0+w_1 x_1+w_1 x_2+⋯+w_1 x_n), (18)
но на самом деле, данную функцию мы можем описать как скалярное произведение двух векторов y = sign(w^T x), где вектор w – вектор весов персептрона, а вес с индексом 0 называется весом активации. При добавлении к вектору x первого элемента, равного единице, можно пользоваться определением y = 〖sign(w〗^T x).
Самая главная задача в данном методе – обучить нейронную сеть, а значит найти значения весов.
Предположим, что у нас есть набор данных, на которых мы будем обучать персептрон:
(x^m,d^m ),m=1,2,…,M, (19)
где x^m∈S,d^m∈{-1,1}.
Определим алгоритм, где скорость обучения α выберем в пределе от 0 до 1.

  1. Инициализируем вектор весов w любыми значениями.
  2. Для всех (x^m,d^m ), определить:
    y=sign[(w,x^m )]. (20)
  3. Если yd^m<0,то вычислить веса:
    w_i=w_i+αd^m x_i^m,i=1,2,…,n. (21)
  4. Повторять n раз 2 и 3 пункт.

Как видно, с каждой итерацией алгоритм приближает значения весов к необходимым значениям. К примеру, была дана функция y=2x+3, которая бы разделяла наши данные на два класса (положительный класс и отрицательный). Тогда, инициализировав вектор w=(w_(0,) w_(1,) ) значениями (0,0), через некоторое n итераций наш алгоритм сошёлся бы и вектор w принял бы значения приближённые к значениям данной функции, которая и являлась бы разделяющей прямой.
Заметим, что чем лучше множество линейно разделимо, тем лучшие результаты показывает наша модель. Если же множество совсем линейно не разделимое, то мы не можем построить гиперплоскость, а значит и наш алгоритм не сможет сойтись. Некоторое время назад было большой проблемой обучить искусственную нейронную сеть вычислять логическую операцию исключающее или, сложение по модулю два или так называемое жегалкинское сложение. Но как оказалось, данная операция невозможно только лишь в одномерных нейронных сетях, так называемых однослойных нейронных сетях, которой и является персептрон. С появлением архитектуры более сложных нейронных сетей такая задача решается без особых сложностей. Также заметим, что в следствии новых изучении новых технологий, исследований в математике и создании архитектуры новых нейронных сетей можно решить те задачи, которые вы прошлом казались нереализуемыми в техническом представлении.

Заключение


Таким образом, была проанализирована область экономики, область машинного обучения, и на грани стыка этих сфер знаний были исследованы различные методы, применяемые в экономике и в машинном обучении. Математически исследован раздел оптимизации, который нашёл своё применение как в экономике, так и в стандартных методах машинного обучения. И в последнем пункте был описан алгоритм работы персептрона – простейшей однослойной нейронной сети.


Список литературы

  1. Devriendt F. et al. Learning to rank for uplift modeling //IEEE Transactions on Knowledge and Data Engineering. – 2020.
  2. Diemert E. et al. A large scale benchmark for uplift modeling //KDD. – 2018.
  3. Gutierrez P., Gérardy J. Y. Causal inference and uplift modelling: A review of the literature //International Conference on Predictive Applications and APIs. – PMLR, 2017.
  4. Mathew T. V. Genetic algorithm //Report submitted at IIT Bombay. – 2012.
  5. Mirjalili S. Genetic algorithm //Evolutionary algorithms and neural networks. – Springer, Cham, 2019. – С. 43-55.
  6. Mullainathan S., Spiess J. Machine learning: an applied econometric approach //Journal of Economic Perspectives. – 2017. – Т. 31. – №. 2. – С. 87-106.
  7. Rubin D. B. Estimating causal effects of treatments in randomized and nonrandomized studies //Journal of educational Psychology. – 1974. – Т. 66. – №. 5. – С. 688.
  8. Whitley D. A genetic algorithm tutorial //Statistics and computing. – 1994. – Т. 4. – №. 2. – С. 65-85.
  9. Глушань В. М. Метод имитации отжига //Известия Южного федерального университета. Технические науки. – 2003. – Т. 31. – №. 2.
  10. Горбань А. Н. и др. Система психологического тестирования на основе аппарата искусственных нейронных сетей.
  11. Григоренко О.В., Садовничая И.О., Мыльникова А. Экономика предприятия и управление организацией М.: РУСАЙНС, 2017-235с.
  12. Кохонен Т. Самоорганизующиеся карты. – 2008.
  13. Рахманова И.О. Информационная поддержка бизнес-процессов, 2012. URL: http://elib.spbstu.ru/dl/local/2630.pdf.
  14. Уздемир А. П. Динамические целочисленные задачи оптимизации в экономике //М.: Физматлит. – 1995. – С. 288.

 

Интересная статья? Поделись ей с другими:

Автор: Ледовская Екатерина Валерьевна