Machine Learning and Data Analysis (Strijov practice)/Group 074, Fall 2013

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

(Различия между версиями)
Перейти к: навигация, поиск
(Задачи)
(Задачи)
Строка 4: Строка 4:
Проекты с готовой Web-частью располагаются по адресу http://mvr.jmlda.org
Проекты с готовой Web-частью располагаются по адресу http://mvr.jmlda.org
-
== Задачи ==
+
== Problems ==
{|class="wikitable"
{|class="wikitable"
|-
|-
-
! Автор
+
! Author
-
! Название задачи
+
! Problem name
-
! Ссылка
+
! Link
![BMF]LSICUDTPRWS
![BMF]LSICUDTPRWS
-
! Сумма
+
! Total
-
! Оценка
+
! Grade
|-
|-
|Bunakov Vasiliy
|Bunakov Vasiliy
-
|Signature Recognition
+
|Fraud Signature Recognition Using SVM Method
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Bunakov2013SignatureRecognition/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Bunakov2013SignatureRecognition/]
| [BM+F]L+SI+CU-DTPRWS
| [BM+F]L+SI+CU-DTPRWS
Строка 29: Строка 29:
|-
|-
|Voronov Sergey
|Voronov Sergey
-
|Google Steet View text detection and recognition
+
|Google Steet View Text Detection and Recognition
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Voronov2013TextRecognition/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Voronov2013TextRecognition/]
| [BM+F]LS-I+CU+DTP+R-W+S--
| [BM+F]LS-I+CU+DTP+R-W+S--
Строка 36: Строка 36:
|-
|-
|Grinchuk Oleg
|Grinchuk Oleg
-
|Macroeconomic conditions forecasting
+
|Macroeconomic Conditions Forecasting
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Grinchuk2013InverseVAR/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Grinchuk2013InverseVAR/]
| [BMF]L-SI-C-0DTPRWS
| [BMF]L-SI-C-0DTPRWS
Строка 57: Строка 57:
|-
|-
|Zhuykov Vladimir
|Zhuykov Vladimir
-
|Signature Recognition
+
|Fraud Signature Recognition
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Zhuykov2013SignatureRecognition/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Zhuykov2013SignatureRecognition/]
| [B]L--0I-->>>>>
| [B]L--0I-->>>>>
Строка 78: Строка 78:
|-
|-
|Kasatkin Sergey
|Kasatkin Sergey
-
|Determination of the type of human activity based on the data from the accelerometer
+
|Determination of the Type of Human Activity Based on the Data from the Accelerometer
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kasatkin2013Accelerometer/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kasatkin2013Accelerometer/]
| [B]L-S-I-->>>000
| [B]L-S-I-->>>000
Строка 85: Строка 85:
|-
|-
|Katrutsa Aleksandr
|Katrutsa Aleksandr
-
|Search engine results ranking
+
|Search Engine Results Ranking
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Katrutsa2013PageRank/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Katrutsa2013PageRank/]
| [BM+F]L+SI+CUDTPR+W+S
| [BM+F]L+SI+CUDTPR+W+S
Строка 92: Строка 92:
|-
|-
|Kolchanov Andrey
|Kolchanov Andrey
-
|The financial bubbles definition in the stock data
+
|The Financial Bubbles Detection in The Stock Data
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kolchanov2013FinancialBubbles/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kolchanov2013FinancialBubbles/]
| [B]0S-I->>>
| [B]0S-I->>>
Строка 106: Строка 106:
|-
|-
|Kotenko Lengold Ekaterina
|Kotenko Lengold Ekaterina
-
|Satellite imagery processing for NDVI estimation
+
|Satellite Imagery Processing for NDVI Estimation
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kudryashova.Kotenko.NDVI/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kudryashova.Kotenko.NDVI/]
| [BMF-]L-S-IC-UD--000W--S--
| [BMF-]L-S-IC-UD--000W--S--
Строка 113: Строка 113:
|-
|-
|Kudryashova Aleksandra
|Kudryashova Aleksandra
-
|Satellite imagery processing for NDVI estimation
+
|Satellite Imagery Processing for NDVI Estimation
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kudryashova.Kotenko.NDVI/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Kudryashova.Kotenko.NDVI/]
| [BMF-]L-S-IC-UD--000W--S--
| [BMF-]L-S-IC-UD--000W--S--
Строка 120: Строка 120:
|-
|-
|Levdik Pavel
|Levdik Pavel
-
|Electricity prices forecasting
+
|Electricity Prices Forecasting
| [https://svn.code.sf.net/p/mlalgorithms/code/Group074/Levdik2013Forecasting/]
| [https://svn.code.sf.net/p/mlalgorithms/code/Group074/Levdik2013Forecasting/]
| [BM+]L-SIC--U-D->PR-W>
| [BM+]L-SIC--U-D->PR-W>
Строка 127: Строка 127:
|-
|-
|Matrosov Mikhail
|Matrosov Mikhail
-
|Short-term forecasting of musical compositions
+
|Short-term Forecasting of Musical Compositions
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Matrosov2013MusicForecasting/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Matrosov2013MusicForecasting/]
| [BF]L-SIC--UDT>>W+S
| [BF]L-SIC--UDT>>W+S
Строка 134: Строка 134:
|-
|-
|Mityashov Andrey
|Mityashov Andrey
-
|Unstructured social data processing in classification problem
+
|Unstructured Social Data Processing in Classification Problem
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Mityashov2013ClassificationSocialData/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Mityashov2013ClassificationSocialData/]
| [M+F]L+SI--C-UDT--P00S-
| [M+F]L+SI--C-UDT--P00S-
Строка 141: Строка 141:
|-
|-
|Neklyudov Kirill
|Neklyudov Kirill
-
|Face recognition
+
|Face Recognition
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Neklyudov2013FacialKeypointsDetection/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Neklyudov2013FacialKeypointsDetection/]
| [BM+F]LS-I+CU-DTPR-WS-
| [BM+F]LS-I+CU-DTPR-WS-
Строка 148: Строка 148:
|-
|-
|Perekrestenko Dmitriy
|Perekrestenko Dmitriy
-
|Human activity recognition
+
|Human Activity Recognition Using Deep Learning
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Perekrestenko2013Accelerometer/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Perekrestenko2013Accelerometer/]
| [BM+F]L-SI-CU-DTPRW+S
| [BM+F]L-SI-CU-DTPRW+S
Строка 155: Строка 155:
|-
|-
|Prilepskiy Roman
|Prilepskiy Roman
-
|Text Location and recognition on Google Street View Images.
+
|Text Detection on Google Street View Images.
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Prilepskiy2013GoogleStreetView/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Prilepskiy2013GoogleStreetView/]
| [B]L+00>>>000
| [B]L+00>>>000
Строка 162: Строка 162:
|-
|-
|Pushnyakov Aleksey
|Pushnyakov Aleksey
-
|Color image segmentation
+
|Color Image Segmentation
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Pushnyakov2013ImageSegmentation/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Pushnyakov2013ImageSegmentation/]
| [BM+F]L+S+I+C+UDT+P+R+W+S
| [BM+F]L+S+I+C+UDT+P+R+W+S
Строка 169: Строка 169:
|-
|-
|Ryskina Mariya
|Ryskina Mariya
-
|Topic modeling using PLSA
+
|Topic Modeling Using PLSA algorithm
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Ryskina2013TopicModelPLSA/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Ryskina2013TopicModelPLSA/]
| [BM+F]L-S+I+CUDT+PR+W+S
| [BM+F]L-S+I+CUDT+PR+W+S
Строка 176: Строка 176:
|-
|-
|Stenin Sergey
|Stenin Sergey
-
|Detection of topically similar abstracts of scientific conference
+
|Detection of Topically Similar Abstracts of Scientific Conference
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Stenin2013Clustering/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Stenin2013Clustering/]
| [B]L+S+I+CUD
| [B]L+S+I+CUD
Строка 183: Строка 183:
|-
|-
|Urzhumtsev Oleg
|Urzhumtsev Oleg
-
|Similar conferences abstract search
+
|Similar Conferences Abstract Search
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Urzhumtsev2013Dictionary/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Urzhumtsev2013Dictionary/]
| [BM+F]L-S-IC>D>>R--WS
| [BM+F]L-S-IC>D>>R--WS
Строка 190: Строка 190:
|-
|-
|Feyzkhanov Rustem
|Feyzkhanov Rustem
-
|Email filter generation
+
|Email Filter Generation
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Feyzkhanov2013FilterEmail/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Feyzkhanov2013FilterEmail/]
| [BM+F-]LS-IC--U->(D-T)>>PR
| [BM+F-]LS-IC--U->(D-T)>>PR
Строка 197: Строка 197:
|-
|-
|Shuyskiy Nikolay
|Shuyskiy Nikolay
-
|Melody recognition
+
|Melody Recognition using Spectral Analysis
| [https://svn.code.sf.net/p/mlalgorithms/code/Group074/Shuyskiy2013MelodyRecognition/]
| [https://svn.code.sf.net/p/mlalgorithms/code/Group074/Shuyskiy2013MelodyRecognition/]
| [B]0S-0>>>>>
| [B]0S-0>>>>>
Строка 204: Строка 204:
|-
|-
|Yashkov Daniil
|Yashkov Daniil
-
|Face detection
+
|Face Detection Using Viola-Jones
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Yashkov2013FaceDetection/]
|[https://svn.code.sf.net/p/mlalgorithms/code/Group074/Yashkov2013FaceDetection/]
| [M+F]L-S-IC->>>UDTP
| [M+F]L-S-IC->>>UDTP

Версия 17:03, 24 декабря 2013

Main article: Machine Learning and Data Analysis (Strijov practice, in Russian)


Проекты с готовой Web-частью располагаются по адресу http://mvr.jmlda.org

Problems

Author Problem name Link [BMF]LSICUDTPRWS Total Grade
Bunakov Vasiliy Fraud Signature Recognition Using SVM Method [1] [BM+F]L+SI+CU-DTPRWS 14.5
Vdovina Evgeniya Visualization of Results of Keyword Groups Mapping [2] [BF]L-S+I+C0DT-0R-0S 9.75
Voronov Sergey Google Steet View Text Detection and Recognition [3] [BM+F]LS-I+CU+DTP+R-W+S-- 14.25
Grinchuk Oleg Macroeconomic Conditions Forecasting [4] [BMF]L-SI-C-0DTPRWS 12.25
Dubovik Anna Classification and Exploring of Source Code of Python Projects. [5] [M]L0I-->>>000
Zhelavskaya Irina Automatic Filters Generator for Gmail [6] [BM+]LS->>>>>00I
Zhuykov Vladimir Fraud Signature Recognition [7] [B]L--0I-->>>>>
Ivanov Sergey Personalize Expedia Hotel Searches [8] [B]+L-SI+>>
Ivanov Aleksandr Detecting Unsolicited SMS Messages [9] [BM+]LSIC->>U>DTPR
Kasatkin Sergey Determination of the Type of Human Activity Based on the Data from the Accelerometer [10] [B]L-S-I-->>>000
Katrutsa Aleksandr Search Engine Results Ranking [11] [BM+F]L+SI+CUDTPR+W+S 15.25
Kolchanov Andrey The Financial Bubbles Detection in The Stock Data [12] [B]0S-I->>>
Kostin Aleksandr Classify Handwritten Digits [13] [B]L+S-IS-
Kotenko Lengold Ekaterina Satellite Imagery Processing for NDVI Estimation [14] [BMF-]L-S-IC-UD--000W--S-- 8.5
Kudryashova Aleksandra Satellite Imagery Processing for NDVI Estimation [15] [BMF-]L-S-IC-UD--000W--S-- 8.5
Levdik Pavel Electricity Prices Forecasting [16] [BM+]L-SIC--U-D->PR-W> 9.75
Matrosov Mikhail Short-term Forecasting of Musical Compositions [17] [BF]L-SIC--UDT>>W+S 9.5
Mityashov Andrey Unstructured Social Data Processing in Classification Problem [18] [M+F]L+SI--C-UDT--P00S- 10
Neklyudov Kirill Face Recognition [19] [BM+F]LS-I+CU-DTPR-WS- 13.5
Perekrestenko Dmitriy Human Activity Recognition Using Deep Learning [20] [BM+F]L-SI-CU-DTPRW+S 13.75
Prilepskiy Roman Text Detection on Google Street View Images. [21] [B]L+00>>>000
Pushnyakov Aleksey Color Image Segmentation [22] [BM+F]L+S+I+C+UDT+P+R+W+S 16.25
Ryskina Mariya Topic Modeling Using PLSA algorithm [23] [BM+F]L-S+I+CUDT+PR+W+S 15.25
Stenin Sergey Detection of Topically Similar Abstracts of Scientific Conference [24] [B]L+S+I+CUD
Urzhumtsev Oleg Similar Conferences Abstract Search [25] [BM+F]L-S-IC>D>>R--WS 10.25
Feyzkhanov Rustem Email Filter Generation [26] [BM+F-]LS-IC--U->(D-T)>>PR
Shuyskiy Nikolay Melody Recognition using Spectral Analysis [27] [B]0S-0>>>>>
Yashkov Daniil Face Detection Using Viola-Jones [28] [M+F]L-S-IC->>>UDTP

Sсhedule

Date Result To discuss Code
September 18 Select a problem, an advisor. machinelearning.ru record. -
25 Collect literature, write comments. Bibliography list, mini-report. Literature
October 2 Problem statement (synthetic data). Write mathematical statement in TeX-format. ~1 page of text (problem statement) Statement
9 Create report file. Make project description. Describe architecture and main system interfaces (synthetic data). Description, IDEF0. Idef
16 Detail interfaces, write a code (first version). Code (synthetic data). Code
23 Write Unit tests with a launch module. Unit tests. Unit-test
30 Collect real data. Finish IDEF0-schema. Write loading data modules. Data, second IDEF0-schema, modules. Data
November 6 Write and launch system tests. Write a review on a project. Tests, review. Tests
13 Optimize the code. Profiler report before and after. Profiler
20 Make visualization report. Finished technical report. Report
27 Develop web interface. Code on a site. Web
December 4 Make user interface and examples. Report. Show

Work and consultations

  1. Finish each work in a week.
  2. Each work is desirable to be submitted several times before deadline.
  3. Deadline of the last version: Tuesday, 6:00am.
  4. Elapsed week time will be added to the report.
  • Each work stage + 1 point (А--, А-, А, А+, А++),
  • Undone work stage - 0.

Home tasks

Literature

  1. . Complete section 1.1.2 "Motivation" of SysDocs;
  2. . Complete section 1.1.3 "Literature";
  3. . Prepare 40-second oral report on a problem.

Statement

Compose problem statement (using LaTeX). Here[29] is a "template" of problem statement:

And here are some examples from the class presentation, it's strictly recommended to review all of them before starting:

[30] [31] [32] [33] [34] [35] [36] [37] [38] [39]

Also you can review several articles from JMLDA journal archive [40].

Idef

  1. Correct problem statement in case if necessary.
  2. Write down the abstract according to plans and (section 1.1.1 Systemdocs)
  3. Design two layer IDEF0 diagram (sections 1.2.2, 1.2.3 Systemdocs), preferably separating learning stage from final utilization stage.
  4. Describe general data formats and structures(section 1.4 Systemdocs)
  5. Describe modules interfaces (section 2 Systemdocs)

Some useful links that can help:

  1. MATLAB Programming Style Guidelines[41]
  2. IDEF0[42]
  3. Function heading style example[43]
  4. System of notations[44](файл Strijov2013Notation.pdf)

Code

  1. Create launchable source code
  2. But to complete this task you also need to rewrite in more detailed view all modules interfaces (section 2 Systemdocs) and function headings.

Unit-test

  1. Create final version of code for project basement: launchable code should evaluate project results in "one click".
  2. Write unit tests for each module, according to the manual.

Data

1. Доделать IDEF0: детализировать блок обработки пользовательских данных, сделать второй уровень детализации. Второй уровень посвящен проверке адекватности пользовательских данных на: 1) наличие вирусов в теле загружаемых данных (воздерживаться от выполнения команд, находящихся в теле файлов, например, mpeg), 2) тип загружаемого файла, 3) величину загружаемого файла, 4) допустимость времени расчетов, сложности алгоритма распознавания (не более 15 сек, в противном случае обсуждается вариант фонового выполнения алгоритма или отправка результатов по почте), 5) допустимость объема памяти (желательно не более 200 МБ), 6) адекватность структуры входных данных (алгоритм не должен возвращать неадекватные результаты получив неадекватные данные, желательно сообщать о таком случае).


2. В папке data собрать реальные данные, предназначенные для демонстрации работы алгоритма (и, возможно, для тестирования, если объем данных невелик). При большом объеме данных в эту папку записываются файлы со ссылками в интернет, где можно скачать большую выборку. Вариант: ссылка находится в загрузчике данных. Подготовить описание данных в systemdocs.

3. Подготовить модель загрузки и проверки пользовательских данных. Модуль должен загружать один пользовательский файл.

На заметку Основные работы при системном тестировании и анализе ошибок 1. Проверить, насколько адекватны данные. 2. Насколько адекватны модели (переобученность, сложность, устойчивость, точность и прочие способы сравнения моделей). 3. Насколько адекватны полученные результаты. Собственно анализ ошибок (например, анализ регрессионных остатков). 4. Насколько адекватно работает техническая система (время работы, сходимость алгоритмов оптимизации, устойчивость при получении похожих результатов на похожих выборках).

Способы вычисления сложности алгоритма. Вариант 1, теоретический. 1. Оцениваете сложность алгоритма, например O(n ln n) 2. Оцениваете константу в О(). 3. Рассчитываете, сколько времени понадобится для обработки пользовательского файла.

Вариант 2, технический. 1. Измеряете время работы алгоритма на выборках разной величины. 2. Строите график объем выборки / время. 3. Подбираете регрессионную функцию, строите регрессию. 3. Рассчитываете, сколько времени понадобится для обработки пользовательского файл

Tests

  1. Write a review using a plan provided below and place it into a file named like YourSurname2013ReviewSurname
  2. Prepare 1-minute speech
  3. Create system tests: test data sets, module (script) for launching. Put the reference to this module in section 5.2 of SystemDocs file.

Review plan:

  1. Shortly - what is the main topic, what do you think the most important it this project, aim of the project comparing with similar projects, how can you apply the results of the project (is it actual? important ?)
  2. Project strengths (what positively surprise you?) and weaknesses (what should be considered in a more detailed way)
  3. Project details: clarity of project description in SystemDocs, ProblemStatement; code readability, interfaces usability, tests coverage.
  4. Conclusion

Profiler

Используя профайлер, предлагается оптимизировать узкие места в коде. Проделанную работу описать в секции 5.3 systemdocs, используя отчеты профайлера и вставляя комментарии о проделанной работе.

Узкие места - те фрагменты кода, которые занимают значительное время при выполнении вычислительного эксперимента. Требуется показать, что при достигнуты улучшения кода при замене циклов на матричные операции или показать, что код достаточно хорошо оптимизирован. При этом необходимо в отчет вставить наиболее значимые строки из отчета профайлера. Это как правило, первые 10-15 строк. Копировать можно из html-отчета профайлера или воспользоваться функцией profile. В ней есть пример, как сохранить отчет профайлера в удобном формате. При оптимизации кода можно вставить в отчет те измерения кода, которые вы считаете удачными.

Также при оптимизации рекомендуется пользоваться функцией parfor - параллельный for. См. документацию "doc parfor" и пример, где показано как включать параллельный режим. Совет: конструкции вида x = x+1 или x(end+1) = y и подобные конструкции не распараллеливаются. Чтобы избежать таких конструкций, надо заранее создавать структуры/матрицы требуемого размера. Параллельные вычисления работают в Матлабе начиная с версии 2012.

Пример >> matlabpool(3) >> tic; parfor i=1:3, c(:,i) = eig(rand(1000)); end; toc Elapsed time is 3.712837 seconds. >> tic; for i=1:3, c(:,i) = eig(rand(1000)); end; toc Elapsed time is 5.807167 seconds.

Report

Using the results of system tests and the computational experiment, aimed to provide error rate analysis, create plots and tables with some clarifications, and put it into section 5.2 of system docs. Please identify different parts of this report with help of paragraphs named adequately.

  1. Required parts of the mentioned computational experiment:
  2. Visualization of the procedure of model selection and structural parameters optimization
  3. Visualization of the resulting model or algorithm, visualization of the applied method of optimization, dependence of the lost function or quality criterion on the level of inserted noise or on other factors.
  4. Visualization of obtained error rate in "web" section. (also plot or table)

Web

The folder "web" should contain next mandatory files:

  1. File "config.json" (name and extension should be the same). Fill this file using example placed in folder "Group074/Kuznetsov2013SSAForecasting/web/"
  2. File "main.m" with one argument variable and one resulting variable: html = main(filname), where filename is a text string containing file name, and html is text string containing visual "web" report in html format.
  3. File "test.csv" (you can use another extension), This file should contain test object (text, time series, image, sound, video, etc.) for forecasting.
  4. Other files, that are required for function "main" (in particular file with parameters and structural parameters of forecasting model/algorithm)

For testing purposes it is strongly recommended to launch function writeHTML. It calls function "main('test.csv')" and save results into "out.html". This file should contain either "web" report about results of forecasting or error massage about some trouble with forecasting (types of errors were considered in data loading section).

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