Изменения
fix styling
=== Используемые модели ===
Для достижения данной цели обычно используются [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%80%D0%BE%D0%B6%D0%B4%D0%B0%D1%8E%D1%89%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 [Порождающие модели | порождающие модели]]. В таком варианте в качестве задачи ставится восстановление распределения p(x,y), то есть максимизация функции '''правдоподобия''': для набора данных <tex>X = \{x_i\}</tex> максимизировать <tex>\displaystyle \prod_i p_{model}(x_i;\theta)</tex> по параметрам модели <tex>\theta</tex>, т.е. найти <math>\theta^* = \underset{\theta}{\operatorname{argmax}} \displaystyle \prod_i p_{model}(x_i;\theta)</math>. Эта задача относится к классу задач обучения без учителя или с частичным привлечением учителя. При её решении либо работают с явными распределениями, сводя распределение <tex>p(x;y)</tex> к произведению распределений определённой структуры, либо используют неявные модели, которые не восстанавливают всю функцию плотности, а только моделируют ту часть этой функцию, которая нужна непосредственно.Стоит отметить, что простые порождающие модели, такие как наивный байесовский классификатор, не показывают достаточное качество результата, чтобы на их основе можно было сгенерировать полноценные мультимедиа объекты. Из класса порождающих моделей при генерации именно изображений особенно хорошо показали себя модели [http://neerc.ifmo.ru/wiki/index.php?title=Generative_Adversarial_Nets_[Generative Adversarial Nets (GAN) | состязательных сетей]], [http://neerc.ifmo.ru/wiki/index.php?title=PixelRNN_%D0%B8_PixelCNN [PixelRNN и PixelCNN | PixelRNN и PixelCNN]], а также DRAW (рисуют изображение с помощью сочетания [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8 [Рекуррентные нейронные сети | реккурентных НС]] и [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC_%D0%B2%D0%BD%D0%B8%D0%BC%D0%B0%D0%BD%D0%B8%D1%8F [Механизм внимания механизма внимания]]). Также стоит отметить модель [https://en.wikipedia.org/wiki/WaveNet WaveNet], используемую для создания звуковых записей. Эта модель создана в 2016 году, а к 2018 году, после нескольких оптимизаций вычислительной сложности, она нашла применение в Google при создании образцов речи на различных языках.
== Оверсэмплинг ==
SMOTE (''Synthetic Minority Oversampling Technique'') – генерация искусственных примеров, не совпадающих с имеющимися в выборке. Этот алгоритм во многом основан на [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B8%D1%85_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B5%D0%B9 [Метрический классификатор и метод ближайших соседей | методе ближайшего соседа]]. Для создания новой записи находят разность <tex>d=Xb–Xa</tex>, где <tex>Xa,Xb</tex> – векторы признаков «соседних» примеров a и b из миноритарного класса (их находят так же, как в методе ''kNN''). В данном случае необходимо и достаточно для примера b получить набор из k соседей, из которого в дальнейшем будет выбрана запись b. Далее из d путем умножения каждого его элемента на случайное число в интервале <tex>(0, 1)</tex> получают <tex>d</tex>. Вектор признаков нового примера вычисляется путем сложения <tex>Xa</tex> и <tex>d</tex>. Алгоритм SMOTE позволяет задавать количество записей, которое необходимо искусственно сгенерировать. Степень сходства примеров a и b можно регулировать путем изменения значения ''k'' (числа ближайших соседей). <br />
[[File:SMOTE_GEN.gif|frameless|SMOTE]]