Skip to content

anton-bannykh/ml-2013

Repository files navigation

НИУ ИТМО, Машинное обучение (осень 2013)

Лабораторные работы по курсу машинного обучения студентов четвертого курса НИУ ИТМО.

Рекомендуемые языки программирования: Python, Matlab(Octave). По согласованию с преподавателем возможны другие варианты.

Схема работы

Работа с репозиторием ведется по схеме fork & pull

Структура каталогов: <имя.фамилия> - папка с личными наработками. Внутренняя организация оставляется на личное усмотрение.

Распознаванию раковых клеток

Блок лабораторных работ по распознаванию раковых клеток cancer.

####1. Линейный перцептрон

Ключевые пункты:

  • загрузка данных,
  • разделение на обучающую и тестовую выборку,
  • обучение классификатора,
  • вычисление ошибки обучения на тестовых данных,
  • вычисление точноcти и полноты классификации.

####2. Метод опорных векторов (SVM) Реализуйте алгоритм. Регуляризационную константу C выберите при помощи кросс-валидации.

Ключевые пункты:

  • обучение классификатора,
  • вычисление ошибки обучения на тестовых данных,
  • выбор параметра алгоритма при помощи кросс-валидации.

####3. Метод опорных векторов с ядрами (SVM + Kernel trick) Реализуйте алгоритм. Для решения задачи оптимизации используйте SMO. Сравните результаты для полиномального и гауссово ядра.

Ключевые пункты:

  • решение задачи оптимизации,
  • параметризация алгоритма функцией ядра.

####4. Метод логистической регрессии Реализуйте алгоритм. Регуляризационный параметр λ подберите при помощи кросс-валидации.

Ключевые пункты:

  • метод логистической регрессии,
  • регуляризация.

####5. Нейронные сети Реализуйте алгоритм. В качестве функции активации используйте логистическую функцию. При помоще кросс-валидации выберите оптимальные параметры сети (число слоев, вершин, λ).

Ключевые пункты:

  • feedforward neural network,
  • backpropagation.

Рекомендательные системы

Блок лабораторных работ по рекомендательным системам.

Реализуйте один из рекомендательных алгоритмов для задачи predict. Алгоритмы на выбор:

  • SVD
  • Asymmetric SVD
  • SVD++
  • neighborhood (kNN или оптимизация)
  • integrated model

Оптимизация с помощью SGD, ALS или ALS1. Параметры моделей (learning rate и регуляризаторы) подберите при помощи кросс-валидации. См. подробное описание алгоритмов в статьях (Koren, 2008), (Bell, Koren, 2007), (Pilaszy et al., 2010). Другие алгоритмы разрешается использовать по предварительному согласованию.

Рекомендуемые языки программирования для выполнения данного задания:

  • python
  • octave
  • c++
  • java

Для проверки алгоритмов используются данные MovieLens. Приемка решений осуществляется на основании RMSE на тестовой выборке (плюс ревью кода). Для зачета лабораторной необходимо получить RMSE меньше 1.

Автору лучшего решения в качестве бонуса достается автоматический зачет лабораторных работ.

About

NRU ITMO CTDDEV Machine Learning course - Fall 2013

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published