Что читать, смотреть и где учиться машинному обучению

 
На русском сайте StackOverflow в вопросе о хороших книгах по математике и машинному обучению сформировали список материалов, с которых стоит начать изучение этой предметной области.

Для тех, кто хочет на русском языке почитать:

  1. Петер Флах Машинное обучениеисточникОглавление и отрывки из глав
  2. Джеймс Г., Уиттон Д., Хасти Т., Тибширани Р. Введение в статистическое обучение с примерами на языке RисточникОглавление и отрывки из глав
  3. Себастьян Рашка Python и машинное обучениеисточник
  4. Хенрик Бринк, Джозеф Ричардс Машинное обучениеисточник
  5. Хараламбос Марманис, Дмитрий Бабенко Алгоритмы интеллектуального Интернета. Передовые методики сбора, анализа и обработки данныхисточник
  6. К. В. Воронцов. Математические методы обучения по прецедентам (теория обучения машин)источник
  7. Мерков А.Б. Введение в методы статистического обученияисточник
  8. Аркадий Гелиг, Алексей Матвеев Введение в математическую теорию обучаемых распознающих систем и нейронных сетей. Учебное пособиеисточник
  9. Мерков А.Б. Построение и обучение вероятностных моделейисточник
  10. Ричарт В., Коэльо П.Л. Построение систем машинного обучения на языке PythonисточникОглавление и отрывки из глав (тут больше практика по машинному обучению)
  11. Вьюгин В. Математические основы машинного обучения и прогнозированияисточник
  12. Червоненкис А.Я. Теория обучения машин
  13. Ричард С. Саттон, Эндрю Г. Барто Обучение с подкреплениемисточник
  14. Андреас Мюллер, Сара Гвидо Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с даннымиисточник
  15. Дэви Силен, Арно Мейсман Основы Data Science и Big Data. Python и наука о данныхисточник
  16. Лепский А.Е., Броневич А.Г. Математические методы распознавания образов: Курс лекцийисточник
  17. Донской В. И. Алгоритмические модели обучения классификации:обоснование, сравнение, выбористочник
  18. Местецкий Л.М. Математические методы распознавания образов Курс лекцийисточник
  19. Кристофер Д. Маннинг, Прабхакар Рагхаван Введение в информационный поискисточник
  20. Юре Лесковец, Ананд Раджараман Анализ больших наборов данныхисточникоглавление и отрывки из глав
  21. Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучениеисточникоглавление и отрывки из глав
  22. Шлезингер М.И. Десять лекций по статистическому и структурному распознаванию образовисточник

Для тех, кто хочет на русском языке посмотреть:

Прежде чем заниматься конкретно машинным обучением, рекомендую всё же ознакомится с книгами

  • Стюарт Рассел, Питер Норвиг Искусственный интеллект. Современный подходисточник
  • Джордж Ф. Люгер Искусственный интеллект. Стратегии и методы решения сложных проблемисточник

Таким образом у вас сформируется более четкое понимание предметной области машинного обучения и сильно расширит ваш кругозор. Нейронные сети занимают важную позицию в машинном обучении, поэтому стоит ознакомиться с книгой

  • Саймон Хайкин Нейронные сети. Полный курсисточник

Так же вы должны уметь производить предварительный анализ данных, что бы понять, какие методы машинного обучения можно применить к вашему набору данных или как его лучше подготовить. В этом вам помогут следующие книги:

  • Борис Миркин Введение в анализ данных. Учебник и практикумисточник
  • Марина Архипова, Татьяна Дуброва Анализ данных. Учебникисточник
  • Загоруйко Н.Г. Прикладные методы анализа данных и знанийисточник
  • Мостеллер Ф., Тьюки Дж. Анализ данных и регрессияисточник
  • Рубан А.И. Методы анализа данных
  • Уэс Маккинни Python и анализ данныхисточник (практика)
  • Роберт И. Кабаков R в действии. Анализ и визуализация данных на языке Rисточник (практика)

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

  • Стивен Х. Строгац Удовольствие от x. Увлекательная экскурсия в мир математики от одного из лучших преподавателей в миреисточник
  • Юрий Шиханович Введение в современную математику. Начальные понятияисточник
  • Рональд Л. Грэхем, Дональд Эрвин Кнут Конкретная математика. Математические основы информатикиисточник
  • Юрий Пухначев Математика без формулкнига1книга2
  • Риxард Курант, Герберт Роббинс Что такое математика? источник
  • Тарасов Л.В. Азбука математического анализа. Беседы об основных понятиях. Учебное пособиеисточник

На любителя:

  • Занимательная статистика. Манга: источник
  • Занимательная статистика. Регрессионный анализ. Манга: источник
  • Занимательная математика. Производные и интегралы. Манга: источник
  • Занимательная статистика. Факторный анализ. Манга: источник

Потом уже можно браться за стандартный учебник математического анализа

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

Статистика, теория вероятностей:

  • Гнеденко Б.В., Хинчин А.Я. Элементарное введение в теорию вероятностейисточник
  • Сара Бослаф Статистика для всехисточник
  • Чарльз Уилан Голая статистика. Самая интересная книга о самой скучной наукеисточник
 

Предлагаем вам подборку из 10 бесплатных книг (она опубликована на сайте thepixelbeard.com и переведена каналом “Библиотека программиста”), с помощью которых вы сможете узнать, могут ли компьютеры учиться.

1. The Elements Of Statistical Learning : Data Mining, Inference and Prediction

Книга позволит получить концептуальные основы в машинном обучении. Авторами данной книги являются T.Hastie, R. Tibshirani, J.Friedman.

2. Inductive Logical Programming

Индуктивная логика является темой машинного обучения. Она используется в области исследований на пересечении машинного обучения и логического программирования.

3. Reinforcement Learning : An introduction by Richard S. Sutton, Andrew G. Barto

С помощью этой книги пользователь сможет получить основные знания в машинном обучении.

4. Information Theory, Inference and Learning Algorithms

Это электронная книга David J.C. Mackay, в которой вы найдете арифметическое кодирование для сжатия данных, разреженные графовы коды коррекции ошибок и многое другое.

5. Gaussian Processes for Machine Learning

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

6. The LION Way

Авторы данной книги Roberto Battiti и Mauro Brunato. Данная книга была написана таким образом, что она помогает пользователям в машинном обучении и интеллектуальной оптимизации.

7. Bayesian Reasoning and Machine Learning

Это книга написана David Barber и содержит такие темы, как линейная алгебра и исчисление. Эта книга помогает пользователям узнать передовые технологии в рамках графических моделей.

8. A Course In Machine Learning

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

9. Machine Learning, Neural And Statistical Classification

Книга направлена на обзор различных современных подходов и классификаций.

10. Introduction To Machine Learning

Книга включает в себя различные темы машинного обучения, которые помогают людям проводить золотую середину между теорией и практикой.

Дополнительно о машинном обучении

11. Видеолекции курса «Машинное обучение»

Записи лекций Школы Анализа Данных Яндекса.

10 Best Free Machine Learning Ebooks
10 Best Free Machine Learning Ebooks
  • 2016.02.23
  • Anand Singh
  • thepixelpedia.com
Machine learning is a vast topic that has gained much importance in the recent past. It is topic that is grabbing attention of geeky nerds. For all those of you who have started with Machine learning or planning to do will find our today’s topic quite useful. Ofcourse, it is difficult to learn and if I say is a hard nut to crack but then with little help, you can easily make a strong hold and enjoy machine learning. It might scare you all with difficcult words but when you start understanding it, you will indeed find it interesting. If
 

Курс "Введение в машинное обучение" на русском языке в Coursera.

Кладезь информации по машинному обучению на русском языке: http://www.machinelearning.ru


Введение в машинное обучение | Coursera
Введение в машинное обучение | Coursera
  • www.coursera.org
Введение в машинное обучение from Higher School of Economics, Yandex School of Data Analysis. Не так давно получил распространение термин «большие данные», обозначивший новую прикладную область — поиск способов автоматического быстрого анализа ...
 
Vladimir Perervenko:
Я могу добавить свои источники по МО?

Да.

Будет замечательно, если все желающие добавят своих ссылок с кратким описанием.

 
Комментарии, не относящиеся к этой теме, были перенесены в "Интеграция MQL и R".
 

Если про машинное обучение, то смотрим 

CRAN Task View: Machine Learning & Statistical Learning


Тупо делаю копипаст - пусть будет на этой сайте:

  • Neural Networks and Deep Learning : Single-hidden-layer neural network are implemented in package nnet (shipped with base R). Package RSNNS offers an interface to the Stuttgart Neural Network Simulator (SNNS). An interface to the FCNN library allows user-extensible artificial neural networks in package FCNN4Rrnn implements recurrent neural networks. Packages implementing deep learning flavours of neural networks include darch (restricted Boltzmann machine, deep belief network), deepnet (feed-forward neural network, restricted Boltzmann machine, deep belief network, stacked autoencoders), RcppDL (denoising autoencoder, stacked denoising autoencoder, restricted Boltzmann machine, deep belief network) and h2o (feed-forward neural network, deep autoencoders).
  • Recursive Partitioning : Tree-structured models for regression, classification and survival analysis, following the ideas in the CART book, are implemented in rpart (shipped with base R) and tree. Package rpart is recommended for computing CART-like trees. A rich toolbox of partitioning algorithms is available in Weka , package RWeka provides an interface to this implementation, including the J4.8-variant of C4.5 and M5. The Cubist package fits rule-based models (similar to trees) with linear regression models in the terminal leaves, instance-based corrections and boosting. The C50 package can fit C5.0 classification trees, rule-based models, and boosted versions of these. 
    Two recursive partitioning algorithms with unbiased variable selection and statistical stopping criterion are implemented in package party. Function ctree() is based on non-parametrical conditional inference procedures for testing independence between response and each input variable whereas mob() can be used to partition parametric models. Extensible tools for visualizing binary trees and node distributions of the response are available in package party as well. 
    Tree-structured varying coefficient models are implemented in package vcrpart
    For problems with binary input variables the package LogicReg implements logic regression. Graphical tools for the visualization of trees are available in package maptree
    Trees for modelling longitudinal data by means of random effects is offered by package REEMtree. Partitioning of mixture models is performed by RPMM
    Computational infrastructure for representing trees and unified methods for predition and visualization is implemented in partykit. This infrastructure is used by package evtree to implement evolutionary learning of globally optimal trees. Survival trees are available in various package,LTRCtrees allows for left-truncation and interval-censoring in addition to right-censoring.
  • Random Forests : The reference implementation of the random forest algorithm for regression and classification is available in package randomForest. Package ipred has bagging for regression, classification and survival analysis as well as bundling, a combination of multiple models via ensemble learning. In addition, a random forest variant for response variables measured at arbitrary scales based on conditional inference trees is implemented in package partyrandomForestSRC implements a unified treatment of Breiman's random forests for survival, regression and classification problems. Quantile regression forests quantregForest allow to regress quantiles of a numeric response on exploratory variables via a random forest approach. For binary data, LogicForest is a forest of logic regression trees (package LogicReg. The varSelRF and Borutapackages focus on variable selection by means for random forest algorithms. In addition, packages ranger and Rborist offer R interfaces to fast C++ implementations of random forests. Reinforcement Learning Trees, featuring splits in variables which will be important down the tree, are implemented in package RLTwsrf implements an alternative variable weighting method for variable subspace selection in place of the traditional random variable sampling.
  • Regularized and Shrinkage Methods : Regression models with some constraint on the parameter estimates can be fitted with the lasso2 and lars packages. Lasso with simultaneous updates for groups of parameters (groupwise lasso) is available in package grplasso; the grpreg package implements a number of other group penalization models, such as group MCP and group SCAD. The L1 regularization path for generalized linear models and Cox models can be obtained from functions available in package glmpath, the entire lasso or elastic-net regularization path (also in elasticnet) for linear regression, logistic and multinomial regression models can be obtained from package glmnet. The penalized package provides an alternative implementation of lasso (L1) and ridge (L2) penalized regression models (both GLM and Cox models). Package biglassofits Gaussian and logistic linear models under L1 penalty when the data can't be stored in RAM. Package RXshrink can be used to identify and display TRACEs for a specified shrinkage path and to determine the appropriate extent of shrinkage. Semiparametric additive hazards models under lasso penalties are offered by package ahaz. A generalisation of the Lasso shrinkage technique for linear regression is called relaxed lasso and is available in package relaxo. Fisher's LDA projection with an optional LASSO penalty to produce sparse solutions is implemented in package penalizedLDA. The shrunken centroids classifier and utilities for gene expression analyses are implemented in package pamr. An implementation of multivariate adaptive regression splines is available in package earth. Variable selection through clone selection in SVMs in penalized models (SCAD or L1 penalties) is implemented in package penalizedSVM. Various forms of penalized discriminant analysis are implemented in packages hdarda, and sda. Package LiblineaR offers an interface to the LIBLINEAR library. The ncvreg package fits linear and logistic regression models under the the SCAD and MCP regression penalties using a coordinate descent algorithm. High-throughput ridge regression (i.e., penalization with many predictor variables) and heteroskedastic effects models are the focus of the bigRR package. An implementation of bundle methods for regularized risk minimization is available form package bmrm. The Lasso under non-Gaussian and heteroscedastic errors is estimated by hdm, inference on low-dimensional components of Lasso regression and of estimated treatment effects in a high-dimensional setting are also contained. Package SIS implements sure independence screening in generalised linear and Cox models.
  • Boosting and Gradient Descent : Various forms of gradient boosting are implemented in package gbm (tree-based functional gradient descent boosting). Package xgboost implements tree-based boosting using efficient trees as base learners for several and also user-defined objective functions. The Hinge-loss is optimized by the boosting implementation in package bst. Package GAMBoost can be used to fit generalized additive models by a boosting algorithm. An extensible boosting framework for generalized linear, additive and nonparametric models is available in package mboost. Likelihood-based boosting for Cox models is implemented in CoxBoost and for mixed models in GMMBoost. GAMLSS models can be fitted using boosting by gamboostLSS. An implementation of various learning algorithms based on Gradient Descent for dealing with regression tasks is available in package gradDescent.
  • Support Vector Machines and Kernel Methods : The function svm() from e1071 offers an interface to the LIBSVM library and package kernlab implements a flexible framework for kernel learning (including SVMs, RVMs and other kernel learning algorithms). An interface to the SVMlight implementation (only for one-against-all classification) is provided in package klaR. The relevant dimension in kernel feature spaces can be estimated using rdetools which also offers procedures for model selection and prediction. Package gmum.r offers an R interface to LIBSVM and SVMLight.
  • Bayesian Methods : Bayesian Additive Regression Trees (BART), where the final model is defined in terms of the sum over many weak learners (not unlike ensemble methods), are implemented in package BayesTree. Bayesian nonstationary, semiparametric nonlinear regression and design by treed Gaussian processes including Bayesian CART and treed linear models are made available by package tgpMXM implements variable selection based on Bayesian networks.
  • Optimization using Genetic Algorithms : Packages rgp and rgenoud offer optimization routines based on genetic algorithms. The package Rmalschains implements memetic algorithms with local search chains, which are a special type of evolutionary algorithms, combining a steady state genetic algorithm with local search for real-valued parameter optimization.
  • Association Rules : Package arules provides both data structures for efficient handling of sparse binary data as well as interfaces to implementations of Apriori and Eclat for mining frequent itemsets, maximal frequent itemsets, closed frequent itemsets and association rules. Packageopusminer provides an interface to the OPUS Miner algorithm (implemented in C++) for finding the key associations in transaction data efficiently, in the form of self-sufficient itemsets, using either leverage or lift.
  • Fuzzy Rule-based Systems : Package frbs implements a host of standard methods for learning fuzzy rule-based systems from data for regression and classification. Package RoughSets provides comprehensive implementations of the rough set theory (RST) and the fuzzy rough set theory (FRST) in a single package.
  • Model selection and validation : Package e1071 has function tune() for hyper parameter tuning and function errorest() (ipred) can be used for error rate estimation. The cost parameter C for support vector machines can be chosen utilizing the functionality of package svmpath. Functions for ROC analysis and other visualisation techniques for comparing candidate classifiers are available from package ROCR. Packages hdi and stabs implement stability selection for a range of models, hdi also offers other inference procedures in high-dimensional models.
  • Other procedures : Evidential classifiers quantify the uncertainty about the class of a test pattern using a Dempster-Shafer mass function in package evclass. The OneR (One Rule) package offers a classification algorithm with enhancements for sophisticated handling of missing values and numeric data together with extensive diagnostic functions. spa combines feature-based and graph-based data for prediction of some response.
  • Meta packages : Package caret provides miscellaneous functions for building predictive models, including parameter tuning and variable importance measures. The package can be used with various parallel implementations (e.g. MPI, NWS etc). In a similar spirit, package mlr offers a high-level interface to various statistical and machine learning packages. Package SuperLearner implements a similar toolbox. The h2o package implements a general purpose machine learning platform that has scalable implementations of many popular algorithms such as random forest, GBM, GLM (with elastic net regularization), and deep learning (feedforward multilayer networks), among others.
  • Elements of Statistical Learning : Data sets, functions and examples from the book The Elements of Statistical Learning: Data Mining, Inference, and Prediction by Trevor Hastie, Robert Tibshirani and Jerome Friedman have been packaged and are available as ElemStatLearn.
  • GUI rattle is a graphical user interface for data mining in R.
  • Visualisation (initially contributed by Brandon Greenwell) The stats::termplot() function package can be used to plot the terms in a model whose predict method supports type="terms". The effects package provides graphical and tabular effect displays for models with a linear predictor (e.g., linear and generalized linear models). Friedman’s partial dependence plots (PDPs), that are low dimensional graphical renderings of the prediction function, are implemented in a few packages. gbmrandomForest and randomForestSRC provide their own functions for displaying PDPs, but are limited to the models fit with those packages (the function partialPlot from randomForest is more limited since it only allows for one predictor at a time). Packages pdpplotmo, and ICEbox are more general and allow for the creation of PDPs for a wide variety of machine learning models (e.g., random forests, support vector machines, etc.); both pdp and plotmo support multivariate displays (plotmo is limited to two predictors while pdp uses trellis graphics to display PDPs involving three predictors). By default, plotmo fixes the background variables at their medians (or first level for factors) which is faster than constructing PDPs but incorporates less information. ICEbox focuses on constructing individual conditional expectation (ICE) curves, a refinement over Friedman's PDPs. ICE curves, as well as centered ICE curves can also be constructed with the partial() function from the pdp package. ggRandomForests provides ggplot2-based tools for the graphical exploration of random forest models (e.g., variable importance plots and PDPs) from the randomForest and randomForestSRC packages.
CRAN Task View: Machine Learning & Statistical Learning
  • cran.r-project.org
Several add-on packages implement ideas and methods developed at the borderline between computer science and statistics - this field of research is usually referred to as machine learning. The packages can be roughly structured into the following topics: Neural Networks and Deep Learning : Single-hidden-layer neural network are implemented...
 

Напоминаю, что каждый пакет в R содержит некоторый набор функций, а документация по функциям В ОБЯЗАТЕЛЬНОМ порядке имеет ссылку на описание алгоритма соответствующей функции, что исключает всякие разговоры про "черный ящик". Кроме этого таким образом можно получить список ОТКРЫТОЙ литературы, которая имеет программную реализацию. Это свойство R очень выгодно отличает эту систему, от публикаций на русском, в которых крайне редко содержится программная реализация. 

 

Это только в R.

На сегодня R является частью программного обеспечения майкрософт,а там имеется машинное обучение как отдельный раздел. К сожалению, я с ним крайне мало знаком. может найдется человек, который знаком с этой частью Майкрософт.

 

Добавлю несколько видео по освоению R и основам машинного обучения.

Читайте статьи по машинному обучению на этом сайте с примерам. Так проще и быстрее осваивается язык.

Удачи

The Guerrilla Guide to Machine Learning with R
The Guerrilla Guide to Machine Learning with R
  • Matthew Mayo
  • www.kdnuggets.com
Sure, there are lots of tutorials and overviews on gaining the insight you need into picking up machine learning, but many (most?) of them take the long view: get a foundation first, learn the basics next, then learn a bit of complementary theory before getting too far ahead of yourself in practical terms, take a step back, try your hand at a...
 

Так а что же с Nvidia? Хоть бы Сан Саныч  высказался, наверняка все знает из данных внешней разведки. Сан Санычь, колитесь уже, мы не сдадим!

Причина обращения: