人工神經網絡等價於具有多項式特徵的線性回歸?
與其他機器學習算法相比,我想加深對神經網絡及其優勢的理解。我的理解如下,我的問題是:
你能糾正和補充我的理解嗎?:)
我的理解:
(1) 人工神經網絡 = 一個函數,它根據輸入值預測輸出值。根據通用逼近定理(https://en.wikipedia.org/wiki/Universal_approximation_theorem),只要有足夠的神經元,您通常可以擁有任何可能的(儘管它應該表現良好)預測函數。
(2) 線性回歸也是如此,通過將輸入值的多項式作為附加輸入值,因為您可以通過多項式很好地逼近(比較泰勒展開)每個函數。
(3) 這意味著(在某種意義上,就可能的最佳結果而言)這兩種方法是等價的。
(4) 因此,它們的主要區別在於哪種方法適合於更好的計算實現。換句話說,根據訓練示例,您可以使用哪種方法為最終定義預測函數的參數找到更快的好值。
我歡迎對其他鏈接或書籍提出任何想法、評論和建議,以改善我的想法。
這是交易:
從技術上講,您確實編寫了真實的句子(兩個模型都可以在給定足夠參數的情況下逼近任何“不太瘋狂”的函數),但是這些句子根本無法幫助您!
這是為什麼?好吧,仔細看看通用逼近理論,或者任何其他形式證明,如果有足夠的神經元,神經網絡可以計算任何 f(x)。
我見過的所有這些證明都只使用一個隱藏層。
快速瀏覽一下http://neuralnetworksanddeeplearning.com/chap5.html以獲得一些直覺。有工作表明,從某種意義上說,如果你只使用一層,所需的神經元數量會呈指數增長。
所以,雖然理論上你是對的,但在實踐中,你並沒有無限量的記憶,所以你真的不想訓練一個 2^1000 個神經元網絡,對嗎?即使您確實有無限量的內存,該網絡也肯定會過擬合。
在我看來,ML 最重要的一點是實用點!讓我們對此進行一些擴展。這裡真正的大問題不僅僅是多項式在訓練集之外如何快速增加/減少。一點也不。舉個簡單的例子,任何圖片的像素都在一個非常特定的範圍內(每種 RGB 顏色為 [0,255]),因此您可以放心,任何新樣本都將在您的訓練集值範圍內。不,最重要的是:這種比較一開始就沒有用(!)。
我建議您使用 MNIST 進行一些實驗,並嘗試查看僅使用單個層可以得出的實際結果。
實際的網絡使用不止一個隱藏層,有時是幾十個(嗯,Resnet 甚至更多……)層。因為某種原因。這個原因沒有得到證實,一般來說,為神經網絡選擇架構是一個熱門的研究領域。換句話說,雖然我們仍然需要了解更多信息,但對於許多數據集,您比較的兩個模型(線性回歸和只有一個隱藏層的 NN)都沒有任何用處!
順便說一句,如果你會進入 ML,還有另一個無用的定理,它實際上是當前的“研究領域”——PAC(可能近似正確)/VC 維度。作為獎勵,我將對此進行擴展:
如果通用逼近基本上表明給定無限數量的神經元,我們可以逼近任何函數(非常感謝?),那麼 PAC 實際上所說的是,給定(實際上!)無限數量的標記示例,我們可以盡可能接近想要我們模型中的最佳假設。當我計算出實際網絡所需的實際示例數量以某種正常的概率處於某個實際所需的錯誤率範圍內時,這絕對是一件非常有趣的事情:)它超過了宇宙中的電子數量。增強它的 PS 還假設樣本是 IID(這永遠不會是真的!)。