avlasov (avlasov) wrote,
avlasov
avlasov

Categories:

Machine learning vs statistics

Встретил тут выражение, что machine learning - это типа статистика минус тестирование гипотез.
Вобщем-то если посмотреть на методы машин лёрнинг - то это и правда обычно что-то взятое из статистики, ну и правда без тестирования гипотез.
Однако, это все-таки несколько разные вещи, несмотря на то, что действительно можно считать, что методы машин лёрнинг взяты из статистики (основные уж точно).

Но есть и разница. Ибо машин лёрнинг работает с большим кол-вом фич (колонок) и большим кол-вом данных (рядов). Была еще по этому поводу шутка, что если кол-во переменных не больше трех, то это статистика.

При этом возникает несколько проблем:
1 если много фич, то стандартные формулы могут требовать крайне трудоемких вычислительных задач, типа обращения матриц
2 если очень много данных, то тоже можно затрахаться считать, особенно если фич тоже много
3 есть проблемы с визуализацией. потому как визуализировать можно двух и трехмерные данные
4 есть конкретные проблемы с тестированием гипотез, по мере роста кол-ва фич

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

При этом отмечу, что кол-во фич может вырасти не только потому, что они были в исходных данных, но и к примеру, если мы добавили производных фич, типа к примеру умножили фичи друг на друга в разных комбинациях, типа к x1 x2 x 3 добавили x1^2 x1x2 x2^2 x1x3 x2x3 x3^2. Итого 100 исходных фич могут легко превратится в 5000.

Таким образом, машин лёрнинг не есть статистика, а некий набор методов работы в случае больших объемов данных, как по кол-ву фич, так и в кол-ву тестовых наборов. Т.е. базовые методы взяты из статистики, но адаптированы под проблему обработки большого кол-ва данных. При этом чем больше данных, тем больше шансов, что даже простой алгоритм найдет какие-то закономерности. И традиционные методы статистики могут быть просто неприменимы к огромным кол-вом данных из-за вычислительных проблем.

К примеру, рассмотрим линейную регрессию. Допустим у нас 10^5 фич. Ну типа чтобы посчитать коэфф регрессии по формуле, надо обратить матрицу, т.е. 10^15 операций. Что-то как-то многовато. Хотя конечно решаемо, на современных супер-компах (и даже на ГПУ). Но с подбором параметров возиться будет уже напряжно.
Но можно применить итерационные методы решения линейных урованений, чтобы получить приблизительное решение, тут будет типа C*10^10. Правда еще надо посчитать матрицу, которую обращать, что кагбэ тоже займет время, но типа ее можно посчитать разок, а потом например подбирать параметр регуляризации.
Но если кол-во рядов очень большое (десятки сотни миллионов) то трудно будет посчитать и матрицу, которую надо обратить. Ибо это N*N*M. Т.е. надо юзать стохастический градиентный спуск.

Вобщем я бы не сказал, что машин лёрнинг - это статистика, только попримитивнее. Основные методы безусловно взяты из статистики. Но подход к работе все-таки другой. При этом статистики конечно могут посмеиваться, но что делать, если данные огромного размера и даже современные компы не способны их переварить? Но способны их нагенерить. Количество переходит в качество.
Subscribe

  • StatMod и ML

    Рассмотрим, чем полезен StatMod в плане инженерии ML и почему "преподаваемый" ML тут проигрывает. Под "преподаваемым" ML я имею в…

  • Инженерность в DataScience

    Когда я пишу что инженерность в ML слабо развита, это не значит что ее нет вообще. Точнее будет сказать, что в DataScience (некая объемлющая…

  • Основные вопросы в инженерии МЛ

    По своему опыту я выделяю следующие основные вопросы/проблемы, которые возникают при решении практических МЛ задач. Какую задачу мы решаем? Ту ли…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments