Regression

神經網絡與其他一切

  • May 3, 2018

我還沒有從google找到滿意的答案。

當然,如果我擁有數百萬的數據,那麼深度學習就是最好的方法。

而且我已經讀過,當我沒有大數據時,也許在機器學習中使用其他方法會更好。給出的原因是過度擬合。機器學習:即查看數據、特徵提取、從收集的內容中製作新特徵等。諸如刪除高度相關的變量等。整個機器學習 9 碼。

我一直在想:為什麼只有一個隱藏層的神經網絡不是解決機器學習問題的靈丹妙藥?它們是通用估計器,可以通過 dropout、l2 正則化、l1 正則化、batch-normalization 來管理過擬合。如果我們只有 50,000 個訓練示例,訓練速度通常不是問題。它們在測試時比隨機森林更好。

那麼為什麼不 - 清理數據,像通常那樣估算缺失值,將數據居中,標準化數據,將其丟給具有一個隱藏層的神經網絡集合併應用正則化,直到你看到沒有過度擬合,然後訓練他們到最後。梯度爆炸或梯度消失沒有問題,因為它只是一個 2 層網絡。如果需要深層,這意味著要學習分層特徵,然後其他機器學習算法也不好。例如,SVM 是一個只有鉸鏈損失的神經網絡。

一個其他機器學習算法將優於仔細正則化的 2 層(可能是 3 層?)神經網絡的示例將不勝感激。你可以給我這個問題的鏈接,我會盡可能訓練最好的神經網絡,我們可以看看 2 層或 3 層神經網絡是否低於任何其他基準機器學習算法。

每種機器學習算法都有不同的歸納偏差,因此使用神經網絡並不總是合適的。線性趨勢總是最好通過簡單的線性回歸而不是非線性網絡的集合來學習。

如果你看看過去Kaggle 比賽的獲勝者,除了圖像/視頻數據的任何挑戰,你很快就會發現神經網絡並不是解決所有問題的方法。這裡有一些過去的解決方案。

應用正則化,直到你看到沒有過度擬合,然後訓練它們到最後

不能保證您可以應用足夠的正則化來防止過度擬合,而不會完全破壞網絡學習任何東西的能力。在現實生活中,消除訓練測試差距幾乎是不可行的,這就是為什麼論文仍然報告訓練和測試性能的原因。

他們是通用估計器

這僅在具有無限數量的單位的限制下才是正確的,這是不現實的。

你可以給我這個問題的鏈接,我會訓練我能訓練的最好的神經網絡,我們可以看看 2 層或 3 層神經網絡是否低於任何其他基準機器學習算法

我期望神經網絡永遠無法解決的一個示例問題:給定一個整數,將其分類為素數或非素數。

我相信這可以通過一個簡單的算法完美地解決,該算法以升序遍歷所有有效程序並找到正確識別素數的最短程序。事實上,這個 13 個字符的正則表達式字符串可以匹配素數,這在計算上不會難以搜索。


正則化能否將一個模型從一個過度擬合的模型轉換為一個其表徵能力被正則化嚴重阻礙的模型?中間不總是有那個甜蜜點嗎?

是的,有一個甜蜜點,但通常是在你停止過度擬合之前。看這個圖:

http://gluon.mxnet.io/_images/regularization-overfitting.png

如果你翻轉水平軸並將其重新標記為“正則化量”,它就非常準確——如果你正則化直到完全沒有過度擬合,你的錯誤將是巨大的。當有一點過度擬合但不是太多時,就會出現“最佳點”。

一個“簡單的算法,它以遞增的長度迭代所有有效程序並找到正確識別素數的最短程序”。一種可以學習的算法?

它找到參數這樣我們就有了一個假設它解釋了數據,就像反向傳播找到參數一樣最大限度地減少損失(並通過代理解釋數據)。只有在這種情況下,參數是一個字符串而不是許多浮點值。


因此,如果我的理解正確,那麼您的論點是,如果數據並不豐富,那麼在給定兩者的最佳超參數的情況下,深層網絡將永遠不會達到最佳淺層網絡的驗證精度?

是的。這是一個醜陋但希望有效的數字來說明我的觀點。 https://i.imgur.com/nM3aI2l.png

但這沒有意義。深度網絡可以只學習淺層之上的 1-1 映射

問題不是“能不能”,而是“能不能”,如果你正在訓練反向傳播,答案可能不是。

我們討論了一個事實,即較大的網絡總是比較小的網絡工作得更好

沒有進一步的限定,這種說法是錯誤的。

引用自:https://stats.stackexchange.com/questions/344258

comments powered by Disqus