Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)/Задание 2
Материал из MachineLearning.
(Новая: __NOTOC__ [[Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)|Перейти к основн...) |
(Небольшие исправления по тексту первого варианта задания) |
||
Строка 10: | Строка 10: | ||
[[Изображение:BayesML2010_task2_triGrid.PNG|200px|thumb|Треугольная система соседства]] | [[Изображение:BayesML2010_task2_triGrid.PNG|200px|thumb|Треугольная система соседства]] | ||
'''Модель Изинга''' — математическая модель статистической физики, предназначенная для описания намагничивания материала. | '''Модель Изинга''' — математическая модель статистической физики, предназначенная для описания намагничивания материала. | ||
- | Каждой вершине кристаллической решётки ( | + | Каждой вершине кристаллической решётки (рассматривается двумерный случай) сопоставляется число, называемое спином и равное +1 или −1 («поле вверх»/«поле вниз»). Каждому из <tex>2^N</tex> возможных вариантов расположения спинов (где N — число атомов решётки) приписывается энергия, состоящая из взаимодействия спинов соседних атомов J и действия внешнего магнитного поля H:<br> |
<tex> | <tex> | ||
- | E(X) = -\left( \sum_{(i,j) \in E} | + | E(X) = -\left( \frac{1}{2} \sum_{(i,j) \in E} J x_i x_j + \sum_{i=1}^N H_i x_i \right), |
</tex><br> | </tex><br> | ||
- | где <tex>x_i</tex> | + | где <tex>x_i</tex> — переменные, соответствующие спинам, E — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная). Вероятность нахождения в каждом конкретном состоянии задается распределением Гиббса:<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}, | ||
</tex><br> | </tex><br> | ||
- | где Z | + | где Z — нормировочная константа, T — температура, k — параметр. |
- | Если <tex> | + | Если <tex>J = 1 </tex>, то вещество называется ферромагнетиком. Если <tex>J = -1</tex>, то вещество называется антиферромагнетиком. |
- | ==Вариант 1== | + | == Вариант 1 == |
- | ===Описание задания=== | + | |
- | Провести исследование модели Изинга методом Монте-Карло | + | === Описание задания === |
- | + | ||
+ | Провести исследование модели Изинга методом Монте-Карло по схеме Гиббса. При этой схеме генерация значения очередного элемента решетки <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 = \sum_{j: (i, j) \in E} J x_j + H_i, |
</tex><br> | </tex><br> | ||
<tex> | <tex> | ||
Строка 35: | Строка 36: | ||
===Задание=== | ===Задание=== | ||
[[Изображение:BayesML2010_task2_example.PNG|200px|thumb|Пример иллюстрации состояния модели Изинга размера 20 на 20.]] | [[Изображение:BayesML2010_task2_example.PNG|200px|thumb|Пример иллюстрации состояния модели Изинга размера 20 на 20.]] | ||
- | # Вывести формулы | + | # Вывести формулы генерации выборки по схеме Гиббса (вывод вставить в отчет). |
- | # Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> | + | # Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели <tex>\mu = \left(\sum_{i=1}^N x_i \right) / N</tex> методом Гиббса (с заданным числом итераций) для заданных параметров <tex>\beta</tex> и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: 1000 итераций метода Гиббса для решетки размером 20 на 20 и 100 значений параметра <tex>\beta</tex> должны выполнятся не более 100 секунд. В отчете привести соответствующие замеры времени работы кода.) |
- | # Построить графики зависимости <tex>\mathbb{E}E, \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)}</tex> от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров: |
#*размер решетки 20 на 20 (N = 400) | #*размер решетки 20 на 20 (N = 400) | ||
#*<tex>k = 1</tex> | #*<tex>k = 1</tex> | ||
#*10000 итераций метода Гиббса для каждой из температур | #*10000 итераций метода Гиббса для каждой из температур | ||
- | #*для ферромагнетика <tex> | + | #*для ферромагнетика <tex>J = 1</tex>, для антиферромагнетика <tex>J = -1</tex> |
#*внешнее магнитное поле <tex>H_i = 0</tex> | #*внешнее магнитное поле <tex>H_i = 0</tex> | ||
#*температуры T = 0.5 : 0.1 : 10; | #*температуры T = 0.5 : 0.1 : 10; | ||
- | #Для ферромагнетика с четырехугольной системой связности | + | #Для ферромагнетика с четырехугольной системой связности отобразить характерные отдельные конфигурации <tex>X</tex> в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты. Рассмотреть как минимум по одному примеру для не менее, чем пяти разных значений температур. Параметры генерации те же, что и в пункте 3. |
- | #Исследовать влияние | + | #Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 3. |
- | #Выполнить пункт 4 в присутствии внешнего магнитного поля следующей | + | #Выполнить пункт 4 в присутствии внешнего магнитного поля со следующей структурой: на половине решетки H = 1, на другой половине H = -1. |
#Сравнить результаты применения метода Монте-Карло с результатами применения вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию вариационного подхода взять у товарища, выполняющего вариант 2. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. | #Сравнить результаты применения метода Монте-Карло с результатами применения вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию вариационного подхода взять у товарища, выполняющего вариант 2. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов. | ||
=== Оформление задания === | === Оформление задания === | ||
- | Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «Задание 2 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. | + | Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «Задание 2 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. '''Внимание: задания, в которых прототипы реализованных функций не будут удовлетворять предъявляемым требованиям, рассматриваться не будут!''' |
В качестве программной среды реализации настоятельно рекомендуется использовать MATLAB. Тем не менее, никаких ограничений на выбор среды реализации не накладывается. | В качестве программной среды реализации настоятельно рекомендуется использовать MATLAB. Тем не менее, никаких ограничений на выбор среды реализации не накладывается. | ||
Строка 60: | Строка 61: | ||
* Дополнительные комментарии или материалы, если необходимо. | * Дополнительные комментарии или материалы, если необходимо. | ||
- | Исходные коды должны включать в себя реализацию метода Гиббса для прямоугольной и треугольной систем соседств в виде отдельных функций. Прототипы функций имеют следующий вид:<br> | + | Исходные коды должны включать в себя реализацию метода Гиббса для прямоугольной и треугольной систем соседств в виде отдельных функций (отдельных m-файлов). Прототипы функций имеют следующий вид:<br> |
{|class="standard" | {|class="standard" | ||
!''Метод Гиббса'' | !''Метод Гиббса'' | ||
|- | |- | ||
- | |[E, magnet, samples] = generateIsing4(vS, hS, J, H, iter, betaAll) | + | |[E, magnet, samples] = generateIsing4(vS, hS, J, H, iter, betaAll) — прямоугольная система соседства |
|- | |- | ||
- | |[E, magnet, samples] = generateIsing6(vS, hS, J, H, iter, betaAll) | + | |[E, magnet, samples] = generateIsing6(vS, hS, J, H, iter, betaAll) — треугольная система соседства |
|- | |- | ||
|ВХОД | |ВХОД | ||
Строка 76: | Строка 77: | ||
|hS — размер решетки по горизонтали; | |hS — размер решетки по горизонтали; | ||
|- | |- | ||
- | |J | + | |J — параметр модели J; |
|- | |- | ||
- | |H | + | |H — внешнее магнитное поле, матрица размера vS на hS; |
|- | |- | ||
- | |iter | + | |iter — количество итераций метода Гиббса; |
|- | |- | ||
- | |betaAll | + | |betaAll — вектор значений параметра <tex>\beta</tex> (в MatLab матрица размера 1 x <tex>\beta_0</tex>). |
|} | |} | ||
|- | |- | ||
Строка 89: | Строка 90: | ||
| | | | ||
{| | {| | ||
- | |E | + | |E — значения энергий для каждой температуры и итерации, массив размера iter на <tex>\beta_0</tex>; |
|- | |- | ||
- | |magnet — значения магнетизации | + | |magnet — значения магнетизации для каждой температуры и итерации, массив размера iter на <tex>\beta_0</tex>; |
|- | |- | ||
- | |samples — примеры | + | |samples — примеры конфигураций <tex>X</tex> для всех температур, массив размера vS на hS на <tex>\beta_0</tex>. |
|} | |} | ||
|} | |} | ||
===Рекомендации=== | ===Рекомендации=== | ||
- | *Лучше реализовывать метод | + | *Лучше реализовывать метод с векторными операциями по параметру <tex>\beta</tex>, то есть проводить вычисления для всех температур сразу. |
- | *Начинать | + | *Начинать генерацию методом Гиббса лучше с конфигурации, имеющую высокую вероятность. |
- | *Для оценки глобальных параметров лучше | + | *Для оценки глобальных параметров лучше отбрасывать значения, полученные на первой трети итераций метода Гиббса. |
- | *В качестве примера | + | *В качестве примера конфигурации <tex>X</tex> лучше взять ситуацию, полученную на последней итерации метода Гиббса. |
- | ==Вариант 2== | + | == Вариант 2 == |
Версия 18:22, 21 ноября 2010
Перейти к основной странице спецкурса
Начало выполнения задания: 22 ноября 2010 г.
Срок сдачи: 6 декабря 2010 г., 23:59.
Модель Изинга
Модель Изинга — математическая модель статистической физики, предназначенная для описания намагничивания материала.
Каждой вершине кристаллической решётки (рассматривается двумерный случай) сопоставляется число, называемое спином и равное +1 или −1 («поле вверх»/«поле вниз»). Каждому из возможных вариантов расположения спинов (где N — число атомов решётки) приписывается энергия, состоящая из взаимодействия спинов соседних атомов J и действия внешнего магнитного поля H:
где — переменные, соответствующие спинам, E — система соседства (в данном задании рассматриваются две системы соседства: прямоугольная и треугольная). Вероятность нахождения в каждом конкретном состоянии задается распределением Гиббса:
где Z — нормировочная константа, T — температура, k — параметр.
Если , то вещество называется ферромагнетиком. Если , то вещество называется антиферромагнетиком.
Вариант 1
Описание задания
Провести исследование модели Изинга методом Монте-Карло по схеме Гиббса. При этой схеме генерация значения очередного элемента решетки производится по следующим формулам:
Задание
- Вывести формулы генерации выборки по схеме Гиббса (вывод вставить в отчет).
- Реализовать процедуру подсчета математического ожидания и дисперсии энергии (нормированной на количество спинов N), математического ожидания квадрата общей намагниченности модели методом Гиббса (с заданным числом итераций) для заданных параметров и внешнего магнитного поля H. (Требования по эффективности реализации для 3-ого курса и выше: 1000 итераций метода Гиббса для решетки размером 20 на 20 и 100 значений параметра должны выполнятся не более 100 секунд. В отчете привести соответствующие замеры времени работы кода.)
- Построить графики зависимости от температуры для треугольной и четырехугольной систем соседства, ферромагнетика и антиферромагнетика (всего 4 модели). Проинтерпретировать полученные результаты (в частности идентифицировать, локализовать и изучить фазовый переход). Для построения графиков использовать следующие значения параметров:
- размер решетки 20 на 20 (N = 400)
- 10000 итераций метода Гиббса для каждой из температур
- для ферромагнетика , для антиферромагнетика
- внешнее магнитное поле
- температуры T = 0.5 : 0.1 : 10;
- Для ферромагнетика с четырехугольной системой связности отобразить характерные отдельные конфигурации в зависимости от температуры (низкая температура, окрестность фазового перехода, высокая температура). Проинтерпретировать результаты. Рассмотреть как минимум по одному примеру для не менее, чем пяти разных значений температур. Параметры генерации те же, что и в пункте 3.
- Исследовать влияние константного внешнего магнитного поля на фазовый переход в ферромагнетике с прямоугольной системой соседства. Привести соответствующие графики. Параметры модели взять такие же, как в пункте 3.
- Выполнить пункт 4 в присутствии внешнего магнитного поля со следующей структурой: на половине решетки H = 1, на другой половине H = -1.
- Сравнить результаты применения метода Монте-Карло с результатами применения вариационного подхода. Рассмотреть ферромагнетик с прямоугольной системой соседства. Реализацию вариационного подхода взять у товарища, выполняющего вариант 2. Привести графики математического ожидания и дисперсии энергии, корня из математического ожидания намагниченности в одних осях для двух подходов.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «Задание 2 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Внимание: задания, в которых прототипы реализованных функций не будут удовлетворять предъявляемым требованиям, рассматриваться не будут!
В качестве программной среды реализации настоятельно рекомендуется использовать MATLAB. Тем не менее, никаких ограничений на выбор среды реализации не накладывается.
Присланный вариант задания должен содержать в себе:
- ФИО исполнителя, номер группы и номер варианта задания.
- Текстовый файл в формате PDF, содержащий описание проведенных исследований.
- Все исходные коды с необходимыми комментариями.
- Дополнительные комментарии или материалы, если необходимо.
Исходные коды должны включать в себя реализацию метода Гиббса для прямоугольной и треугольной систем соседств в виде отдельных функций (отдельных m-файлов). Прототипы функций имеют следующий вид:
Метод Гиббса | ||||||
---|---|---|---|---|---|---|
[E, magnet, samples] = generateIsing4(vS, hS, J, H, iter, betaAll) — прямоугольная система соседства | ||||||
[E, magnet, samples] = generateIsing6(vS, hS, J, H, iter, betaAll) — треугольная система соседства | ||||||
ВХОД | ||||||
| ||||||
ВЫХОД | ||||||
|
Рекомендации
- Лучше реализовывать метод с векторными операциями по параметру , то есть проводить вычисления для всех температур сразу.
- Начинать генерацию методом Гиббса лучше с конфигурации, имеющую высокую вероятность.
- Для оценки глобальных параметров лучше отбрасывать значения, полученные на первой трети итераций метода Гиббса.
- В качестве примера конфигурации лучше взять ситуацию, полученную на последней итерации метода Гиббса.