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

Но он колебался… даже боялся. Исходя из нетехнического образования, он счел огромной задачей изучить статистические методы, лежащие в основе машинного обучения и науки о данных. Я не хотел, чтобы он так думал. Итак, мне пришлось быстро и точно объяснить ему ML, поэтому я не отговариваю его от рассмотрения этой области. Я бы очень хотел, чтобы кто-нибудь (и каждый) попробовал это и решил для себя, продолжать это или нет.

Итак, вот что я ему сказал:

Попытаться заставить машину обучаться можно только ограниченным количеством способов (конечно, методов много). Вы собираете данные о некотором значении (скажем, z), которое вы хотите, чтобы машина узнала, и передавайте данные машине. Затем вы указываете ему (через код) нанести данные на график (предположим, что мы собираем данные о переменных x и y, которые влияют на определение z, то есть вы изобразите его на двухмерном графике с x и y. как оси). Теперь попробуйте провести линию через нанесенные точки таким образом, чтобы она одновременно проходила как можно ближе ко всем точкам. Это означает, что вы пытаетесь минимизировать абсолютную длину перпендикулярной линии, проведенной между точкой и линией (что является ошибкой). Как только мы это сделаем, у нас будет условие, которое минимизирует ошибки (или наилучшим образом соответствует данным). Найдите уравнение этой линии и вуаля… линейная регрессия.

Теперь все, что осталось, - это собрать информацию о двух характеристиках (x и y) нового экземпляра рассматриваемой информации (z) и вставить ее в уравнение, которое мы должны получить для прогноза на основе нашей модели. Конечно, будет ошибка (фактическое значение может упасть выше или ниже линии), но мы можем получить довольно точную оценку ответа, если минимизируем ошибку при первоначальной подгонке данных.

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

Это все, что есть в машинном обучении. Метод подгонки линии (прямой, изогнутой или волнистой) или поиска функции, которая наилучшим образом отражает взаимосвязь между набором данных, собранных по различным (релевантным) объектам. Ошибка сводится к минимуму путем выбора функции стоимости (в нашем случае перпендикулярного расстояния от точки на графике до подобранной линии… или, точнее, квадрата этого расстояния для линейной регрессии - подробнее об этом позже). Хотя здесь я говорил о линейной регрессии, которая представляет собой метод обучения с учителем, большинство из этих принципов применимо и к неконтролируемому, полууправляемому обучению и обучению с подкреплением, хотя и с некоторыми собственными изменениями.

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