Машинное обучение 1/Группа 145 РС — различия между версиями
Материал из Wiki - Факультет компьютерных наук
Aumnov (обсуждение | вклад) (Новая страница: «== Семинары == Материалы для повторения см. на [http://wiki.cs.hse.ru/Машинное_обучение_1 главной стр…») |
Aumnov (обсуждение | вклад) (→Общая информация) |
||
(не показано 13 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | == Общая информация == | ||
+ | |||
+ | Время для консультаций (по предварительной договоренности): | ||
+ | * Среда 11:00 - 12:00, 13:30 - 14:30 | ||
+ | * Пятница 11:00 - 12:00, 13:40 - 15:00 | ||
+ | аудитория 623 | ||
+ | |||
+ | Почта: alexeyum@gmail.com | ||
+ | |||
== Семинары == | == Семинары == | ||
Материалы для повторения см. на [http://wiki.cs.hse.ru/Машинное_обучение_1 главной странице курса] | Материалы для повторения см. на [http://wiki.cs.hse.ru/Машинное_обучение_1 главной странице курса] | ||
− | === Семинар 1 (09.09). Вводные понятия. | + | === Семинар 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. === | ||
+ | |||
+ | Дополнительные упражнения на темы прошлого семинара: [https://www.dropbox.com/s/6t9djpoapkspgkb/%D0%94%D0%BE%D0%BF.%20%D1%83%D0%BF%D1%80%D0%B0%D0%B6%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%BB%D1%8F%20numpy%2C%20matplotlib%2C%20pandas.pdf?dl=0 упражнения], [https://www.dropbox.com/s/2ghqfsnn20fe2uk/titanic.csv?dl=0 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 можно вычислить эффективно. | ||
+ | * Загрузите [https://www.dropbox.com/s/18i7lqac9rr4pnx/banki_responses.json.bz2?dl=0 датасет] отзывов о работе банков. Обозначьте отзывы с оценками 4-5 как положительные и 1-3 как отрицательные. Приведите тексты к нижнему регистру, уберите все символы, кроме кириллицы, превратите тексты в признаки с помощью TF-IDF. Обучите линейную регрессию на этих данных. | ||
+ | * В предыдущем задании изучите, какие слова в наибольшей степени влияют на ответ. | ||
+ | * * Проведите стемминг текстов с помощью nltk.stem.snowball.RussianStemmer() и еще раз проведите классификацию. Сравните результаты. | ||
+ | |||
+ | === Семинар 7 (21.10). Решающие деревья. Калибровка вероятности === | ||
+ | |||
+ | Упражнения на дом (в случае затруднений см. тетрадку семинара 7 на главной курса): | ||
+ | * Покажите, что оценка качества разбиения с помощью максимального правдоподобия порождает энтропийный критерий для решающих деревьев. | ||
+ | (Вывод частично был на лекции, нужно провести все преобразования). | ||
+ | * Сгенерируйте набор точек на плоскости. Создайте из них датасет, где координаты точки являются ее признаками, а | ||
+ | модуль суммы координат - ответом. | ||
+ | * Обучите на них решающее дерево и изобразите его значения на точках плоскости. | ||
+ | * Исследуйте, как меняется дерево в зависимости от глубины. | ||
+ | * Исследуйте, как меняется дерево при изменении 10% выборки (5%, 1%). | ||
+ | * Загрузите стандартный датасет с ценами в Бостоне (sklearn.datasets.load_boston). | ||
+ | * Подберите с помощью кросс-валидации наилучшие параметры решающего дерева для него. |
Текущая версия на 22:33, 1 ноября 2016
Содержание
- 1 Общая информация
- 2 Семинары
- 2.1 Семинар 1 (09.09). Вводные понятия. Инструменты numpy, pandas, matplotlib.
- 2.2 Семинар 2 (16.09). Векторное дифференцирование. Знакомство с sklearn.
- 2.3 Семинар 3 (23.09). Предобработка: категории, пропуски, нормализация. Минимизация функции потерь.
- 2.4 Семинары 4 и 5 (07.10 и 08.10). Линейная классификация. Метрики качества, ROC, PR, AUC. Валидация. SVM.
- 2.5 Семинар 6 (14.10). Работа с текстом, TF-IDF, разреженные матрицы.
- 2.6 Семинар 7 (21.10). Решающие деревья. Калибровка вероятности
Общая информация
Время для консультаций (по предварительной договоренности):
- Среда 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).
- Подберите с помощью кросс-валидации наилучшие параметры решающего дерева для него.