Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)/Задание 1
Материал из MachineLearning.
(убрано устаревшее объявление) |
|||
(17 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
__NOTOC__ | __NOTOC__ | ||
- | + | [[Байесовские методы машинного обучения (курс лекций, Д.П. Ветров, Д.А. Кропотов)|Перейти к основной странице спецкурса]] | |
- | '''Начало выполнения задания''': | + | '''Начало выполнения задания''': 12 октября 2010 г.<br> |
- | '''Срок сдачи''': 25 октября 2010 г., 23:59. | + | '''Срок сдачи''': {{важно|25 октября 2010 г., 23:59.}} |
Рассмотрим модель посещаемости студентами одного курса лекции по спецкурсу. Пусть аудитория данного спецкурса состоит из студентов профильной кафедры, а также студентов других кафедр. Обозначим через <tex>a</tex> количество студентов, распределившихся на профильную кафедру, а через <tex>b</tex> — количество студентов других кафедр на курсе. Пусть студенты профильной кафедры посещают спецкурс с некоторой вероятностью <tex>p_1</tex>, а студенты остальных кафедр — с вероятностью <tex>p_2</tex>. Обозначим через <tex>c</tex> количество студентов на данной лекции. Тогда случайная величина <tex>c|a,b</tex> есть сумма двух случайных величин, распределенных по биномиальному закону <tex>B(a,p_1)</tex> и <tex>B(b,p_2)</tex> соответственно. Пусть далее на лекции по спецкурсу ведется запись студентов. При этом каждый студент записывается сам, а также, быть может, записывает своего товарища, которого на лекции на самом деле нет (просьба не воспринимать это как руководство к действию в реальности!!). Пусть студент записывает своего товарища с некоторой вероятностью <tex>p_3</tex>. Обозначим через <tex>d</tex> общее количество записавшихся на данной лекции. Тогда случайная величина <tex>d|c</tex> представляет собой сумму <tex>c</tex> и случайной величины, распределенной по биномиальному закону <tex>B(c,p_3)</tex>. Для завершения задания вероятностной модели осталось определить априорные вероятности для <tex>a</tex> и для <tex>b</tex>. Пусть обе эти величины распределены равномерно в своих интервалах <tex>[a_{min},a_{max}]</tex> и <tex>[b_{min},b_{max}]</tex>. Таким образом, мы определили следующую вероятностную модель:<br> | Рассмотрим модель посещаемости студентами одного курса лекции по спецкурсу. Пусть аудитория данного спецкурса состоит из студентов профильной кафедры, а также студентов других кафедр. Обозначим через <tex>a</tex> количество студентов, распределившихся на профильную кафедру, а через <tex>b</tex> — количество студентов других кафедр на курсе. Пусть студенты профильной кафедры посещают спецкурс с некоторой вероятностью <tex>p_1</tex>, а студенты остальных кафедр — с вероятностью <tex>p_2</tex>. Обозначим через <tex>c</tex> количество студентов на данной лекции. Тогда случайная величина <tex>c|a,b</tex> есть сумма двух случайных величин, распределенных по биномиальному закону <tex>B(a,p_1)</tex> и <tex>B(b,p_2)</tex> соответственно. Пусть далее на лекции по спецкурсу ведется запись студентов. При этом каждый студент записывается сам, а также, быть может, записывает своего товарища, которого на лекции на самом деле нет (просьба не воспринимать это как руководство к действию в реальности!!). Пусть студент записывает своего товарища с некоторой вероятностью <tex>p_3</tex>. Обозначим через <tex>d</tex> общее количество записавшихся на данной лекции. Тогда случайная величина <tex>d|c</tex> представляет собой сумму <tex>c</tex> и случайной величины, распределенной по биномиальному закону <tex>B(c,p_3)</tex>. Для завершения задания вероятностной модели осталось определить априорные вероятности для <tex>a</tex> и для <tex>b</tex>. Пусть обе эти величины распределены равномерно в своих интервалах <tex>[a_{min},a_{max}]</tex> и <tex>[b_{min},b_{max}]</tex>. Таким образом, мы определили следующую вероятностную модель:<br> | ||
Строка 77: | Строка 77: | ||
== Вариант 3 == | == Вариант 3 == | ||
+ | Рассматривается модель 4 с параметрами <tex>a_{min}=15, a_{max}=30, b_{min}=250, b_{max}=350, p_1 = 0.5, p_2 = 0.05, p_3 = 0.5, N = 50</tex>. Провести на компьютере следующие исследования: | ||
+ | # Найти математические ожидания и дисперсии априорных распределений для всех параметров <tex>a, b, c_n, d_n</tex>. | ||
+ | # Реализовать генератор выборки <tex>d_1,\dots,d_N</tex> из модели при заданных значениях параметров <tex>a,b</tex>. | ||
+ | # Пронаблюдать, как происходит уточнение прогноза для величины <tex>b</tex> по мере прихода новой косвенной информации. Для этого построить графики и найти мат.ожидание и дисперсию для распределений <tex>p(b), p(b|d_1), \dots, p(b|d_1,\dots,d_N)</tex>, где выборка <tex>d_1,\dots,d_N</tex> 1) сгенерирована из модели при параметрах <tex>a,b</tex>, равных мат.ожиданиям своих априорных распределений, округленных до ближайшего целого и 2) <tex>d_1=\dots=d_N</tex>, где <tex>d_n</tex> равно мат.ожиданию своего априорного распределения, округленного до ближайшего целого. Провести аналогичный эксперимент, если дополнительно известно значение <tex>a</tex>. Сравнить результаты двух экспериментов. | ||
+ | # Провести временные замеры по оценке всех необходимых распределений <tex>p(c_n),p(d_n),p(b|d_1,\dots,d_n),p(b|a,d_1,\dots,d_n)</tex>. | ||
+ | |||
+ | Взять в качестве диапазона допустимых значений для величины <tex>c</tex> интервал <tex>[0,a_{max}+b_{max}]</tex>, а для величины <tex>d</tex> — интервал <tex>[0,2*(a_{max}+b_{max})]</tex>. | ||
+ | |||
+ | ''Для студентов 3 курса и выше'': при оценке выполнения задания будет учитываться эффективность программного кода. В частности, временные затраты на расчет отдельного распределения не должны превышать одной секунды. | ||
+ | |||
+ | ''Для студентов 4 курса и выше'': необходимо дополнительно провести все исследования для точной модели 3 и сравнить результаты с аналогичными для модели 4. | ||
== Оформление задания == | == Оформление задания == | ||
+ | |||
+ | Выполненное задание следует отправить письмом по адресу ''bayesml@gmail.com'' с заголовком письма «Задание 1 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание '''только один раз''' с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. | ||
+ | |||
+ | В качестве программной среды реализации настоятельно рекомендуется использовать MATLAB. Тем не менее, никаких ограничений на выбор среды реализации не накладывается. | ||
+ | |||
+ | Присланный вариант задания должен содержать в себе: | ||
+ | * ФИО исполнителя, номер группы и номер варианта задания. | ||
+ | * Текстовый файл в формате PDF, содержащий описание проведенных исследований. | ||
+ | * Все исходные коды с необходимыми комментариями. | ||
+ | * Дополнительные комментарии или материалы, если необходимо. | ||
+ | |||
+ | Исходные коды должны включать в себя реализацию оценки распределений в виде отдельных функций. Прототип для функции оценки распределения <tex>p(c|a,d)</tex> для модели 2 имеет следующий вид:<br> | ||
+ | {|class="standard" | ||
+ | !''Оценка распределения <tex>p(c|a,d)</tex> для модели 2'' | ||
+ | |- | ||
+ | |[p, c, m, v] = p2c_ad(a, d, params) | ||
+ | |- | ||
+ | |ВХОД | ||
+ | |- | ||
+ | | | ||
+ | {|border="0" | ||
+ | |a — значение параметра a; | ||
+ | |- | ||
+ | |d — значение параметра d; | ||
+ | |- | ||
+ | |params — набор параметров вероятностной модели, структура с полями 'amin', 'amax', 'bmin', 'bmax', 'p1', 'p2', 'p3'; | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | |ВЫХОД | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |p — распределение вероятности, одномерный массив длины length(c); | ||
+ | |- | ||
+ | |c — носитель распределения, одномерный массив; | ||
+ | |- | ||
+ | |m — математическое ожидание распределения; | ||
+ | |- | ||
+ | |v — дисперсия распределения. | ||
+ | |} | ||
+ | |} | ||
+ | |||
+ | Прототипы функций для других распределений выглядят аналогично. Если в распределении переменных до или после | несколько, то в названии функции они идут в алфавитном порядке. Функция для оценки распределения <tex>p(b|a,d_1,\dots,d_N)</tex> для модели 3 имеет название p3b_ad, а входной параметр <tex>d</tex> является одномерным массивом длины <tex>N</tex>. | ||
+ | |||
+ | {|class="standard" | ||
+ | !''Генерация из распределения <tex>p(d_1,\dots,d_N|a,b)</tex> для модели 3'' | ||
+ | |- | ||
+ | |d = m3_generate(N, a, b, params) | ||
+ | |- | ||
+ | |ВХОД | ||
+ | |- | ||
+ | | | ||
+ | {|border="0" | ||
+ | |N — количество лекций; | ||
+ | |- | ||
+ | |a — значение параметра a; | ||
+ | |- | ||
+ | |b — значение параметра b; | ||
+ | |- | ||
+ | |params — набор параметров вероятностной модели, структура с полями 'amin', 'amax', 'bmin', 'bmax', 'p1', 'p2', 'p3'; | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | |ВЫХОД | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |d — значения <tex>d_1,\dots,d_N</tex>, одномерный массив длины N. | ||
+ | |} | ||
+ | |} | ||
== Распределение студентов по вариантам == | == Распределение студентов по вариантам == | ||
+ | Студентам, которые не нашли себя в этом списке, следует написать письмо по адресу ''bayesml@gmail.com'' с запросом номера варианта. В этом письме не забудьте указать свою фамилию и номер группы. | ||
+ | |||
+ | {| class="standard" | ||
+ | |- class="bright" | ||
+ | !colspan="3"| 2-ой курс || ||colspan="3"| 3-ий курс || ||colspan="3"| 4-ый курс || ||colspan="3"| 5-ый курс и др. | ||
+ | |- | ||
+ | ! Участник || Группа || Вариант || || Участник || Группа || Вариант || || Участник || Группа || Вариант || || Участник || Группа || Вариант | ||
+ | |- | ||
+ | |Иванов Петр|| align="center"|202 || align="center"|1 || ||Карнаухов Денис|| align="center"|315 || align="center"|1 || ||Головин Антон|| align="center"|417 || align="center"|2 || ||Логачев Ю.М.|| align="center"|517 || align="center"|1 | ||
+ | |- | ||
+ | |Ромов Петр|| align="center"|202 || align="center"|2 || ||Елшин Денис|| align="center"|317 || align="center"|2 || ||Ермишин Федор|| align="center"|421 || align="center"|3 || ||Нокель Михаил|| align="center"|520 || align="center"|2 | ||
+ | |- | ||
+ | |Стефонишин Даниил|| align="center"|202 || align="center"|3 || ||Соколов Евгений|| align="center"|317 || align="center"|3 || || Кухаренко А.И.|| align="center"|421 || align="center"|1 || ||Потапов Даниил|| align="center"|521 || align="center"|2 | ||
+ | |- | ||
+ | |Гавриков Михаил|| align="center"|202 || align="center"|3 || ||Мытрова Марина|| align="center"|317 || align="center"|1 || || Третьяков А.И.|| align="center"|431 || align="center"|1 || ||Петров Александр|| align="center"|521 || align="center"|3 | ||
+ | |- | ||
+ | |Дворяков Кирилл|| align="center"|202 || align="center"|1 || ||Некрасов Константин|| align="center"|317 || align="center"|2 || ||Понамарев Д.И.|| align="center"|431 || align="center"|2 || ||Матюнин С.Б.|| align="center"|521 || align="center"|1 | ||
+ | |- | ||
+ | |Никитин М.Ю.|| align="center"|202 || align="center"|2 || ||Новиков Павел|| align="center"|317 || align="center"|3 || ||Астахов А.Н.|| align="center"|431 || align="center"|3 || ||Светличный Дмитрий|| align="center"|в/о-2 || align="center"|1 | ||
+ | |- | ||
+ | |Любич Илья|| align="center"|205 || align="center"|3 || ||Крючков Станислав|| align="center"|319 || align="center"|1 || || Лихобабин С.М.|| align="center"|431 || align="center"|2 || ||Шаповалов Роман|| align="center"|622 || align="center"|2 | ||
+ | |- | ||
+ | |Подорога Анастасия|| align="center"|205 || align="center"|1 || ||colspan="3"| || || Казаков Илья|| align="center"|432 || align="center"|3 || | ||
+ | |- | ||
+ | |Грачев Артем|| align="center"|206 || align="center"|1 | ||
+ | |- | ||
+ | |Гайнуллин А.Ф.|| align="center"|207 || align="center"|3 | ||
+ | |- | ||
+ | |Потапенко Анна|| align="center"|207 || align="center"|2 | ||
+ | |- | ||
+ | |Фонарев Александр|| align="center"|208 || align="center"|2 | ||
+ | |- | ||
+ | |Карев Александр|| align="center"|209 || align="center"|1 | ||
+ | |- | ||
+ | |Борисов Алексей|| align="center"|209 || align="center"|3 | ||
+ | |- | ||
+ | |Лобачева Е.М.|| align="center"|209 || align="center"|1 | ||
+ | |- | ||
+ | |Маллачиев К.А.|| align="center"|209 || align="center"|2 | ||
+ | |- | ||
+ | |Кузнецов Арсений|| align="center"|209 || align="center"|2 | ||
+ | |- | ||
+ | |Маянцев Кирилл|| align="center"|213 || align="center"|3 | ||
+ | |- | ||
+ | |Нимак Владимир|| align="center"|215 || align="center"|1 | ||
+ | |- | ||
+ | |Иванов Николай|| align="center"|215 || align="center"|2 | ||
+ | |- | ||
+ | |Баранов Виталий|| align="center"|215 || align="center"|3 | ||
+ | |- | ||
+ | |Борисов Михаил|| align="center"|216 || align="center"|1 | ||
+ | |- | ||
+ | |} |
Текущая версия
Перейти к основной странице спецкурса
Начало выполнения задания: 12 октября 2010 г.
Срок сдачи: 25 октября 2010 г., 23:59.
Рассмотрим модель посещаемости студентами одного курса лекции по спецкурсу. Пусть аудитория данного спецкурса состоит из студентов профильной кафедры, а также студентов других кафедр. Обозначим через количество студентов, распределившихся на профильную кафедру, а через
— количество студентов других кафедр на курсе. Пусть студенты профильной кафедры посещают спецкурс с некоторой вероятностью
, а студенты остальных кафедр — с вероятностью
. Обозначим через
количество студентов на данной лекции. Тогда случайная величина
есть сумма двух случайных величин, распределенных по биномиальному закону
и
соответственно. Пусть далее на лекции по спецкурсу ведется запись студентов. При этом каждый студент записывается сам, а также, быть может, записывает своего товарища, которого на лекции на самом деле нет (просьба не воспринимать это как руководство к действию в реальности!!). Пусть студент записывает своего товарища с некоторой вероятностью
. Обозначим через
общее количество записавшихся на данной лекции. Тогда случайная величина
представляет собой сумму
и случайной величины, распределенной по биномиальному закону
. Для завершения задания вероятностной модели осталось определить априорные вероятности для
и для
. Пусть обе эти величины распределены равномерно в своих интервалах
и
. Таким образом, мы определили следующую вероятностную модель:
Модель 1
|
Рассмотрим несколько упрощенную версию модели 1. Известно, что биномиальное распределение при большом количестве испытаний и маленькой вероятности успеха может быть с высокой точностью приближено пуассоновским распределением
с
. Известно также, что сумма двух пуассоновских распределений с параметрами
и
есть пуассоновское распределение с параметром
. Таким образом, мы можем сформулировать вероятностную модель, которая является приближенной версией модели 1:
Модель 2
,
,
,
,
.
Рассмотрим теперь модель посещаемости нескольких лекций спецкурса. Будем считать, что посещаемости отдельных лекций являются независимыми. Тогда:
Модель 3
|
По аналогии с моделью 2 можно сформулировать упрощенную модель для модели 3:
Модель 4
,
,
,
,
.
Задание состоит из трех вариантов. Распределение студентов по вариантам см. ниже.
Вариант 1
Рассматривается модель 2 с параметрами . Провести на компьютере следующие исследования:
- Найти математические ожидания и дисперсии априорных распределений для всех параметров
.
- Пронаблюдать, как происходит уточнение прогноза для величины
по мере прихода новой косвенной информации. Для этого построить графики и найти мат.ожидание и дисперсию для распределений
при параметрах
, равных мат.ожиданиям своих априорных распределений, округленных до ближайшего целого.
- Определить, какая из величин
вносит больший вклад в уточнение прогноза для величины
(в смысле дисперсии распределения). Для этого убедиться в том, что
и
для любых допустимых значений
. Найти множество точек
таких, что
. Являются ли множества
и
линейно разделимыми?
- Провести временные замеры по оценке всех необходимых распределений
.
Взять в качестве диапазона допустимых значений для величины интервал
, а для величины
— интервал
.
Для студентов 3 курса и выше: при оценке выполнения задания будет учитываться эффективность программного кода. В частности, временные затраты на расчет отдельного распределения не должны превышать одной секунды.
Для студентов 4 курса и выше: необходимо дополнительно провести все исследования для точной модели 1 и сравнить результаты с аналогичными для модели 2. Привести пример оценки параметра, в котором разница между моделью 1 и 2 проявляется в большой степени.
Вариант 2
Рассматривается модель 2 с параметрами . Провести на компьютере следующие исследования:
- Найти математические ожидания и дисперсии априорных распределений для всех параметров
.
- Пронаблюдать, как происходит уточнение прогноза для величины
по мере прихода новой косвенной информации. Для этого построить графики и найти мат.ожидание и дисперсию для распределений
при параметрах
, равных мат.ожиданиям своих априорных распределений, округленных до ближайшего целого.
- Определить, при каких соотношениях параметров
изменяется относительная важность параметров
для оценки величины
. Для этого найти множество точек
при
, равных мат.ожиданиям своих априорных распределений, округленных до ближайшего целого. Являются ли множества
и
линейно разделимыми?
- Провести временные замеры по оценке всех необходимых распределений
.
Взять в качестве диапазона допустимых значений для величины интервал
, а для величины
— интервал
.
Для студентов 3 курса и выше: при оценке выполнения задания будет учитываться эффективность программного кода. В частности, временные затраты на расчет отдельного распределения не должны превышать одной секунды.
Для студентов 4 курса и выше: необходимо дополнительно провести все исследования для точной модели 1 и сравнить результаты с аналогичными для модели 2. Привести пример оценки параметра, в котором разница между моделью 1 и 2 проявляется в большой степени.
Вариант 3
Рассматривается модель 4 с параметрами . Провести на компьютере следующие исследования:
- Найти математические ожидания и дисперсии априорных распределений для всех параметров
.
- Реализовать генератор выборки
из модели при заданных значениях параметров
.
- Пронаблюдать, как происходит уточнение прогноза для величины
по мере прихода новой косвенной информации. Для этого построить графики и найти мат.ожидание и дисперсию для распределений
, где выборка
1) сгенерирована из модели при параметрах
, равных мат.ожиданиям своих априорных распределений, округленных до ближайшего целого и 2)
, где
равно мат.ожиданию своего априорного распределения, округленного до ближайшего целого. Провести аналогичный эксперимент, если дополнительно известно значение
. Сравнить результаты двух экспериментов.
- Провести временные замеры по оценке всех необходимых распределений
.
Взять в качестве диапазона допустимых значений для величины интервал
, а для величины
— интервал
.
Для студентов 3 курса и выше: при оценке выполнения задания будет учитываться эффективность программного кода. В частности, временные затраты на расчет отдельного распределения не должны превышать одной секунды.
Для студентов 4 курса и выше: необходимо дополнительно провести все исследования для точной модели 3 и сравнить результаты с аналогичными для модели 4.
Оформление задания
Выполненное задание следует отправить письмом по адресу bayesml@gmail.com с заголовком письма «Задание 1 <Номер_группы> <ФИО>». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае.
В качестве программной среды реализации настоятельно рекомендуется использовать MATLAB. Тем не менее, никаких ограничений на выбор среды реализации не накладывается.
Присланный вариант задания должен содержать в себе:
- ФИО исполнителя, номер группы и номер варианта задания.
- Текстовый файл в формате PDF, содержащий описание проведенных исследований.
- Все исходные коды с необходимыми комментариями.
- Дополнительные комментарии или материалы, если необходимо.
Исходные коды должны включать в себя реализацию оценки распределений в виде отдельных функций. Прототип для функции оценки распределения для модели 2 имеет следующий вид:
Оценка распределения | ||||
---|---|---|---|---|
[p, c, m, v] = p2c_ad(a, d, params) | ||||
ВХОД | ||||
| ||||
ВЫХОД | ||||
|
Прототипы функций для других распределений выглядят аналогично. Если в распределении переменных до или после | несколько, то в названии функции они идут в алфавитном порядке. Функция для оценки распределения для модели 3 имеет название p3b_ad, а входной параметр
является одномерным массивом длины
.
Генерация из распределения | ||||
---|---|---|---|---|
d = m3_generate(N, a, b, params) | ||||
ВХОД | ||||
| ||||
ВЫХОД | ||||
|
Распределение студентов по вариантам
Студентам, которые не нашли себя в этом списке, следует написать письмо по адресу bayesml@gmail.com с запросом номера варианта. В этом письме не забудьте указать свою фамилию и номер группы.
2-ой курс | 3-ий курс | 4-ый курс | 5-ый курс и др. | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Участник | Группа | Вариант | Участник | Группа | Вариант | Участник | Группа | Вариант | Участник | Группа | Вариант | |||
Иванов Петр | 202 | 1 | Карнаухов Денис | 315 | 1 | Головин Антон | 417 | 2 | Логачев Ю.М. | 517 | 1 | |||
Ромов Петр | 202 | 2 | Елшин Денис | 317 | 2 | Ермишин Федор | 421 | 3 | Нокель Михаил | 520 | 2 | |||
Стефонишин Даниил | 202 | 3 | Соколов Евгений | 317 | 3 | Кухаренко А.И. | 421 | 1 | Потапов Даниил | 521 | 2 | |||
Гавриков Михаил | 202 | 3 | Мытрова Марина | 317 | 1 | Третьяков А.И. | 431 | 1 | Петров Александр | 521 | 3 | |||
Дворяков Кирилл | 202 | 1 | Некрасов Константин | 317 | 2 | Понамарев Д.И. | 431 | 2 | Матюнин С.Б. | 521 | 1 | |||
Никитин М.Ю. | 202 | 2 | Новиков Павел | 317 | 3 | Астахов А.Н. | 431 | 3 | Светличный Дмитрий | в/о-2 | 1 | |||
Любич Илья | 205 | 3 | Крючков Станислав | 319 | 1 | Лихобабин С.М. | 431 | 2 | Шаповалов Роман | 622 | 2 | |||
Подорога Анастасия | 205 | 1 | Казаков Илья | 432 | 3 | |||||||||
Грачев Артем | 206 | 1 | ||||||||||||
Гайнуллин А.Ф. | 207 | 3 | ||||||||||||
Потапенко Анна | 207 | 2 | ||||||||||||
Фонарев Александр | 208 | 2 | ||||||||||||
Карев Александр | 209 | 1 | ||||||||||||
Борисов Алексей | 209 | 3 | ||||||||||||
Лобачева Е.М. | 209 | 1 | ||||||||||||
Маллачиев К.А. | 209 | 2 | ||||||||||||
Кузнецов Арсений | 209 | 2 | ||||||||||||
Маянцев Кирилл | 213 | 3 | ||||||||||||
Нимак Владимир | 215 | 1 | ||||||||||||
Иванов Николай | 215 | 2 | ||||||||||||
Баранов Виталий | 215 | 3 | ||||||||||||
Борисов Михаил | 216 | 1 |