2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Проблема с численной стабильностью
Сообщение27.09.2019, 23:25 


26/10/13
42
Я хочу оценить энтропию взвешенной суммы гауссиан (все матрицы ковариаций диагональны и равны), используя оценку из статьи "Estimating Mixture Entropy with Pairwise Distances" [2017].

$H_{kl} = d/2 - \sum_{i} c_{i} \ln \sum_{j} c_j N_{(\mu_j, \Sigma)}(\mu_i)$.

Проблема в том, что размерность гауссиан ~100, поэтому величина N_{(\mu_j, \Sigma)}(\mu_i)$ настолько мала, что дальнейшие вычисления теряют смысл, т.к. выходят за пределы машинной точности.

Подскажите, пожалуйста, можно ли в моём случае сделать какой-нибудь трюк, чтобы избежать этой проблемы? Не могу придумать, как в данном случае перейти к логарифмам или сделать что-то подобное..

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 11:14 
Заслуженный участник


12/08/10
1677
Это она насколько мала что её логарифм выходит за пределы машинной точности? Чтоб получить логарифм можно использовать $\ln(a+b)=\ln(10^ka+10^kb)-k\ln(10)$, или что-то подобное.

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 16:53 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Одно из слагаемых (для $i=j$) порядка единицы. Если есть меньшие его настолько, что прибавление их ничего не даёт (меньше машинной точности), то их можно отбрасывать.

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 17:24 
Заслуженный участник


09/05/12
25179
Евгений Машеров в сообщении #1417951 писал(а):
Если есть меньшие его настолько, что прибавление их ничего не даёт (меньше машинной точности), то их можно отбрасывать.
Вообще-то не всегда. Возможна ситуация, когда таких малых слагаемых много, и хотя каждое отдельное и можно было бы выбросить, их сумма оказывается уже вполне заметной и влияющей на результат.

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

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 17:58 
Заслуженный участник


27/04/09
28128
Есть и способы, не требующие сортировки:
Kahan summation
Pairwise summation (самый быстрый и недостаточно плох)

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 18:38 
Заслуженный участник


09/05/12
25179
arseniiv в сообщении #1417956 писал(а):
Есть и способы, не требующие сортировки:
Не совсем. Алгоритм Кэхэна плохо справляется с ситуацией, когда слагаемые различаются на много порядков. Каскадное суммирование лучше, но статистически - при неудачном разбиении результат может оказаться достаточно неточным. К тому же сортировка - это проблема в ситуации, когда величины слагаемых меняются случайным образом, а при подсчетах сумм рядов и т.п., как правило, можно без особых проблем понять, как нужно выбрать порядок суммирования.

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 18:51 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Pphantom в сообщении #1417953 писал(а):
Возможна ситуация, когда таких малых слагаемых много, и хотя каждое отдельное и можно было бы выбросить, их сумма оказывается уже вполне заметной и влияющей на результат.


Возможна. Но в данном случае их порядка сотни.

 Профиль  
                  
 
 Re: Проблема с численной стабильностью
Сообщение28.09.2019, 18:59 
Заслуженный участник


09/05/12
25179
Евгений Машеров в сообщении #1417961 писал(а):
Возможна. Но в данном случае их порядка сотни.
Ок, но тогда неясно, в чем ТС видит проблему.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group