Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)/2011/Задание 3
Материал из MachineLearning.
(+ оценка нормировочной константы в первый вариант) |
(релиз) |
||
(8 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | |||
- | |||
__TOC__ | __TOC__ | ||
Строка 11: | Строка 9: | ||
[[Изображение:BayesML2010_task2_rectGrid.PNG|200px|thumb|Прямоугольная система соседства]] | [[Изображение:BayesML2010_task2_rectGrid.PNG|200px|thumb|Прямоугольная система соседства]] | ||
[[Изображение:BayesML2010_task2_triGrid.PNG|200px|thumb|Треугольная система соседства]] | [[Изображение:BayesML2010_task2_triGrid.PNG|200px|thumb|Треугольная система соседства]] | ||
- | '''Модель Изинга''' — математическая модель статистической физики, предназначенная для описания | + | '''Модель Изинга''' — математическая модель статистической физики, предназначенная для описания магнитных свойств вещества. Каждой вершине кристаллической решётки (рассматривается двухмерный случай) сопоставляется число, называемое спином и равное +1 или −1 («поле вверх»/«поле вниз»). Каждому из <tex>2^N</tex> возможных вариантов расположения спинов (где <tex>N</tex> — число атомов решётки) приписывается энергия, состоящая из взаимодействия спинов соседних атомов J и действия внешнего магнитного поля H:<br> |
- | Каждой вершине кристаллической решётки (рассматривается | + | |
<tex> | <tex> | ||
E(X) = -\left( \frac{J}{2} \sum_{(i,j) \in\mathcal{E}} x_i x_j + \sum_{i=1}^N H_i x_i \right), | E(X) = -\left( \frac{J}{2} \sum_{(i,j) \in\mathcal{E}} x_i x_j + \sum_{i=1}^N H_i x_i \right), | ||
</tex><br> | </tex><br> | ||
- | где <tex>x_i</tex> — переменные, соответствующие спинам, <tex>\mathcal{E{</tex> — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная). Вероятность нахождения в каждом конкретном состоянии задается распределением Гиббса:<br> | + | где <tex>x_i</tex> — переменные, соответствующие спинам, <tex>\mathcal{E{</tex> — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная). Пара <tex>(i,j)\in\mathcal{E}</tex> не является упорядоченной. Вероятность нахождения в каждом конкретном состоянии задается распределением Гиббса:<br> |
<tex> | <tex> | ||
P(X) = \frac{1}{Z} \exp{\left( -\beta E(X) \right)}, \qquad \beta = \frac{1}{kT}, | P(X) = \frac{1}{Z} \exp{\left( -\beta E(X) \right)}, \qquad \beta = \frac{1}{kT}, | ||
Строка 24: | Строка 21: | ||
Если <tex>J = 1 </tex>, то вещество называется ферромагнетиком. Если <tex>J = -1</tex>, то вещество называется антиферромагнетиком. | Если <tex>J = 1 </tex>, то вещество называется ферромагнетиком. Если <tex>J = -1</tex>, то вещество называется антиферромагнетиком. | ||
- | Задание состоит из двух вариантов. Распределение по вариантам см. на [[Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)|основной странице спецкурса]]. | + | Задание состоит из двух вариантов. Распределение по вариантам см. на [[Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)#Оценка за курс|основной странице спецкурса]]. |
== Вариант 1 == | == Вариант 1 == | ||
Строка 30: | Строка 27: | ||
=== Описание задания === | === Описание задания === | ||
- | Провести исследование модели Изинга методом Монте-Карло по схеме Гиббса. | + | Провести исследование модели Изинга методом Монте-Карло по схеме Гиббса. В этой схеме генерация значения очередного элемента решетки <tex>x_i</tex> производится по следующим формулам: |
<br><tex> | <br><tex> | ||
- | p(x_i = 1 | X_{/\{i\}}) = \frac{1}{1 + \exp(-2\beta b_i)}, \qquad b_i = \sum_{j: (i, j) \in E} | + | p(x_i = 1 | X_{/\{i\}}) = \frac{1}{1 + \exp(-2\beta b_i)}, \qquad b_i = J\sum_{j: (i, j) \in\mathcal{E}} x_j + H_i, |
</tex><br> | </tex><br> | ||
<tex> | <tex> | ||
Строка 41: | Строка 38: | ||
[[Изображение:BayesML2010_task2_example.PNG|200px|thumb|Пример иллюстрации состояния модели Изинга размера 20 на 20.]] | [[Изображение:BayesML2010_task2_example.PNG|200px|thumb|Пример иллюстрации состояния модели Изинга размера 20 на 20.]] | ||
# Вывести формулы генерации выборки по схеме Гиббса из модели Изинга (вывод вставить в отчет). | # Вывести формулы генерации выборки по схеме Гиббса из модели Изинга (вывод вставить в отчет). | ||
- | # Вывести формулу для <tex>w_m</tex> в | + | # Вывести формулу для <tex>w_m</tex> в методе оценки нормировочной константы по схеме Гиббса для модели Изинга через рассмотрение промежуточных распределений, начиная с равномерного (вывод вставить в отчет). |
- | # Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> методом Гиббса (с заданным числом итераций) для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: 1000 итераций метода Гиббса для решетки | + | # Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> методом Гиббса (с заданным числом итераций) для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: 1000 итераций метода Гиббса для решетки размера 20 на 20 и ста значений параметра <tex>\beta</tex> должны выполняться не более 20 секунд. В отчете привести соответствующие замеры времени работы кода.) |
# Реализовать процедуру оценки логарифма нормировочной константы распределения <tex>\log(Z)</tex> для модели Изинга с помощью схемы Гиббса и набора промежуточных распределений, начиная с равномерного. | # Реализовать процедуру оценки логарифма нормировочной константы распределения <tex>\log(Z)</tex> для модели Изинга с помощью схемы Гиббса и набора промежуточных распределений, начиная с равномерного. | ||
# Построить графики зависимости <tex>\frac{1}{N}\mathbb{E}E, \frac{1}{N}\sqrt{\mathbb{D}E}, \sqrt{\mathbb{E}(\mu^2)}, \log(Z)</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: | # Построить графики зависимости <tex>\frac{1}{N}\mathbb{E}E, \frac{1}{N}\sqrt{\mathbb{D}E}, \sqrt{\mathbb{E}(\mu^2)}, \log(Z)</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: | ||
#*размер решетки 20 на 20 (N = 400); | #*размер решетки 20 на 20 (N = 400); | ||
#*<tex>k = 1</tex>; | #*<tex>k = 1</tex>; | ||
- | #*10000 итераций метода Гиббса для оценки статистик, | + | #*10000 итераций метода Гиббса для оценки статистик, 50 итераций для оценки нормировочных констант; |
#*1000 промежуточных распределений для оценки нормировочных констант. | #*1000 промежуточных распределений для оценки нормировочных констант. | ||
#*для ферромагнетика <tex>J = 1</tex>, для антиферромагнетика <tex>J = -1</tex>; | #*для ферромагнетика <tex>J = 1</tex>, для антиферромагнетика <tex>J = -1</tex>; | ||
Строка 55: | Строка 52: | ||
#Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 5. | #Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 5. | ||
#Выполнить пункт 6 в присутствии внешнего магнитного поля со следующей структурой: на половине решетки H = 1, на другой половине H = -1. | #Выполнить пункт 6 в присутствии внешнего магнитного поля со следующей структурой: на половине решетки H = 1, на другой половине H = -1. | ||
- | #Сравнить результаты метода Монте-Карло с результатами вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию вариационного подхода взять у товарища, выполняющего вариант 2. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. Убедиться, что оценка нормировочной константы по схеме Гиббса является верхней оценкой для <tex>\mathcal{L}(q)</tex> в вариационном подходе. | + | #Сравнить результаты метода Монте-Карло с результатами вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию вариационного подхода взять у товарища, выполняющего вариант 2. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. Убедиться, что оценка логарифма нормировочной константы по схеме Гиббса является верхней оценкой для <tex>\mathcal{L}(q)</tex> в вариационном подходе. |
=== Оформление задания === | === Оформление задания === | ||
Строка 73: | Строка 70: | ||
!''Метод Гиббса для оценки статистик распределений'' | !''Метод Гиббса для оценки статистик распределений'' | ||
|- | |- | ||
- | |[E, | + | |[E, D, M, S] = gibbsIsing4(H, J, betaAll, num_iter) — прямоугольная система соседства |
|- | |- | ||
- | |[E, | + | |[E, D, M, S] = gibbsIsing6(H, J, betaAll, num_iter) — треугольная система соседства |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 86: | Строка 83: | ||
|J — параметр модели J; | |J — параметр модели J; | ||
|- | |- | ||
- | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица типа double размера 1 x <tex>\beta_0</tex>) | + | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица типа double размера 1 x <tex>\beta_0</tex>); |
|- | |- | ||
|num_iter — количество итераций схемы Гиббса; | |num_iter — количество итераций схемы Гиббса; | ||
Строка 96: | Строка 93: | ||
| | | | ||
{| | {| | ||
- | |E — значения | + | |E — значения мат.ожиданий энергии на один спин <tex>\frac{1}{N}\mathbb{E}E</tex> для каждой температуры, массив размера 1 x <tex>\beta_0</tex>; |
|- | |- | ||
- | | | + | |D — значения стандартных отклонений энергии на один спин <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex> для каждой температуры, массив размера 1 x <tex>\beta_0</tex>; |
|- | |- | ||
- | | | + | |M — значения средней магнетизации на один спин <tex>\mathbb{E}\mu^2</tex> для каждой температуры, массив размера 1 x <tex>\beta_0</tex>; |
+ | |- | ||
+ | |S — примеры конфигураций <tex>X</tex> для всех температур, массив размера vS x hS x <tex>\beta_0</tex>. | ||
|- | |- | ||
|} | |} | ||
Строка 110: | Строка 109: | ||
!''Метод Гиббса для оценки нормировочных констант распределений'' | !''Метод Гиббса для оценки нормировочных констант распределений'' | ||
|- | |- | ||
- | | | + | |logZ = ZgibbsIsing4(H, J, betaAll, num_pdfs, num_iter) — прямоугольная система соседства |
|- | |- | ||
- | | | + | |logZ = ZgibbsIsing6(H, J, betaAll, num_pdfs, num_iter) — треугольная система соседства |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 123: | Строка 122: | ||
|J — параметр модели J; | |J — параметр модели J; | ||
|- | |- | ||
- | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица типа double размера 1 x <tex>\beta_0</tex>) | + | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица типа double размера 1 x <tex>\beta_0</tex>); |
|- | |- | ||
- | |num_pdfs — количество промежуточных распределений | + | |num_pdfs — количество промежуточных распределений; |
+ | |- | ||
+ | |num_iter — общее число итераций; | ||
|- | |- | ||
|} | |} | ||
Строка 133: | Строка 134: | ||
| | | | ||
{| | {| | ||
- | | | + | |logZ — значения логарифма нормировочных констант для каждой температуры, массив размера 1 x <tex>\beta_0</tex>. |
|} | |} | ||
|} | |} | ||
===Рекомендации=== | ===Рекомендации=== | ||
- | *Рекомендуется реализовывать метод Гиббса с векторными операциями по параметру <tex>\beta</tex>, т.е. проводить вычисления для всех температур сразу | + | *Рекомендуется реализовывать метод Гиббса с векторными операциями по параметру <tex>\beta</tex>, т.е. проводить вычисления для всех температур сразу. |
- | *Для оценки статистик распределения следует отбрасывать значения, полученные на первой трети итераций метода Гиббса | + | *Для оценки статистик распределения следует отбрасывать значения, полученные на первой трети итераций метода Гиббса. |
- | *В качестве примеров конфигураций <tex>X</tex> лучше брать ситуации | + | *В качестве примеров конфигураций <tex>X</tex> лучше брать ситуации с последних итераций схемы Гиббса. |
+ | *На этапе тестирования функций рекомендуется проводить эксперименты со случайным внешним магнитным полем <tex>H</tex>. | ||
+ | *Одной из возможных проверок на корректность оценки статистик по сгенерированному набору конфигураций <tex>X</tex> является следующая: сделать большое число итераций по схеме Гиббса, рассмотреть несколько различных подмножеств сгенерированных конфигураций, по каждому из подмножеств оценить статистики. При правильной реализации статистики, оцененные по разным подмножествам конфигураций, должны быть близки между собой. | ||
== Вариант 2 == | == Вариант 2 == | ||
Строка 153: | Строка 156: | ||
Необходимые формулы пересчета для вариационного подхода:<br> | Необходимые формулы пересчета для вариационного подхода:<br> | ||
<tex> | <tex> | ||
- | b_i = H_i + J\sum_{j:(i,j) \in E}\mathbb{E}x_j, | + | b_i = H_i + J\sum_{j:(i,j) \in\mathcal{E}}\mathbb{E}x_j, |
</tex><br> | </tex><br> | ||
<tex> | <tex> | ||
Строка 162: | Строка 165: | ||
</tex> | </tex> | ||
- | При этом нижняя граница на значение | + | При этом нижняя граница на значение логарифма нормировочной константы <tex>\log Z</tex> равна<br> |
<tex> | <tex> | ||
- | \mathcal{L}(q) = \beta\left(\sum_{i=1}^NH_i\mathbb{E}x_i + \frac{J}{2}\sum_{(i,j)\in E}\mathbb{E}x_i\mathbb{E}x_j\right) - \sum_{i=1}^N | + | \mathcal{L}(q) = \beta\left(\sum_{i=1}^NH_i\mathbb{E}x_i + \frac{J}{2}\sum_{(i,j)\in\mathcal{E}}\mathbb{E}x_i\mathbb{E}x_j\right) - \sum_{i=1}^N\left[q_i(x_i=1)\log(q_i(x_i=1)) + (1-q_i(x_i=1))\log(1-q_i(x_i=1))\right]. |
</tex> | </tex> | ||
Необходимые статистики для приближенного распределения <tex>q(X)</tex> вычисляются следующим образом:<br> | Необходимые статистики для приближенного распределения <tex>q(X)</tex> вычисляются следующим образом:<br> | ||
<tex> | <tex> | ||
- | \frac{1}{N}\mathbb{E}E = -\frac{1}{N}\left(\sum_{i=1}^NH_i\mathbb{E}x_i + \frac{J}{2}\sum_{(i,j)\in E}\mathbb{E}x_i\mathbb{E}x_j\right), | + | \frac{1}{N}\mathbb{E}E = -\frac{1}{N}\left(\sum_{i=1}^NH_i\mathbb{E}x_i + \frac{J}{2}\sum_{(i,j)\in \mathcal{E}}\mathbb{E}x_i\mathbb{E}x_j\right), |
</tex> | </tex> | ||
<br><tex> | <br><tex> | ||
- | \mathbb{E}E^2 = \sum_{i,j=1}^NH_iH_j\mathbb{E}(x_ix_j) + J\sum_{n,(i,j)\in E}H_n\mathbb{E}(x_nx_ix_j) + \frac{J^2}{4}\sum_{(i,j)\in E, (n,m)\in E}\mathbb{E}(x_ix_jx_nx_m), | + | \mathbb{E}E^2 = \sum_{i,j=1}^NH_iH_j\mathbb{E}(x_ix_j) + J\sum_{n,(i,j)\in \mathcal{E}}H_n\mathbb{E}(x_nx_ix_j) + \frac{J^2}{4}\sum_{(i,j)\in\mathcal{E}, (n,m)\in\mathcal{E}}\mathbb{E}(x_ix_jx_nx_m), |
</tex> | </tex> | ||
<br><tex> | <br><tex> | ||
Строка 186: | Строка 189: | ||
=== Задание === | === Задание === | ||
# Вывести все необходимые формулы для вариационного подхода (вывод вставить в отчет). | # Вывести все необходимые формулы для вариационного подхода (вывод вставить в отчет). | ||
- | # Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> с помощью вариационного подхода для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: для решетки | + | # Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> с помощью вариационного подхода для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: для решетки размера 20 x 20 сто итераций поиска вариационного приближения для ста значений параметра <tex>\beta</tex> должны выполнятся не более одной секунды, включая этап оценки всех статистик. В отчете привести соответствующие замеры времени работы кода.) |
- | # Построить графики зависимости <tex>\frac{1}{N}\mathbb{E}E, \frac{1}{N}\sqrt{\mathbb{D}E}, \sqrt{\mathbb{E}(\mu^2)}</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: | + | # Построить графики зависимости <tex>\frac{1}{N}\mathbb{E}E, \frac{1}{N}\sqrt{\mathbb{D}E}, \sqrt{\mathbb{E}(\mu^2)}, \mathcal{L}(q)</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: |
#*размер решетки 20 на 20 (N = 400); | #*размер решетки 20 на 20 (N = 400); | ||
#*<tex>k = 1</tex>; | #*<tex>k = 1</tex>; | ||
Строка 196: | Строка 199: | ||
#*точность по значению нижней границы <tex>\mathcal{L}(q)</tex> = <tex>10^{-4}</tex> (останавливаем итерационный процесс, если значение <tex>\mathcal{L}(q)</tex> на текущей итерации изменилось меньше, чем на <tex>10^{-4}</tex>). | #*точность по значению нижней границы <tex>\mathcal{L}(q)</tex> = <tex>10^{-4}</tex> (останавливаем итерационный процесс, если значение <tex>\mathcal{L}(q)</tex> на текущей итерации изменилось меньше, чем на <tex>10^{-4}</tex>). | ||
#Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 3. | #Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 3. | ||
- | #Сравнить результаты применения вариационного подхода с аналогичными для схемы Гиббса. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию схемы Гиббса взять у товарища, выполняющего вариант 1. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. | + | #Сравнить результаты применения вариационного подхода с аналогичными для схемы Гиббса. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию схемы Гиббса взять у товарища, выполняющего вариант 1. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. Убедиться в том, что <tex>\mathcal{L}</tex> является нижней границей для логарифма нормировочной константы, полученного с помощью схемы Гиббса. |
=== Оформление задания === | === Оформление задания === | ||
- | Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «Задание 3 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. | + | Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «Задание 3 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также большая просьба строго следовать указанным ниже прототипам реализуемых функций. |
- | + | Программная среда для выполнения задания — MATLAB. | |
Присланный вариант задания должен содержать в себе: | Присланный вариант задания должен содержать в себе: | ||
Строка 214: | Строка 217: | ||
!''Вариационный подход'' | !''Вариационный подход'' | ||
|- | |- | ||
- | |[E, D, | + | |[E, D, M, L] = varIsing4(H, J, betaAll, opt_params) — прямоугольная система соседства |
|- | |- | ||
- | |[E, D, | + | |[E, D, M, L] = varIsing6(H, J, betaAll, opt_params) — треугольная система соседства |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 227: | Строка 230: | ||
|J — параметр модели J; | |J — параметр модели J; | ||
|- | |- | ||
- | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица размера 1 x <tex>\beta_0</tex>) | + | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица размера 1 x <tex>\beta_0</tex>); |
|- | |- | ||
|opt_params — (необязательный параметр) параметры оптимизационного процесса, структура со следующими полями: | |opt_params — (необязательный параметр) параметры оптимизационного процесса, структура со следующими полями: | ||
Строка 234: | Строка 237: | ||
|- | |- | ||
|'tol_crit' — необходимая точность по значению нижней границы, по умолчанию = <tex>10^{-4}</tex>; | |'tol_crit' — необходимая точность по значению нижней границы, по умолчанию = <tex>10^{-4}</tex>; | ||
+ | |- | ||
+ | |'num_start' — количество различных начальных приближений, по умолчанию = 1; | ||
|} | |} | ||
|} | |} | ||
Строка 241: | Строка 246: | ||
| | | | ||
{| | {| | ||
- | |E — мат.ожидание энергии на один спин <tex> | + | |E — мат.ожидание энергии на один спин <tex>\frac{1}{N}\mathbb{E}E</tex> для каждой температуры, массив размера 1 x <tex>\beta_0</tex>; |
|- | |- | ||
- | |D — | + | |D — стандартное отклонение энергии на один спин <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex> для каждой температуры, массив размера 1 x <tex>\beta_0</tex>; |
|- | |- | ||
- | | | + | |M — средняя магнетизация <tex>\sqrt{\mathbb{E}\mu^2}</tex> для каждой температуры, массив размера 1 x <tex>\beta_0</tex>; |
|- | |- | ||
- | | | + | |L — нижние границы для логарифмов нормировочных констант для каждой температуры, массив размера 1 x <tex>\beta_0</tex>. |
|- | |- | ||
|} | |} | ||
Строка 253: | Строка 258: | ||
=== Рекомендации === | === Рекомендации === | ||
- | * | + | *Рекомендуется реализовывать метод с векторными операциями по параметру <tex>\beta</tex>, т.е. проводить вычисления для всех температур сразу. |
- | * | + | *Рекомендуется запускать вариационную оптимизацию из нескольких начальных приближений для <tex>q</tex>: случайные, все вероятности одинаковые и близки к единице, шахматная доска и т.д. При этом для текущей температуры наилучшим вариационным приближением признается такое, при котором значение нижней границы <tex>\mathcal{L}(q)</tex> является максимальным. |
*Одной из проверок на корректность оптимизации в рамках вариационного подхода является монотонное возрастание значения нижней границы <tex>\mathcal{L}(q)</tex>. | *Одной из проверок на корректность оптимизации в рамках вариационного подхода является монотонное возрастание значения нижней границы <tex>\mathcal{L}(q)</tex>. | ||
+ | *На этапе тестирования функций рекомендуется проводить эксперименты со случайным внешним магнитным полем <tex>H</tex>. | ||
+ | *Одной из возможных проверок на корректность вычисления различных статистик по приближению <tex>q</tex> является использование метода Монте Карло, при котором генерируется набор конфигураций <tex>X^j</tex> (каждая конфигурация состоит из независимых спинов <tex>x_i^j</tex>), по которым затем оцениваются необходимые статистики. |
Текущая версия
Содержание |
Начало выполнения задания: 16 ноября 2011 г.
Срок сдачи: 30 ноября 2011 г. (среда), 23:59.
Модель Изинга
Модель Изинга — математическая модель статистической физики, предназначенная для описания магнитных свойств вещества. Каждой вершине кристаллической решётки (рассматривается двухмерный случай) сопоставляется число, называемое спином и равное +1 или −1 («поле вверх»/«поле вниз»). Каждому из возможных вариантов расположения спинов (где
— число атомов решётки) приписывается энергия, состоящая из взаимодействия спинов соседних атомов J и действия внешнего магнитного поля H:
где — переменные, соответствующие спинам,
— система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная). Пара
не является упорядоченной. Вероятность нахождения в каждом конкретном состоянии задается распределением Гиббса:
где Z — нормировочная константа, T — температура, k — параметр.
Если , то вещество называется ферромагнетиком. Если
, то вещество называется антиферромагнетиком.
Задание состоит из двух вариантов. Распределение по вариантам см. на основной странице спецкурса.
Вариант 1
Описание задания
Провести исследование модели Изинга методом Монте-Карло по схеме Гиббса. В этой схеме генерация значения очередного элемента решетки производится по следующим формулам:
Задание
- Вывести формулы генерации выборки по схеме Гиббса из модели Изинга (вывод вставить в отчет).
- Вывести формулу для
в методе оценки нормировочной константы по схеме Гиббса для модели Изинга через рассмотрение промежуточных распределений, начиная с равномерного (вывод вставить в отчет).
- Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели
методом Гиббса (с заданным числом итераций) для заданных параметров
и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: 1000 итераций метода Гиббса для решетки размера 20 на 20 и ста значений параметра
должны выполняться не более 20 секунд. В отчете привести соответствующие замеры времени работы кода.)
- Реализовать процедуру оценки логарифма нормировочной константы распределения
для модели Изинга с помощью схемы Гиббса и набора промежуточных распределений, начиная с равномерного.
- Построить графики зависимости
от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров:
- размер решетки 20 на 20 (N = 400);
;
- 10000 итераций метода Гиббса для оценки статистик, 50 итераций для оценки нормировочных констант;
- 1000 промежуточных распределений для оценки нормировочных констант.
- для ферромагнетика
, для антиферромагнетика
;
- внешнее магнитное поле
;
- температуры T = 0.5 : 0.1 : 10.
- Для ферромагнетика с четырехугольной системой связности отобразить характерные отдельные конфигурации
(см. рис.) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты. Рассмотреть как минимум по одному примеру для не менее, чем пяти разных значений температур. Параметры генерации те же, что и в пункте 5.
- Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 5.
- Выполнить пункт 6 в присутствии внешнего магнитного поля со следующей структурой: на половине решетки H = 1, на другой половине H = -1.
- Сравнить результаты метода Монте-Карло с результатами вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию вариационного подхода взять у товарища, выполняющего вариант 2. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. Убедиться, что оценка логарифма нормировочной константы по схеме Гиббса является верхней оценкой для
в вариационном подходе.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «Задание 3 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также большая просьба строго следовать указанным ниже прототипам реализуемых функций.
Программная среда для выполнения задания — MATLAB.
Присланный вариант задания должен содержать в себе:
- ФИО исполнителя, номер группы и номер варианта задания.
- Текстовый файл в формате PDF, содержащий описание проведенных исследований.
- Все исходные коды с необходимыми комментариями.
- Дополнительные комментарии или материалы, если необходимо.
Исходные коды должны включать в себя реализацию метода Гиббса для прямоугольной и треугольной систем соседств в виде отдельных функций (отдельных m-файлов). Прототипы функций имеют следующий вид:
Метод Гиббса для оценки статистик распределений | ||||
---|---|---|---|---|
[E, D, M, S] = gibbsIsing4(H, J, betaAll, num_iter) — прямоугольная система соседства | ||||
[E, D, M, S] = gibbsIsing6(H, J, betaAll, num_iter) — треугольная система соседства | ||||
ВХОД | ||||
| ||||
ВЫХОД | ||||
|
Метод Гиббса для оценки нормировочных констант распределений | |||||
---|---|---|---|---|---|
logZ = ZgibbsIsing4(H, J, betaAll, num_pdfs, num_iter) — прямоугольная система соседства | |||||
logZ = ZgibbsIsing6(H, J, betaAll, num_pdfs, num_iter) — треугольная система соседства | |||||
ВХОД | |||||
| |||||
ВЫХОД | |||||
|
Рекомендации
- Рекомендуется реализовывать метод Гиббса с векторными операциями по параметру
, т.е. проводить вычисления для всех температур сразу.
- Для оценки статистик распределения следует отбрасывать значения, полученные на первой трети итераций метода Гиббса.
- В качестве примеров конфигураций
лучше брать ситуации с последних итераций схемы Гиббса.
- На этапе тестирования функций рекомендуется проводить эксперименты со случайным внешним магнитным полем
.
- Одной из возможных проверок на корректность оценки статистик по сгенерированному набору конфигураций
является следующая: сделать большое число итераций по схеме Гиббса, рассмотреть несколько различных подмножеств сгенерированных конфигураций, по каждому из подмножеств оценить статистики. При правильной реализации статистики, оцененные по разным подмножествам конфигураций, должны быть близки между собой.
Вариант 2
Описание задания
Провести исследование модели Изинга с помощью вариационного подхода, где в качестве факторизованного семейства для выступает независимое распределение по всем компонентам
:
Необходимые формулы пересчета для вариационного подхода:
При этом нижняя граница на значение логарифма нормировочной константы равна
Необходимые статистики для приближенного распределения вычисляются следующим образом:
Задание
- Вывести все необходимые формулы для вариационного подхода (вывод вставить в отчет).
- Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели
с помощью вариационного подхода для заданных параметров
и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: для решетки размера 20 x 20 сто итераций поиска вариационного приближения для ста значений параметра
должны выполнятся не более одной секунды, включая этап оценки всех статистик. В отчете привести соответствующие замеры времени работы кода.)
- Построить графики зависимости
от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров:
- размер решетки 20 на 20 (N = 400);
;
- для ферромагнетика
, для антиферромагнетика
;
- внешнее магнитное поле
;
- температуры T = 0.5 : 0.1 : 10;
- количество итераций = 300;
- точность по значению нижней границы
=
(останавливаем итерационный процесс, если значение
на текущей итерации изменилось меньше, чем на
).
- Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 3.
- Сравнить результаты применения вариационного подхода с аналогичными для схемы Гиббса. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию схемы Гиббса взять у товарища, выполняющего вариант 1. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. Убедиться в том, что
является нижней границей для логарифма нормировочной константы, полученного с помощью схемы Гиббса.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «Задание 3 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также большая просьба строго следовать указанным ниже прототипам реализуемых функций.
Программная среда для выполнения задания — MATLAB.
Присланный вариант задания должен содержать в себе:
- ФИО исполнителя, номер группы и номер варианта задания.
- Текстовый файл в формате PDF, содержащий описание проведенных исследований.
- Все исходные коды с необходимыми комментариями.
- Дополнительные комментарии или материалы, если необходимо.
Исходные коды должны включать в себя реализацию вариационного подхода для прямоугольной и треугольной систем соседств в виде отдельных функций (отдельных m-файлов). Прототипы функций имеют следующий вид:
Вариационный подход | |||||||
---|---|---|---|---|---|---|---|
[E, D, M, L] = varIsing4(H, J, betaAll, opt_params) — прямоугольная система соседства | |||||||
[E, D, M, L] = varIsing6(H, J, betaAll, opt_params) — треугольная система соседства | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|
Рекомендации
- Рекомендуется реализовывать метод с векторными операциями по параметру
, т.е. проводить вычисления для всех температур сразу.
- Рекомендуется запускать вариационную оптимизацию из нескольких начальных приближений для
: случайные, все вероятности одинаковые и близки к единице, шахматная доска и т.д. При этом для текущей температуры наилучшим вариационным приближением признается такое, при котором значение нижней границы
является максимальным.
- Одной из проверок на корректность оптимизации в рамках вариационного подхода является монотонное возрастание значения нижней границы
.
- На этапе тестирования функций рекомендуется проводить эксперименты со случайным внешним магнитным полем
.
- Одной из возможных проверок на корректность вычисления различных статистик по приближению
является использование метода Монте Карло, при котором генерируется набор конфигураций
(каждая конфигурация состоит из независимых спинов
), по которым затем оцениваются необходимые статистики.