Искусственные нейронные сети, эквивалентные линейной регрессии с полиномиальными признаками?


11

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

Можете ли вы исправить и дополнить мое понимание, пожалуйста? :)

Мое понимание:

(1) Искусственные нейронные сети = функция, которая предсказывает выходные значения из входных значений. В соответствии с теоремой универсального приближения ( https://en.wikipedia.org/wiki/Universal_approximation_theorem ), вы обычно можете иметь любую возможную (хотя она должна вести себя хорошо) функцию предсказания, учитывая достаточно нейронов.

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

(3) Это означает, что (в некотором смысле, относительно наилучших возможных результатов) эти 2 метода эквивалентны.

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

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


2
Следует переместить на math.stackexchange.com. Нейронные сети с активацией произвольно приближаются к любой гладкой функции, но у них есть еще одна особенность: гладкость (масштабирование весов) зависит от точки, это ключ к хорошему глобальному приближению , Вы не можете достичь этого с помощью полиномиальной аппроксимации (если задана непрерывная функция, возьмите ее свертку с n d e - π | n x | 2 и используйте первые несколько членов разложения Тейлора вокруг некоторой точки, которая дает только хорошее локальное приближение )TANHNdе-π|NИкс|2
user1952009

@ user1952009 - разве Стоун-Вейерштрасс не подразумевает сколь угодно хорошее глобальное приближение из-за равномерности приближения в теореме?
jbowman

ерεер,εвир|Икс|р|е(Икс)-ер,ε(Икс)|εИкс0

1
Это потенциально дубликат stats.stackexchange.com/questions/41289/… Я бы пометил этот вопрос, но, учитывая его награду, думаю, я просто собираюсь комментировать здесь :)
Хью Перкинс,

1
+1 @HughPerkins за ссылку на проницательный связанный вопрос. Но, несмотря на то, что ответы в связанном вопросе действительно дают представление об этом вопросе (например, как объясняет Стефан Коласса, aNN учитывает нелинейность по умолчанию, в то время как регрессия только делает так когда специально смоделированы с помощью дополнительных методов) я бы не стал отмечать дубликаты . Вы спросили, какой тип модели может дать лучшие результаты, в то время как этот вопрос специально задан, чтобы объяснить, похожи ли два метода по своим результатам и их обобщаемости.
IWS

Ответы:


7

Вот сделка:

Технически вы написали истинные предложения (обе модели могут аппроксимировать любую «не слишком сумасшедшую» функцию при достаточном количестве параметров), но эти предложения никуда вас не приведут!

Почему это? Что ж, взглянем поближе на теорию универсального приближения или любое другое формальное доказательство того, что нейронная сеть может вычислить любой f (x), если есть достаточно Нейронов.

Все те доказательства, которые я видел, используют только один скрытый слой.

Взгляните сюда http://neuralnetworksanddeeplearning.com/chap5.html для некоторой интуиции. Есть работы, показывающие, что в некотором смысле количество нейронов должно расти в геометрической прогрессии, если вы используете только один слой.

Итак, хотя в теории вы правы, на практике у вас нет бесконечного количества памяти, поэтому вы не хотите тренировать сеть из 2 000 нейронов, не так ли? Даже если у вас было бесконечное количество памяти, эта сеть наверняка перегрузится.

На мой взгляд, наиболее важным моментом ОД является практический момент! Давайте немного подробнее об этом. Реальная большая проблема здесь не только в том, как многочлены увеличиваются / уменьшаются очень быстро вне тренировочного набора. Не за что. В качестве быстрого примера, пиксель любого изображения находится в очень специфическом диапазоне ([0,255] для каждого цвета RGB), поэтому вы можете быть уверены, что любой новый образец будет в пределах диапазона значений вашего обучающего набора. Нет. Дело в том, что это сравнение бесполезно для начала (!).

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

Практические сети используют более одного скрытого слоя, иногда десятки (ну, Resnet еще больше ...) слоев. По причине. Эта причина не доказана, и в целом выбор архитектуры для нейронной сети является горячей областью исследований. Другими словами, хотя нам все еще нужно знать больше, обе модели, которые вы сравнили (линейная регрессия и NN только с одним скрытым слоем), для многих наборов данных вообще бесполезны!

Кстати, в случае, если вы попадете в ML, есть еще одна бесполезная теорема, которая на самом деле является текущей «областью исследований» - PAC (вероятно, приблизительно правильная) / VC-измерение. Я остановлюсь на этом в качестве бонуса:

Если универсальная аппроксимация в основном утверждает, что при бесконечном количестве нейронов мы можем аппроксимировать любую функцию (большое спасибо?), То, что PAC говорит в практических терминах, учитывая (практически!) Бесконечное количество помеченных примеров, которые мы можем подобрать как можно ближе хочу лучшую гипотезу в нашей модели. Было очень весело, когда я вычислил фактическое количество примеров, необходимых для того, чтобы практическая сеть находилась в пределах некоторой практической желаемой частоты ошибок с некоторой вероятностью вероятности :) Это было больше, чем число электронов во вселенной. PS, чтобы повысить его также предполагает, что образцы являются IID (это никогда не бывает правдой!).


Итак, эквивалентны ли искусственные нейронные сети линейной регрессии с полиномиальными характеристиками или нет? Ваш ответ, кажется, фокусируется на количестве слоев и требуемых нейронов, но не объясняет, почему эти два анализа должны / могут быть эквивалентны. Делает ли добавление большего количества (скрытых) слоев нейронной сетью способной обрабатывать (даже) больше функций, чем регрессия с полиномами? И, как выяснил OP в своем ответе, как насчет внешней валидности / производительности вне выборки этих моделей (и компромиссов между использованием более сложных вариантов модели и производительностью)?
IWS

Я отсылаю вас к самому первому предложению: «Технически вы написали истинные предложения».
Йони Керен

Что ж, я спросил, потому что мотивы вашего утверждения о том, что «ОП написал истинные предложения», не были понятны мне на основании вашего ответа. Не могли бы вы так подробно остановиться на этом?
IWS

Точно. Это лучше, или ты находишь что-то еще неясным?
Йони Керен

8

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

Прежде всего, имейте в виду, что это верно для многих конструкций. Вы можете аппроксимировать любую функцию, комбинируя синусы и косинусы (преобразования Фурье), или просто добавляя множество «прямоугольников» (не совсем точное определение, но я надеюсь, что вы поняли суть).

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

Суть в том, что при машинном обучении вы на самом деле не хотите, чтобы функция идеально подходила для ваших данных. Это не было бы слишком сложно достичь на самом деле. Вы хотите что-то, что хорошо подходит, но также, вероятно, работает для точек, которые вы еще не видели. Смотрите эту картинку, например, взятую из документации для scikit-learn.

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

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


2

Поскольку ответы пока не предоставлены (хотя я бы принял комментарий пользователя 1952009, если бы он был опубликован в качестве ответа), позвольте мне поделиться тем, что я узнал за это время:

(1) Мне кажется, что мое понимание в целом правильно, но дьявол кроется в деталях.

(2) Одна вещь, которая упущена в «моем понимании»: насколько хорошо будет параметризованная гипотеза обобщать данные вне обучающего набора? Неполиномиальная природа предсказаний нейронной сети может быть лучше, чем простая линейная / полиномиальная регрессия (помните, как полиномы очень быстро увеличиваются / уменьшаются вне обучающего набора).

(3) Ссылка, которая дополнительно объясняет важность возможности быстрого вычисления параметров: http://www.heatonresearch.com/2017/06/01/hidden-layers.html


2

Может быть, эта статья поможет вам:

Полиномиальная регрессия как альтернатива нейронным сетям

Аннотация говорит:

Несмотря на успех нейронных сетей (NN), многие по-прежнему обеспокоены их природой «черного ящика». Почему они работают? Здесь мы представляем простой аналитический аргумент, что NN фактически являются полиномиальными регрессионными моделями. Это представление будет иметь различные последствия для NN, например, предоставляя объяснение причин возникновения проблем сходимости в NN, и оно дает приблизительное руководство по предотвращению переоснащения. Кроме того, мы используем это явление для прогнозирования и подтверждения свойства мультиколлинеарности NN, о которых ранее не сообщалось в литературе. Что наиболее важно, учитывая это слабое соответствие, можно выбрать обычное использование полиномиальных моделей вместо NN, что позволяет избежать некоторых основных проблем последних, таких как необходимость установки многих параметров настройки и решение проблем сходимости. Мы представляем ряд эмпирических результатов; в каждом случае точность полиномиального подхода совпадает или превышает точность NN-подходов. Доступен многофункциональный пакет программного обеспечения с открытым исходным кодом Polyreg.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.