Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Группа 174, осень 2014

Материал из MachineLearning.

Перейти к: навигация, поиск


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

Анализ свойств включает следующие основные элементы:

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

Результат:

  • модуль для построения модели (на языке Matlab),
  • вычислительный эксперимент, системные тесты: анализ свойств модели (то же),
  • юнит-тесты (на двух языках)
  • модуль эксплуатации модели, код на языке эксплуатации (С, ++, #, Phyton, Java, CUDA, Ruby, VHDL, ...),
  • конструкторская документация в формате Systemdocs, в частности:
    • мотивация проекта,
    • формальная постановка задачи,
    • IDEF модуля построения модели,
    • IDEF модуля эксплуатации модели,
    • описание интерфейсов,
    • описание системных тестов и их результатов,
    • описание юнит-тестов,
    • анализ производительности.

Эксплуатация модели предлолагается в одном из вариантов, доступных для широкого круга пользователей:

  • Модуль на Google Play / Apple Store,
  • Модуль на сервере mvr.jmlda.org
  • Модуль на другом открытом веб-сервисе.

Мотивация

Время работы человека гораздо ценнее времени работы компьютера. Поэтому мы работаем следующим образом

1) делаем вычислительные эксперименты на Матлабе,

2) полученные модели переписываем на том языке, на котором модели будут эксплуатироваться. Это может быть VHDL, в котором результатом

компиляции является микросхема-процессор специального назначения увеличивающий скорость вычисления в миллионы раз, CUDA для видеопроцессоров, Java для телефонов, PL-SQL для систем коллективного пользования, Rubi on Rails для интернета.

Мы будем использовать тот инструмент, который позволит одну строку научной статьи представить в виде одной строки кода. Сейчас есть один такой инструмент - Matlab. Возможно, таковым станет Mathematica для сложных постановок задач машинного обучения и анализа данных.

Личные инструменты