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

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

У вас есть какие-то данные, и вы хотели бы знать правило, лежащее в основе этих данных, модель, по которой эти данные работают. Давайте представим, что у вас есть 2D-плоскость и несколько точек информации на ней. Моделью этих данных будет линия, которая лучше всего описывает эти точки. Ну, вы можете просто соединить точки, кажется, правильно? Неа. Это ничего или почти ничего не значит. Нельзя обобщать. А обобщение лежит в основе машинного обучения. Следующий вопрос. Как нарисовать линию, описывающую точки, а не просто соединяющую их? Имея модель более низкой сложности, которая не может соединить точки, потому что она не может так быстро перемещаться по точкам. И последний вопрос. Как вы на самом деле проводите линию? Ну, есть что-то, называемое ошибкой наименьшего квадрата, и если вы объедините ее с параметризованной функцией (это наша линия) и оптимизируете эту ошибку (сделав ее минимально возможной), вы должны получить свою линию.

Когда у вас больше параметров, это уже не линия, а плоскость и т. д. (вообще-то сложно представить что-то более сложное, чем плоскость)

Итак, в чем смысл всего этого? Что ж, когда у вас есть модель, вы можете делать прогнозы или управлять какой-то машиной.

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

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

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

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

Вернемся к примеру с самого начала. Вы бы сначала изолировали часть изображения фильма, указывающую на колесо и элементы управления, и каким-то образом сопоставили это с реальными контроллерами. Кроме того, вам придется выделить часть кинокартины, где показано космическое пространство. Это будет служить для уклонения от объектов в открытом космосе, и это будет вводом в вашу модель. Часть, где показаны контроллеры, будет выводом. Вероятно, ваше предположение о том, куда повернуть колесо, должно быть основано на многих предыдущих изображениях космического пространства, поэтому придется использовать модель запоминания прошлого (например, RNN). Вероятно, есть еще какие-то предостережения, которые я пропустил.

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