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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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