Учимся играть в нарды (проект) — различия между версиями
Gusakov (обсуждение | вклад) (→Какие начальные требования?) |
Gusakov (обсуждение | вклад) (→Какие начальные требования?) |
||
Строка 20: | Строка 20: | ||
=== Какие начальные требования? === | === Какие начальные требования? === | ||
Интерес к машинному обучению, желание экспериментировать и упорно работать. | Интерес к машинному обучению, желание экспериментировать и упорно работать. | ||
− | Будет прикольно, но | + | Будет прикольно, но не просто. |
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === |
Версия 17:53, 20 ноября 2015
Ментор | Алексей Гусаков |
Учебный семестр | Весна 2016 |
Учебный курс | 1-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 10 | |
Что это за проект?
Проект заключается в том, чтобы научить компьютер играть в нарды. Делать мы это будем с помощью машинного обучения, причём все знания, которые мы передаём алгоритму минимальные - он знает, какие ходы возможны из какой позиции, а в конце игры узнаёт результат. Оказывается, что за несколько тысяч игр компьютер учится неплохо играть, а при более тщательном подходе обыгрывает человека.
Чему вы научитесь?
Основы машинного обучения, методы линейной регрессии, понятие о нейросетях, temporal-difference learning.
Какие начальные требования?
Интерес к машинному обучению, желание экспериментировать и упорно работать. Будет прикольно, но не просто.
Какие будут использоваться технологии?
c++, gtest, scikit-learn
Темы вводных занятий
Направления развития
Можно совершенствовать алгоритм машинного обучения, находя/генерируя автоматически факторы. Ещё одним развитием проекта является хорошая визуализация игры.
Критерии оценки
4 балл: Написан класс, описывающий позицию, реализованы правила, по которым делаются ходы. + балл (итого 5): Класс хорошо покрыт тестами. + балл (итого 6): Реализован механизм сравнения разных алгоритмов, есть несколько базовых реализаций алгоритма. + балл (итого 7): Реализован алгоритм, основанный на линейной модели, который побеждает все базовые подходы. + 2 балла (итого 9): То же самое, но на основе более глубокой нейоронной сети. + балл (итого 10): Как-то реализована визуализация, в результате чего можно и человеку сразиться с программой.
Также между алгоритмами будет проведён турнир на спецприз от ментора :)
Ориентировочное расписание занятий
В идеале - вечер пятницы или утро субботы.