- Вопрос или проблема
- Почему это так?
- Здравый смысл
- Дополнительная заметка
- Ответ или решение
- Отношение между основной функцией и основной вероятностной функцией распределения данных
- Утверждения и их интерпретация
- Взаимосвязь между основной функцией и вероятностным распределением
- Как это работает на практике?
- Необходимые уточнения
- Заключение
Вопрос или проблема
Я слышал и читал множество раз следующие утверждения и с течением времени испытал много путаницы.
Утверждение 1: Цель машинного обучения заключается в том, чтобы получить функцию на основе данных.
Утверждение 2: Цель машинного обучения заключается в том, чтобы найти основную распределительную функцию данных.
Из вышеуказанных двух утверждений я в общем понимаю, что основная функция является функцией распределения вероятностей данных.
Но я не понял связь между функцией распределения вероятностей и функцией, которую мы хотим получить для конкретной задачи.
Давайте рассмотрим следующий пример.
Случайный эксперимент $E$ имеет пространство выборки $\Omega$, и я определил два случайных вектора $X_1, X_2$ в $\Omega$. Я использую нейронную сеть для своей задачи. Область определения нейронной сети — это диапазон $X_1$, и я ожидаю, что диапазон нейронной сети будет соответствовать диапазону $X_2$ с правильным отображением, которое соответствует данным. Пусть $f$ будет той функцией, которую мы хотим, чтобы нейронная сеть стала, преобразующей диапазон $X_1$ в диапазон $X_2$. Предположим, что у меня есть совместная функция вероятности $P(X_1, X_2)$ для моего набора данных.
Теперь, какова связь между действительной функцией $f$, которую мы приближаем с помощью нейронной сети, преобразующей диапазон $X_1$ в диапазон $X_2$, и совместным распределением $P$?
Функция, о которой вы думаете (как в утверждении 1, так и в утверждении 2) является одной и той же функцией. Позвольте мне использовать вашу структуру для ее описания.
Область определения нейронной сети — это диапазон $X_1$, и существует некоторая функция распределения $F_{X1}(x)$, которая описывает, как генерируются значения $X_1$. То же самое справедливо и для $X_2$ и $F_{X2}(x)$. Тогда существует $f$, которое отображает:
$$
f: \mathbf{range}(X_1) \rightarrow \mathbf{range}(X_2)
$$
Обратите внимание, что это не $\dot{f}: X_1 \rightarrow X_2$ (не уверен, можно ли так легко определить функцию, чьими областью и диапазоном являются пространства с разной плотностью, интересная идея для исследования, но это вне темы для нас здесь).
Теперь. Здесь я отклонюсь от вашей структуры. Мы предполагаем, что мы на самом деле построили и обучили нейронную сеть, которая оценивает (с хорошей уверенностью) $f: \mathbf{range}(X_1) \rightarrow \mathbf{range}(X_2)$. Что мы можем сказать о этой нейронной сети и о $f$, так это:
-
$f$ может быть использована для предсказания,Given a value from the range of $X_1$ a corresponding value in the range of $X_2$. Это основано на нашем понимании того, что наша модель является хорошим предсказателем.
-
Модель моделирует $F_{X2}(x)$. Другими словами, $f$ является $F_{X2}(x)$; и она моделирует распределение $P(X_2)$.
Почему это так?
Для того чтобы $f$ была моделью $F_{X2}(x)$, мы должны иметь:
$$
f: \mathbf{domain}(X_2) \rightarrow \mathbf{range}(X_2) \Longleftrightarrow
f: \mathbf{range}(X_1) \rightarrow \mathbf{range}(X_2)
$$
Что действительно верно по тому, как мы разработали нашу нейронную сеть. Мы сказали, что сеть получает диапазон $X_1$ в качестве своего входа, который является областью определения нейронной сети. Мы также сказали, что выход сети — это диапазон $X_2$, следовательно, сама сеть является моделью $P(X_2)$.
Здравый смысл
Нейронная сеть получает значения, взятые из $F_{X1}(x)$, в качестве входных данных, но сравнивает свой выход с значениями в $F_{X2}(x)$, и она может только изменяться (обучаться) на основе значений, с которыми она может что-то сравнить (ее выход). Другими словами, сеть не пытается понять распределение своего входа. Если у нас есть вход, состоящий всего из одной выборки из $F_{X1}(x)$, мы все равно должны быть в состоянии корректно оценить $f$.
Однако реальность может иногда казаться другой, и распределение входов на самом деле может повлиять на обучение нейронной сети на практике. Например, классы/области с очень малой поддержкой повлияют на оценку сети (и, следовательно, на ее оценку $P(X_2)$). Тем не менее, идея о малой поддержке не имеет значения для нас, поскольку мы думаем о $X_1$, который является случайной величиной, и его ожидаемое значение будет из достаточного числа выборок.
Дополнительная заметка
Условие, что $X_2$ должно быть из того же пространства выборки ($\Omega$), что и $X_1$, не является необходимым, хотя возможно. Это условие повлияет на то, как сеть обучается (это, в конце концов, условие), однако оно будет одинаковым условием для того, как выглядит $P(X_2)$.
Ответ или решение
Отношение между основной функцией и основной вероятностной функцией распределения данных
Вопрос о взаимосвязи между функциями, которые мы стремимся найти в рамках машинного обучения, и вероятностными распределениями данных — это сложная, но интересная тема. Давайте подробно разберем этот вопрос, основываясь на приведенных вами утверждениях и примерах.
Утверждения и их интерпретация
- Утверждение 1: Цель машинного обучения — это получение функции из имеющихся данных.
- Утверждение 2: Цель машинного обучения — найти основную функцию распределения вероятностей данных.
На первый взгляд, эти два утверждения могут показаться противоречивыми, однако они касаются разных аспектов одной и той же задачи. Оба утверждения на самом деле указывают на необходимость взаимосвязи между функцией, которую мы хотим определить, и вероятностным распределением, откуда происходят наши данные.
Взаимосвязь между основной функцией и вероятностным распределением
Рассмотрим вашу ситуацию с приведенными случайными векторами ( X_1 ) и ( X_2 ).
Вы определили, что основная функция ( f ) картирует диапазон ( X_1 ) в диапазон ( X_2 ). Эта функция ( f ) является подстановкой, которая позволяет нам, имея набранные данные ( X_1 ), предсказывать значения ( X_2 ). Конечная цель нашего обучения заключается в том, чтобы приблизить структуру этой функции ( f ) к истинной функции, описывающей связь между переменными.
При этом существует совместное распределение ( P(X_1, X_2) ), которое описывает, как вероятности этих векторов взаимосвязаны. Это совместное распределение позволяет нам понять, как вероятности значений ( X_1 ) и ( X_2 ) влияют друг на друга.
Таким образом, даже если мы не можем знать ( f ) в точности, мы можем использовать данные и соответствующее вероятностное распределение, чтобы приблизить ( f ) через оптимизацию процесса обучения, как, например, в нейронных сетях.
Как это работает на практике?
При обучении нейронной сети:
- Входные данные: Нейронная сеть принимает значения ( X_1 ) в качестве входных данных. Эти значения распределены согласно ( P(X_1) ).
- Целевые данные: Сеть выдает предсказания значений ( X_2 ), которые будут распределены согласно ( P(X_2) ).
Мы оптимизируем параметры нейронной сети таким образом, чтобы разница между предсказаниями и истинными значениями из ( P(X_2) ) была минимальной. По сути, сеть обучается на том, чтобы моделировать вероятность ( P(X_2 | X_1) ), что косвенно приведет к тому, что мы получим приближенную оценку основной функции ( f ).
Необходимые уточнения
-
Функция и вероятностное распределение: Необходимо понимать, что функция ( f ) является детерминированной, тогда как ( P(X_1, X_2) ) может включать случайные элементы. То есть, ( f ) определяет конкретные соответствия, а распределение описывает вероятности различных исходов.
-
Обучение и проверка модели: Важно будет проверить, как хорошо наша модель предсказывает значения ( X_2 ), и здесь, вероятно, будет затрагиваться идея о том, как соотношение данных из ( X_1 ) влияет на предсказания ( X_2 ).
Заключение
Таким образом, основная функция, которую мы хотим оценить с помощью машинного обучения, и вероятностное распределение данных — это два аспекта одной и той же реальности. Мы используем данные, их вероятностное распределение, чтобы лучше понять и оценить функцию, которая описывает взаимосвязь между различными переменными. Понимание того, как эти концепции пересекаются, поможет нам более эффективно разрабатывать и обучать модели машинного обучения, ориентируясь на достоверные результаты.
В современном IT легко запутаться в этих концепциях, однако их детальное понимание и комбинирование в подходах машинного обучения определяет успех в достижении поставленных задач.