Сглаживание в наивной байесовской модели


13

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

P(Y=y|X=x)=αP(Y=y)iP(Xi=xi|Y=y)

где - нормализующий фактор. Это требует оценки параметров P ( X i = x i | Y = y ) по данным. Если мы сделаем это с помощью k -smoothing, то получим оценкуαP(Xязнак равноИкся|Yзнак равноY)К

п^(Иксязнак равноИкся|Yзнак равноY)знак равно#{Иксязнак равноИкся,Yзнак равноY}+К#{Yзнак равноY}+NяК

где есть возможных значений для X i . Я в порядке с этим. Тем не менее, для предварительного мы имеемNяИкся

п^(Yзнак равноY)знак равно#{Yзнак равноY}N

где есть примеров в наборе данных. Почему бы нам не сгладить приор? Или , скорее, у нас гладкие до? Если так, какой параметр сглаживания мы выбираем? Кажется, немного глупо также выбирать k , так как мы делаем другой расчет. Есть ли консенсус? Или это не имеет большого значения?NК

Ответы:


5

Типичная причина сглаживания в первую очередь заключается в обработке случаев, когда . Если бы это не было сделано, мы бы всегда получали P ( Y = y | X = x ) = 0, когда бы это ни было.#{Иксязнак равноИкся|Yзнак равноY}знак равно0п(Yзнак равноY|Иксзнак равноИкс)знак равно0

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

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

Кроме того, я никогда не встречал термин -smoothing. Сглаживание по Лапласу или Аддитиву встречается гораздо чаще.К


1
Причина сглаживания в целом заключается в том, чтобы избежать перегрузки данных. Случай, когда счет какого-то класса равен нулю, является просто частным случаем переобучения (что особенно плохо). Вы все еще можете сгладить вероятности, когда каждый класс наблюдается. Полагаю, меня беспокоит очевидная асимметрия - сглаживание Лапласа соответствует предположению о наличии дополнительных наблюдений в вашем наборе данных. Почему вы игнорируете эти наблюдения при подгонке предыдущего?
Крис Тейлор

P(Y=y)P(Xi=xi|Y=y)

«Такая ситуация не должна возникать. Если бы это произошло, это означало бы, что вы пытаетесь назначить объекты классам, которые даже не отображаются в данных обучения». Э-э-э ... как бы классификатор назначил объект классу, который он никогда раньше не видел (то есть, отсутствует в данных обучения)?
Jemenake

@Jemenake Проблему обычно называют обучением с нулевым броском, например, см. Обучение с
альт

когда мы обучаем модель с использованием набора обучающих данных, мы можем построить словарь, используя слова, встречающиеся в наборе обучающих данных, так почему бы просто не удалить новые слова, не входящие в словарь, когда делаются прогнозы на тестовом наборе?
авокадо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.