Требуется решить задачу классификации рукописных цифр c использованием алгоритма kNN.
MNIST: http://yann.lecun.com/exdb/mnist/
MINST в формате CSV: https://www.kaggle.com/oddrationale/mnist-in-csv
Реализация kNN классификатора дожна быть выполнена самостоятельно на языке Python. Можно использовать только встроенный функционал и базовые операции над векторами и матрицами из библиотеки Numpy.
- Выполнить реализацию kNN классификатора. Раздел
2. kNN classifier implementation
в шаблонеtask1_template.ipynb
. - Доказать корректность реализации (сравнить с реализацией из scikit-learn). Раздел
3. Check correctness (compare with exist implementations)
в шаблонеtask1_template.ipynb
. - Использовать несколько метрик, сконструировать несколько признаков (к примеру, HOG, Projection Histograms (handcrafted features), deep network's features).
- Выполнить подбор гиперпараметров. Раздел
5. Find hyper-parameters
в шаблонеtask1_template.ipynb
. - Указать наилучшую конфигурацию и достигнутое качество на тестовом датасете. Раздел
6. Results
в шаблонеtask1_template.ipynb
.
- Выполнена реализация kNN, удовлетворяющая указанным требованиям, доказана корректность.
- Реализованный классификатор применен к решению задачи на датасете MNIST, получено качество на тестовом датасете.
- Достигнутое качество на тестовом датасете.
- Сложность и количество построенных признаков.
- Необходимо отправить письмо с заголовком "Deep Learning - Task 1" на e-mail [email protected].
- К письму необходимо прекрепить ipynb (все внешние зависимости должны быть указаны в notebook'е) и pdf/html с решением задачи. Файлы должны называться
ФамилияИмя.ipynb
,ФамилияИмя.html
, например:SidnevAlexey.ipynb
.
Deadline: 23:59 8.10.2020