В чем разница между генеративным и дискриминационным алгоритмом?

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

  • Большинство БД не оптимизированы для гигантских количеств двоичных данных, а производительность запросов часто резко ухудшается по мере раздувания таблиц, даже с индексами. (SQL Server 2008 с типом столбца FILESTREAM является исключением из правила.)
  • Резервное копирование / репликация БД происходит очень медленно.
  • Гораздо проще обрабатывать поврежденный диск с 2 миллионами изображений - просто замените диск на RAID - чем поврежденная таблица DB.
  • Если вы случайно удалите дюжину изображений в файловой системе, ваши ребята могут легко их заменить резервная копия, и поскольку индекс таблицы крошечный по сравнению, его можно быстро восстановить. Если вы случайно удалите дюжину изображений в таблице гигантских баз данных, у вас есть длинное и болезненное ожидание восстановления базы данных из резервной копии, парализуя всю вашу систему тем временем.

Это всего лишь некоторые из недостатков я могу подняться с головы. Для небольших проектов, возможно, стоит хранить файлы таким образом, но если вы разрабатываете программное обеспечение корпоративного уровня, я бы настоятельно рекомендовал против него.

540
задан AkshayNevrekar 3 November 2018 в 11:08
поделиться

2 ответа

Допустим, у вас есть входные данные x , и вы хотите классифицировать данные по меткам y . Генеративная модель изучает совместное распределение вероятностей p (x, y) , а дискриминативная модель изучает условное распределение вероятностей p (y | x) - который следует читать как «вероятность y с учетом x » .

Вот действительно простой пример. Предположим, у вас есть следующие данные в виде (x, y) :

(1,0), (1,0), (2,0), (2, 1)

p (x, y) is

      y=0   y=1
     -----------
x=1 | 1/2   0
x=2 | 1/4   1/4

p (y | x) is

      y=0   y=1
     -----------
x=1 | 1     0
x=2 | 1/2   1/2

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

Распределение p (y | x) является естественным распределением для классификации данного примера x в класс y , поэтому алгоритмы, моделирующие это напрямую, называются дискриминантными алгоритмами. Модель генеративных алгоритмов p (x, y) , которая может быть преобразована в p (y | x) , применяя правило Байеса, и затем использована для классификации. Однако распределение p (x, y) также можно использовать для других целей. Например, вы можете использовать p (x, y) для сгенерировать вероятных (x, y) пар.

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

801
ответ дан 22 November 2019 в 22:16
поделиться

Генеративный алгоритм моделирует, как данные были сгенерированы для категоризации сигнала. Он задает вопрос: исходя из моих предположений о генерации, какая категория, скорее всего, сгенерирует этот сигнал?

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

287
ответ дан 22 November 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: