Техносфери Mail.Ru — три роки


Сьогодні виповнилося три роки з моменту запуску одного з наших освітніх проектів — Техносфери Mail.Ru, з'явився спільно з факультетом ВМК МГУ ім. Ломоносова. Програма Техносфери розрахована на підготовку фахівців у сфері великих даних. Спочатку вона була розрахована на один рік і складалася з шести дисциплін. Проте через рік ми переглянули програму і зробили її дворічної. Протягом чотирьох семестрів студенти вивчають 12 дисциплін, виконуючи великий обсяг практичних робіт. Заодно був розроблений підготовчий курс «Алгоритми та структури даних».

В Техносферу приймають студентів 2-4-х курсів. Незважаючи на те що схема вступних іспитів у всі наші освітні проекти однакова (студенти здають онлайн-тест і проходять очна співбесіда), в Техносфери ми більше орієнтуємося на базові знання з вищої математики. Крім читання лекцій ми створили лабораторію, де студенти працюють з реальними завданнями, з якими ми стикаємося в Mail.Ru Group. Наприклад, намагаються покращити аналітичні алгоритми, створити певні евристики. Тобто роблять все те ж саме, що вони робили б під час звичайної стажування в компанії. З осені 2015 року в лабораторії почали проводити наукові дослідження. Наприклад, вивчаються можливості застосування нейронних мереж для вирішення тих чи інших бізнес-завдань.

І в честь дня народження ми викладаємо список навчальних матеріалів, які рекомендовані до вивчення нашим студентам протягом всього дворічного курсу.


Курс: Алгоритми інтелектуальної обробки великих обсягів даних


Лекції, статті та інші матеріали

Блог mathematical monk
Large-Scale High-Precision Topic Modeling on Twitter
Порівняння кластерних алгоритмів
Курс лекцій Carnegie Mellon за статистикою: Data Mining, лекція 22
Добірка матеріалів по IPython і Jupyter
Стаття з теорії інформації Visual Information Theory
Блог Сергія Ніколенко на Хабре
Learning representations by back-propagating errors
Руслан Салахутдінов — Deep Learning
Yahoo! Hadoop Tutorial
Tentative NumPy Tutorial
100 вправ з NumPy
CRISP-DM User Guide
Керівництво IBM CRISP-DM
MapReduce: Simplified Data Processing on Large Clusters

Література

Pattern Recognition and Machine Learning
Тут описані алгоритми логічного виводу, що дозволяють отримати швидкі зразкові відповіді, коли це припустимо в конкретних ситуаціях. Для опису розподілу ймовірностей використовуються графічні моделі.

Data Mining Practical Machine Learning Tools and Techniques
У книзі описуються концепції машинного навчання і даються практичні поради щодо застосування інструментів і методик у реальних задачах аналізу даних.

Introduction to Information Retrieval
Книга вчить ефективно отримувати інформацію за допомогою пошуку в мережі, класифікації та кластеризації тексту. Тут розглянуті всі аспекти проектування і реалізації систем збору, індексування і пошуку документів, методики створення розвиваються систем, застосування машинного навчання для роботи з текстовими колекціями.

Mining of Massive Datasets
Тут акцент зроблено на практичні алгоритми, використовувані для вирішення ключових проблем в аналізі даних. Автори пояснюють різні хитрощі, пов'язані з хешуванням, чутливим до локальності, і з алгоритмами обробки швидко надходять даних. Також порушені питання веба, пошуку частих наборів об'єктів та кластеризації.

Pattern Classification
Книга присвячена нейронних мереж, статистичного розпізнавання патернів, теорії машинного навчання та теорії инвариантностей. Також наведені практичні приклади та порівняння різних методів.

Machine Learning: a Probabilistic Perspective
Книга являє собою введення в машинне навчання на базі уніфікованого імовірнісного підходу.

An Introduction to Data Science
Книга для тих, хто робить перші кроки в обробці даних. Представлені приклади коду на R для вирішення різних цікавих завдань.

Data Mining and Knowledge Discovery Handbook
Тут описані ключові ідеї, теорії, стандарти, методології, тенденції, складності та методи застосування інтелектуального аналізу даних.

Stochastic Gradient Descent Tricks
Це перша глава книги «Neural Networks, Tricks of the Trade», в ній розглядається метод стохастичного зворотного поширення для навчання нейронних мереж. По суті, це різновид методики стохастичного градієнтного спуску.

Neural Networks and Learning Machines (3rd Edition)
В книзі розглядаються сучасні методики застосування нейронних мереж з інженерної точки зору. Приклади коду на Matlab можна скачати звідси.

The elements of statistical learning
Тут описані важливі ідеї у сфері статистики, обробки даних, машинного навчання та біоінформатики.

Ensemble Methods: Foundations and Algorithms
У книзі описуються теорія і алгоритми машинного навчання, від простих до більш складних.

Курс: Введення в аналіз даних


Лекції, статті та інші матеріали

Time Series Analysis and Its Applications: With R Examples
Математична статистика
R: Аналіз і візуалізація даних
Документація по R
IRkernel
Seaborn: statistical data visualization
SF GIS Crime
Керівництво по Apache Maven
JUnit
Керівництво по Java
Лямбда-вирази в Java 8
Відкриті дані уряду США
Дані соціологічної служби США
Дані ООН
Портал відкритих даних для ЄС
Dive into Python
Документація Python
CRISP-DM User Guide
Керівництво IBM CRISP-DM

Література

R в дії. Аналіз і візуалізація даних на мові R
Це керівництво по навчання мові R з особливою увагою до практичних завдань. У книзі представлені корисні приклади статистичної обробки даних, описані витончені методи роботи з заплутаними і неповними даними, а також з даними, розподіл яких відмінно від нормального і з якими важко впоратися традиційними методами. Ви також оволодієте великими графічними можливостями для візуального дослідження і представлення даних.

Статистичний аналіз і візуалізація даних за допомогою R
Сьогодні мова R є безумовним лідером серед вільно розповсюджуваних систем статистичного аналізу. Провідні університети світу, аналітики найбільших компаній і дослідницьких центрів регулярно використовують R при проведенні науково-технічних розрахунків і створення великих інформаційних проектів. Широке викладання статистики на базі цієї системи та всебічна підтримка науковим співтовариством зумовили те, що приведення коду скриптів на мові R поступово стає загальновизнаним стандартом як в журнальних публікаціях, так і при неформальному спілкуванні вчених всього світу.

Data science for business
Ви дізнаєтеся, як поліпшити взаємодію між бізнесом та фахівцями у сфері обробки інформації, як вписати обробку даних в бізнес-процеси компанії, як розвинути мислення в стилі аналізу даних, як використовувати наукові методи при прийнятті бізнес-рішень і т. д.

Курс: Поглиблене програмування на C/C++


Лекції, статті та інші матеріали

Як почати працювати з GitHub: швидкий старт
Налагодження програм за допомогою GDB
Робота з Valgrind
Операційна середовище ОС UNIX для вивчають програмування
Введення в операційні системи

Література

Programming with POSIX Threads
Книга дасть вам розуміння потоків і розкриє можливості цього режиму програмування для використання в реальних проектах. Тут докладно розглядається стандарт інтерфейсу ОС IEEE — потоки POSIXAE (Portable Operating System Interface), часто звані Pthreads. Розрахована на досвідчених З-програмістів.

Linux System Programming: Talking Directly to the Kernel and C Library
Це керівництво з системного програмування під Linux, мануал по системним викликам та допомога по грамотному написанню швидкого коду.

Advanced Programming in the UNIX Environment
Ця книга вже більше 20 років є настільною для програмістів під UNIX. В останньому виданні інформація актуалізована. Автор послідовно веде читачів, працюючи з файлами і директоріями процесами, обробляючи сигнали і термінальні команди I/O. Також розглядаються потоки і багатопоточне програмування.

Мистецтво програмування для Unix
У книзі описується хороший стиль Unix-програмування, різноманіття доступних мов, їх переваги і недоліки, різні IPC-методики і інструменти розробки. Автор аналізує філософію Unix, культуру та основні традиції сформованого навколо неї співтовариства. У книзі пояснюються найкращі практичні прийоми проектування і розробки програм в Unix.

Разом з тим описані в книзі моделі і принципи багато в чому корисні й Windows-розробникам. Особливо розглядаються стилі користувальницьких інтерфейсів Unix-програм та інструменти для їх розробки. Окрема глава присвячена опису принципів та інструментів для створення гарної документації.

Курс: Багатопотокове програмування на С/С++


Лекції, статті та інші матеріали

Керівництво по Beej
Fast portable non-blocking network programming with Libevent
FD for passing DRI.Next
Документація по nanomsg
Корисні матеріали по С++

Література

Програмування для Unix
Це практичне керівництво допоможе вивчити особливості системних викликів для різних реалізацій UNIX і UNIX-подібних систем, що дозволить створювати універсальні портируемые програми. Розглядається межпроцессное і мережеву взаємодію, термінальний і файловий ввід-висновок, управління сигналами, багатопоточність, робота в реальному часі і багато іншого.

Стівенс У. UNIX. Розробка мережевих додатків
Книга присвячена створенню веб-серверів, клієнт-серверних додатків або будь-якого іншого мережевого програмного забезпечення в операційній системі UNIX. У книгу включено опис ключових сучасних стандартів, реалізацій та методів.

Джефф Елджер. C++: Бібліотека програміста
З книги можна дізнатися про нетривіальних можливості одного з найгеніальніших об'єктно-орієнтованих мов. Автор розповідає про тонкощі програмування на C++, про специфічні проблеми, що виникають при розробці програмних систем, і про способи їх вирішення.

Курс: Інформаційний пошук. Частина 1


Лекції, статті та інші матеріали

Список бібліотек та фреймворків, які допоможуть в обробці природної мови:
NLTK
Freeling
Gensim

мовні Нейронні моделі дистрибутивної семантиці
Обробка тексту
Deep Structured Semantic Model / Deep Semantic Similarity Model
Learning Deep Structured Semantic Models for Web Search using Clickthrough Data

Література

Foundations of Statistical Natural Language Processing (Голова Collocations
Книга є введенням в статистичну обробку природних мов. Тут представлена теорія і алгоритми для створення необхідних інструментів.

Курс: Методи обробки великих обсягів даних


Лекції, статті та інші матеріали

Стилізація зображень за допомогою нейронних мереж: ніякої містики, просто матан
Convolution Arithmetic in Deep Learning. Part 2
Understanding the difficulty of training deep feedforward neural networks
A guide to convolution arithmetic for deep learning
A Neural Algorithm of Artistic Style
TensorFlow VGG-16 pre-trained model
Inception in TensorFlow
Efficient BackProp
Delving Deep into Rectifiers: Surpassing Human Level Performance on ImageNet Classification
Dropout: A Simple Way to Prevent Neural Networks from Overfitting
Batch Normalization: Accelerating Deep Training Network by Reducing Internal Covariate Shift
An overview of gradient descent optimization algorithms
A Practical Guide to Training Restricted Boltzmann Machines
Neural Networks and Learning Machines (3rd Edition)
A beginner's Guide To Understanding Convolutional Neural Networks
A beginner's Guide To Understanding Convolutional Neural Networks. Part 2
The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3)
Spatial Transformer Networks
A Neural Algorithm of Artistic Style
Playing Atari with Deep Reinforcement Learning
A Neural Conversational Model
Нейромережа DCGAN (2)
Jupyter notebook
Awesome TensorFlow
Tensor with unspecified dimension in tensorflow
What's the difference of name scope and a variable scope in tensorflow?
A tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the «echo state network» approach
Finding Structure in Time
The Unreasonable Effectiveness of Recurrent Neural Networks
Generating Text with Recurrent Neural Networks
Deep Captioning with Multimodal Recurrent Neural Networks (m-RNN)
Composing Music with LSTM Recurrent Networks — Blues Improvisation
Hubel & Wiesel
Когнитрон і неокогнітрон
Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition
LeNet-5, convolutional neural networks
Convolutional Neural Networks (LeNet)
ImageNet Classification with Deep Convolutional Neural Networks
Very Deep Convolutional Networks for Large-Scale Image Recognition
Classifying plankton with deep neural networks
Visualizing and Understanding Convolutional Networks
Transfer Learning
Learning representations by back-propagating errors
A Growing Neural Gas Network Learns Topologies
Learning multiple layers of representation
An Introduction to information retrieval
Active Learning to Rank
Semi supervised learning tutorial
Combining labeled and unlabeled data with co-training
Neural Networks for Machine Learning
Variational Inference
Explaining «Explaining away»
A fast learning algorithm for deep belief nets
Semantic hashing
Dropout: A Simple Way to Prevent Neural Networks from Overfitting
Rectified Linear Units Improve Restricted Boltzmann Machines
A Practical Guide to Training Restricted Boltzmann Machines
Exponential Family Harmoniums with an Application to Information Retrieval
Gaussian-binary Restricted Boltzmann Machines on Modeling Natural Image Statistics
Improved Learning of Gaussian-Bernoulli Restricted Boltzmann Machines
Learning Deep Architectures for AI
Підручник «для новачків» за нейросетям
Calculus on Computational Graphs: Backpropagation
Стаття з теорії інформації Visual Information Theory
A Step by Step Backpropagation Example

Література

http://www.deeplearningbook.org
Це керівництво для студентів і практиків, яке допоможе освоїтися в сфері машинного навчання взагалі і глибинного навчання зокрема.

Курс: Методи розподіленого опрацювання великих обсягів даних в Hadoop
Лекції, статті та інші матеріали

Writing an Hadoop MapReduce Program in Python

Курс: Інформаційний пошук. Частина 2


Лекції, статті та інші матеріали

Список бібліотек та фреймворків, які допоможуть в обробці природної мови:

мовні Нейронні моделі дистрибутивної семантиці
Обробка тексту
Deep Structured Semantic Model / Deep Semantic Similarity Model
Learning Deep Structured Semantic Models for Web Search using Clickthrough Data

* * *

А якщо вам мало цих матеріалів, то нагадуємо, що актуальні лекції та майстер-класи про програмуванні від наших фахівців у проектах Технопарк, Техносфера і Технотрек як і раніше, публікуються на каналі Технострим. В наявності наступні курси Техносфери:

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.