Графические модели (курс лекций)/2013/Задание 6
Материал из MachineLearning.
(→Рекомендации по выполнению задания) |
(→Модель Изинга) |
||
(4 промежуточные версии не показаны) | |||
Строка 1: | Строка 1: | ||
__NOTOC__ | __NOTOC__ | ||
- | |||
- | |||
{{Main|Графические модели (курс лекций)}} | {{Main|Графические модели (курс лекций)}} | ||
Строка 20: | Строка 18: | ||
:<tex>E(X) = -\left( J \sum_{(i,j) \in\mathcal{E}} x_i x_j + \sum_{i=1}^N H_i x_i \right),</tex> | :<tex>E(X) = -\left( J \sum_{(i,j) \in\mathcal{E}} x_i x_j + \sum_{i=1}^N H_i x_i \right),</tex> | ||
- | где <tex>x_i</tex> — переменные, соответствующие спинам, <tex>\mathcal{E}</tex> — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная) | + | где <tex>x_i</tex> — переменные, соответствующие спинам, <tex>\mathcal{E}</tex> — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная), каждое ребро в <tex>\mathcal{E}</tex> считается один раз. Вероятность нахождения в каждом конкретном состоянии <tex>X</tex> задается распределением Гиббса:<br> |
:<tex>P(X) = \frac{1}{Z} \exp{\left( -\beta E(X) \right)}, \qquad \beta = \frac{1}{kT},</tex> | :<tex>P(X) = \frac{1}{Z} \exp{\left( -\beta E(X) \right)}, \qquad \beta = \frac{1}{kT},</tex> | ||
Строка 31: | Строка 29: | ||
[[Изображение:BayesML2010_task2_example.PNG|200px|thumb|Пример иллюстрации состояния модели Изинга размера 20 на 20.]] | [[Изображение:BayesML2010_task2_example.PNG|200px|thumb|Пример иллюстрации состояния модели Изинга размера 20 на 20.]] | ||
- | # Провести исследование модели Изинга | + | # Провести исследование модели Изинга с помощью схемы Гиббса: |
- | #* Вывести формулы для одномерных условных распределений вида <tex>p(x_i | X_{ | + | #* Вывести формулы для одномерных условных распределений вида <tex>p(x_i | X_{\backslash{i}})</tex>; |
- | #* Реализовать процедуру | + | #* Реализовать с помощью схемы Гиббса процедуру оценки математического ожидания энергии <tex>\frac{1}{N}\mathbb{E}E</tex>, стандартного отклонения энергии <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex>, математического ожидания квадрата общей намагниченности модели <tex>\sqrt{\mathbb{E}(\mu^2)}</tex>, где <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. Требования по эффективности реализации: 1000 итераций метода Гиббса для прямоугольной решетки размера 20 на 20 и ста значений параметра <tex>\beta</tex> должны выполняться не более 20 секунд. В отчете привести соответствующие замеры времени работы кода; |
#* Построить графики зависимости <tex>\frac{1}{N}\mathbb{E}E,\ \frac{1}{N}\sqrt{\mathbb{D}E},\ \sqrt{\mathbb{E}(\mu^2)}</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: размер решетки 20 на 20 (N = 400), <tex>k = 1</tex>, 10000 итераций метода Гиббса для оценки статистик, внешнее магнитное поле <tex>H_i = 0</tex>, температуры <tex>T</tex> = 0.5 : 0.1 : 10; | #* Построить графики зависимости <tex>\frac{1}{N}\mathbb{E}E,\ \frac{1}{N}\sqrt{\mathbb{D}E},\ \sqrt{\mathbb{E}(\mu^2)}</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: размер решетки 20 на 20 (N = 400), <tex>k = 1</tex>, 10000 итераций метода Гиббса для оценки статистик, внешнее магнитное поле <tex>H_i = 0</tex>, температуры <tex>T</tex> = 0.5 : 0.1 : 10; | ||
#* Для ферромагнетика с четырехугольной системой соседства отобразить характерные отдельные конфигурации <tex>X</tex> (см. рис.) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты; | #* Для ферромагнетика с четырехугольной системой соседства отобразить характерные отдельные конфигурации <tex>X</tex> (см. рис.) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты; | ||
#* Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Рассмотреть также внешнее магнитное поле со следующей структурой: на половине решетки H = 1, на другой половине H = -1; | #* Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Рассмотреть также внешнее магнитное поле со следующей структурой: на половине решетки H = 1, на другой половине H = -1; | ||
# Провести исследование модели Изинга с помощью вариационного подхода, где в качестве факторизованного семейства для <tex>q(X)</tex> выступает независимое распределение по всем компонентам <tex>q(X)=\prod_{i=1}^Nq_i(x_i)</tex>: | # Провести исследование модели Изинга с помощью вариационного подхода, где в качестве факторизованного семейства для <tex>q(X)</tex> выступает независимое распределение по всем компонентам <tex>q(X)=\prod_{i=1}^Nq_i(x_i)</tex>: | ||
- | #* Вывести | + | #* Вывести формулу для пересчета отдельного фактора <tex>q_i(x_i)</tex>, формулу для функционала <tex>\mathcal{L}(q)</tex>, формулы для оценки <tex>\frac{1}{N}\mathbb{E}E,\ \frac{1}{N}\sqrt{\mathbb{D}E},\ \sqrt{\mathbb{E}(\mu^2)}</tex>, где мат.ожидания вычисляются по распределению <tex>q(X)</tex>; |
- | #* Реализовать процедуру | + | #* Реализовать с помощью вариационного подхода процедуру оценки величин <tex>\frac{1}{N}\mathbb{E}E,\ \frac{1}{N}\sqrt{\mathbb{D}E},\ \sqrt{\mathbb{E}(\mu^2)}</tex>, а также нижней оценки <tex>\mathcal{L}(q)</tex> для логарифма нормировочной константы <tex>\log Z</tex> для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. Требования по эффективности реализации: для решетки размера 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)},\ \mathcal{L}(q)</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: размер решетки 20 на 20 (N = 400), <tex>k = 1</tex>, внешнее магнитное поле <tex>H_i = 0</tex>, температуры <tex>T</tex> = 0.5 : 0.1 : 10 | + | #* Построить графики зависимости <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), <tex>k = 1</tex>, внешнее магнитное поле <tex>H_i = 0</tex>, температуры <tex>T</tex> = 0.5 : 0.1 : 10; |
- | #* Для ферромагнетика с четырехугольной системой соседства отобразить найденное распределение <tex>q</tex> (в шкале серого) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты; | + | #* Для ферромагнетика с четырехугольной системой соседства отобразить найденное распределение <tex>q(X)</tex> (в шкале серого) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты; |
#* Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Рассмотреть также внешнее магнитное поле со следующей структурой: на половине решетки H = 1, на другой половине H = -1; | #* Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Рассмотреть также внешнее магнитное поле со следующей структурой: на половине решетки H = 1, на другой половине H = -1; | ||
# Сравнить результаты схемы Гиббса с результатами вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания квадрата намагниченности в одних осях для двух подходов. | # Сравнить результаты схемы Гиббса с результатами вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания квадрата намагниченности в одних осях для двух подходов. | ||
Строка 68: | Строка 66: | ||
* Все исходные коды с необходимыми комментариями. | * Все исходные коды с необходимыми комментариями. | ||
- | Для проверки корректности прототипов реализованных функций рекомендуется воспользоваться специальной [[Media: | + | Для проверки корректности прототипов реализованных функций рекомендуется воспользоваться специальной [[Media:GM13_6_check_prototypes.zip|процедурой]]. Задания, для которых данная процедура будет выходить с ошибкой, проверяться не будут! |
{|class="standard" | {|class="standard" | ||
!''Метод Гиббса для оценки статистик распределений'' | !''Метод Гиббса для оценки статистик распределений'' | ||
|- | |- | ||
- | |[E, D, M, S] = gibbsIsing4(H, J, betaAll, num_iter) — прямоугольная система соседства | + | |[E, D, M, S] = '''gibbsIsing4'''(H, J, betaAll, num_iter) — прямоугольная система соседства |
|- | |- | ||
- | |[E, D, M, S] = gibbsIsing6(H, J, betaAll, num_iter) — треугольная система соседства | + | |[E, D, M, S] = '''gibbsIsing6'''(H, J, betaAll, num_iter) — треугольная система соседства |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 82: | Строка 80: | ||
{|border="0" | {|border="0" | ||
|- | |- | ||
- | |H — внешнее магнитное поле, матрица | + | |H — внешнее магнитное поле, матрица размера vS x hS; |
|- | |- | ||
- | |J — параметр модели | + | |J — параметр модели, равен 1 или -1; |
|- | |- | ||
- | |betaAll — вектор значений параметра <tex>\beta</tex> ( | + | |betaAll — вектор значений параметра <tex>\beta</tex> (вектор-строка длины <tex>\beta_0</tex>); |
|- | |- | ||
|num_iter — количество итераций схемы Гиббса; | |num_iter — количество итераций схемы Гиббса; | ||
Строка 96: | Строка 94: | ||
| | | | ||
{| | {| | ||
- | |E — значения мат.ожиданий энергии на один спин <tex>\frac{1}{N}\mathbb{E}E</tex> для каждой температуры, | + | |E — значения мат.ожиданий энергии на один спин <tex>\frac{1}{N}\mathbb{E}E</tex> для каждой температуры, вектор-строка длины <tex>\beta_0</tex>; |
|- | |- | ||
- | |D — значения стандартных отклонений энергии на один спин <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex> для каждой температуры, | + | |D — значения стандартных отклонений энергии на один спин <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex> для каждой температуры, вектор-строка длины<tex>\beta_0</tex>; |
|- | |- | ||
- | |M — значения средней магнетизации на один спин <tex>\sqrt{\mathbb{E}\mu^2}</tex> для каждой температуры, | + | |M — значения средней магнетизации на один спин <tex>\sqrt{\mathbb{E}\mu^2}</tex> для каждой температуры, вектор-строка длины <tex>\beta_0</tex>; |
|- | |- | ||
|S — примеры конфигураций <tex>X</tex> для всех температур, массив размера vS x hS x <tex>\beta_0</tex>. | |S — примеры конфигураций <tex>X</tex> для всех температур, массив размера vS x hS x <tex>\beta_0</tex>. | ||
Строка 112: | Строка 110: | ||
!''Вариационный подход'' | !''Вариационный подход'' | ||
|- | |- | ||
- | |[E, D, M, L] = varIsing4(H, J, betaAll, opt_params) — прямоугольная система соседства | + | |[E, D, M, L] = '''varIsing4'''(H, J, betaAll, opt_params) — прямоугольная система соседства |
|- | |- | ||
- | |[E, D, M, L] = varIsing6(H, J, betaAll, opt_params) — треугольная система соседства | + | |[E, D, M, L] = '''varIsing6'''(H, J, betaAll, opt_params) — треугольная система соседства |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 123: | Строка 121: | ||
|H — внешнее магнитное поле, матрица размера vS x hS; | |H — внешнее магнитное поле, матрица размера vS x hS; | ||
|- | |- | ||
- | |J — параметр модели | + | |J — параметр модели, равен 1 или -1; |
|- | |- | ||
- | |betaAll — вектор значений параметра <tex>\beta</tex> ( | + | |betaAll — вектор значений параметра <tex>\beta</tex> (вектор-строка длины <tex>\beta_0</tex>); |
|- | |- | ||
|opt_params — (необязательный параметр) параметры оптимизационного процесса, структура со следующими полями: | |opt_params — (необязательный параметр) параметры оптимизационного процесса, структура со следующими полями: | ||
Строка 141: | Строка 139: | ||
| | | | ||
{| | {| | ||
- | |E — мат.ожидание энергии на один спин <tex>\frac{1}{N}\mathbb{E}E</tex> для каждой температуры, | + | |E — мат.ожидание энергии на один спин <tex>\frac{1}{N}\mathbb{E}E</tex> для каждой температуры, вектор-строка длины <tex>\beta_0</tex>; |
|- | |- | ||
- | |D — стандартное отклонение энергии на один спин <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex> для каждой температуры, | + | |D — стандартное отклонение энергии на один спин <tex>\frac{1}{N}\sqrt{\mathbb{D}E}</tex> для каждой температуры, вектор-строка длины <tex>\beta_0</tex>; |
|- | |- | ||
- | |M — средняя магнетизация <tex>\sqrt{\mathbb{E}\mu^2}</tex> для каждой температуры, | + | |M — средняя магнетизация <tex>\sqrt{\mathbb{E}\mu^2}</tex> для каждой температуры, вектор-строка длины <tex>\beta_0</tex>; |
|- | |- | ||
- | |L — нижние границы для логарифмов нормировочных констант для каждой температуры, | + | |L — нижние границы для логарифмов нормировочных констант для каждой температуры, вектор-строка длины <tex>\beta_0</tex>. |
|- | |- | ||
|} | |} | ||
|} | |} |
Текущая версия
Начало выполнения задания: 29 апреля 2013 г.
Срок сдачи: 26 мая 2013 г. (воскресенье), 23:59.
Программная среда для выполнения задания — MATLAB. Неэффективная реализация кода может негативно отразиться на оценке.
Модель Изинга
Модель Изинга — математическая модель статистической физики, предназначенная для описания магнитных свойств вещества. Каждой вершине кристаллической решётки (рассматривается двухмерный случай) сопоставляется число, называемое спином и равное +1 или −1 («поле вверх»/«поле вниз»). Каждому из возможных вариантов расположения спинов (где — число атомов решётки) приписывается энергия, состоящая из взаимодействия спинов соседних атомов J и действия внешнего магнитного поля H:
где — переменные, соответствующие спинам, — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная), каждое ребро в считается один раз. Вероятность нахождения в каждом конкретном состоянии задается распределением Гиббса:
где — нормировочная константа, — температура, — параметр.
Если , то вещество называется ферромагнетиком. Если , то вещество называется антиферромагнетиком.
Формулировка задания
- Провести исследование модели Изинга с помощью схемы Гиббса:
- Вывести формулы для одномерных условных распределений вида ;
- Реализовать с помощью схемы Гиббса процедуру оценки математического ожидания энергии , стандартного отклонения энергии , математического ожидания квадрата общей намагниченности модели , где для заданных параметров и внешнего магнитного поля H. Требования по эффективности реализации: 1000 итераций метода Гиббса для прямоугольной решетки размера 20 на 20 и ста значений параметра должны выполняться не более 20 секунд. В отчете привести соответствующие замеры времени работы кода;
- Построить графики зависимости от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: размер решетки 20 на 20 (N = 400), , 10000 итераций метода Гиббса для оценки статистик, внешнее магнитное поле , температуры = 0.5 : 0.1 : 10;
- Для ферромагнетика с четырехугольной системой соседства отобразить характерные отдельные конфигурации (см. рис.) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты;
- Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Рассмотреть также внешнее магнитное поле со следующей структурой: на половине решетки H = 1, на другой половине H = -1;
- Провести исследование модели Изинга с помощью вариационного подхода, где в качестве факторизованного семейства для выступает независимое распределение по всем компонентам :
- Вывести формулу для пересчета отдельного фактора , формулу для функционала , формулы для оценки , где мат.ожидания вычисляются по распределению ;
- Реализовать с помощью вариационного подхода процедуру оценки величин , а также нижней оценки для логарифма нормировочной константы для заданных параметров и внешнего магнитного поля H. Требования по эффективности реализации: для решетки размера 20 x 20 сто итераций поиска вариационного приближения для ста значений параметра должны выполняться не более одной секунды, включая этап оценки всех статистик. В отчете привести соответствующие замеры времени работы кода;
- Построить графики зависимости от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: размер решетки 20 на 20 (N = 400), , внешнее магнитное поле , температуры = 0.5 : 0.1 : 10;
- Для ферромагнетика с четырехугольной системой соседства отобразить найденное распределение (в шкале серого) в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты;
- Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Рассмотреть также внешнее магнитное поле со следующей структурой: на половине решетки H = 1, на другой половине H = -1;
- Сравнить результаты схемы Гиббса с результатами вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания квадрата намагниченности в одних осях для двух подходов.
- Написать отчет в формате PDF с описанием всех проведенных исследований.
Рекомендации по выполнению задания
- Для схемы Гиббса и вариационного подхода:
- Рекомендуется реализовывать алгоритмы вывода с векторными операциями по параметру , т.е. проводить вычисления для всех температур сразу;
- На этапе тестирования процедур рекомендуется проводить эксперименты на неквадратной решетке и со случайным внешним магнитным полем ;
- Для схемы Гиббса:
- Для оценки статистик распределения с помощью схемы Гиббса следует отбрасывать конфигурации , полученные на первой трети итераций;
- В качестве примеров конфигураций лучше брать ситуации с последних итераций схемы Гиббса;
- Одной из возможных проверок на корректность оценки статистик по сгенерированному набору конфигураций является следующая: сделать большое число итераций по схеме Гиббса, рассмотреть несколько различных подмножеств сгенерированных конфигураций, по каждому из подмножеств оценить статистики. При правильной реализации статистики, оцененные по разным подмножествам конфигураций, должны быть близки между собой;
- Для вариационного подхода:
- Рекомендуется запускать вариационную оптимизацию из нескольких начальных приближений для : случайные, все вероятности одинаковые и близки к единице, шахматная доска и т.д. При этом для текущей температуры наилучшим вариационным приближением признается такое, при котором значение нижней границы является максимальным;
- Одной из проверок на корректность оптимизации в рамках вариационного подхода является монотонное возрастание в итерациях значения нижней границы ;
- Одной из возможных проверок на корректность вычисления различных статистик по приближению является использование метода Монте Карло, при котором из распределения генерируется набор конфигураций , по которым затем оцениваются необходимые статистики.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «[ГМ13] Задание 6, Фамилия». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также большая просьба строго следовать указанным ниже прототипам реализуемых функций.
Присланный вариант задания должен содержать в себе:
- Текстовый файл в формате PDF, содержащий описание проведенных исследований;
- Все исходные коды с необходимыми комментариями.
Для проверки корректности прототипов реализованных функций рекомендуется воспользоваться специальной процедурой. Задания, для которых данная процедура будет выходить с ошибкой, проверяться не будут!
Метод Гиббса для оценки статистик распределений | ||||
---|---|---|---|---|
[E, D, M, S] = gibbsIsing4(H, J, betaAll, num_iter) — прямоугольная система соседства | ||||
[E, D, M, S] = gibbsIsing6(H, J, betaAll, num_iter) — треугольная система соседства | ||||
ВХОД | ||||
| ||||
ВЫХОД | ||||
|
Вариационный подход | |||||||
---|---|---|---|---|---|---|---|
[E, D, M, L] = varIsing4(H, J, betaAll, opt_params) — прямоугольная система соседства | |||||||
[E, D, M, L] = varIsing6(H, J, betaAll, opt_params) — треугольная система соседства | |||||||
ВХОД | |||||||
| |||||||
ВЫХОД | |||||||
|