Машинное обучение 1/Группа 145 РС

Материал из Wiki - Факультет компьютерных наук
Версия от 22:33, 1 ноября 2016; Aumnov (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Общая информация

Время для консультаций (по предварительной договоренности):

  • Среда 11:00 - 12:00, 13:30 - 14:30
  • Пятница 11:00 - 12:00, 13:40 - 15:00

аудитория 623

Почта: alexeyum@gmail.com

Семинары

Материалы для повторения см. на главной странице курса

Семинар 1 (09.09). Вводные понятия. Инструменты numpy, pandas, matplotlib.

Упражнения на дом:

  • Сгенерируйте матрицу 5x5 со случайными числами от 0 до 1. Найдите индексы ячеек со значениями меньше 0.2.
  • Создайте матрицу 5x5 с числами, такими, что в ячейке (i, j) стоит число i+j. В задаче нельзя использовать циклы.
  • Постройте график функции exp(|2*x + 3|).
  • Пусть x, y - два вектора. Найдите проекцию вектора x на вектор y.

Семинар 2 (16.09). Векторное дифференцирование. Знакомство с sklearn.

Дополнительные упражнения на темы прошлого семинара: упражнения, titanic.csv

Семинар 3 (23.09). Предобработка: категории, пропуски, нормализация. Минимизация функции потерь.

Семинары 4 и 5 (07.10 и 08.10). Линейная классификация. Метрики качества, ROC, PR, AUC. Валидация. SVM.

Упражнения на дом (в случае затруднений см. тетрадку семинара 4 на главной курса).

  • Скачайте датасет для классификации спама: https://archive.ics.uci.edu/ml/machine-learning-databases/spambase/
  • Разделите выборку на обучение и тест (sklearn.cross_validation.train_test_split)
  • Обучите на нем логистическую регрессию (sklearn.linear_model.LogisticRegression), посчитайте различные метрики для вашего классификатора: правильность, точность, полноту (sklearn.metrics).
  • Постройте ROC-кривую и PR-кривую для этого классификатора, посчитайте для них AUC-значения.
  • Проделайте кросс-валидацию метода (sklearn.cross_validation.KFold)

Семинар 6 (14.10). Работа с текстом, TF-IDF, разреженные матрицы.

Упражнения на дом (в случае затруднений см. тетрадку семинара 6 на главной курса):

  • Даны разреженные матрицы A и B в одном из трех форматов: COO, CSR, CSC. Какое время потребуется для их перемножения в зависимости от форматов? Какая пара форматов самая оптимальная?
  • Дана разреженная матрица A и вектор z. Покажите, что если A представлена в формате CSR или CSC, то выражение Az можно вычислить эффективно.
  • Загрузите датасет отзывов о работе банков. Обозначьте отзывы с оценками 4-5 как положительные и 1-3 как отрицательные. Приведите тексты к нижнему регистру, уберите все символы, кроме кириллицы, превратите тексты в признаки с помощью TF-IDF. Обучите линейную регрессию на этих данных.
  • В предыдущем задании изучите, какие слова в наибольшей степени влияют на ответ.
  • * Проведите стемминг текстов с помощью nltk.stem.snowball.RussianStemmer() и еще раз проведите классификацию. Сравните результаты.

Семинар 7 (21.10). Решающие деревья. Калибровка вероятности

Упражнения на дом (в случае затруднений см. тетрадку семинара 7 на главной курса):

  • Покажите, что оценка качества разбиения с помощью максимального правдоподобия порождает энтропийный критерий для решающих деревьев.

(Вывод частично был на лекции, нужно провести все преобразования).

  • Сгенерируйте набор точек на плоскости. Создайте из них датасет, где координаты точки являются ее признаками, а

модуль суммы координат - ответом.

  • Обучите на них решающее дерево и изобразите его значения на точках плоскости.
  • Исследуйте, как меняется дерево в зависимости от глубины.
  • Исследуйте, как меняется дерево при изменении 10% выборки (5%, 1%).
  • Загрузите стандартный датасет с ценами в Бостоне (sklearn.datasets.load_boston).
  • Подберите с помощью кросс-валидации наилучшие параметры решающего дерева для него.