Skip to content

anton-bannykh/ml-2013

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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