2015-07-20 88 views
0

線性迴歸定義Y是X的函數。使用此函數可以使用X的值在發生X之前預測Y(忽略異常值)。爲什麼在線性迴歸中使用多個特徵?

單變量線性迴歸僅取決於一個變量。但更強大的形式是多變量線性迴歸,而不是隻使用一個參數:X,使用多個參數。這不能在X,Y平面上可視化,引入3個參數可能可視化,但4,5,6個參數(維度)不能。

這個想法是,更多的參數會給出更好的預測。這是什麼基礎?爲什麼使用多個功能可以提高預測的質量?直覺上,我明白知道的問題越多,就可以做出更準確的預測。但爲什麼添加更多的功能,或換句話說,尺寸增加了功能的準確性?這是否存在正式的定義?

或者它只是試驗和錯誤 - 一個功能可能是足夠的,但不會知道,直到測試多個功能。

+0

的多個部件的情況下,僅僅是一個只有一個功能,你的體重情況的概括矢量除了一個特徵外全部爲零。所以不可能變得更糟,因爲你可以自由地忽略其他信息。 – cel

+2

「這個想法是使用更多的參數可以給出更好的預測。」不必要。如果您使用太多參數,則生成的模型可能會過度配置。無論如何,你應該在[CrossValidated](http://stats.stackexchange.com)上提出這個問題。 – BartoszKP

+0

這對於交叉驗證的堆棧來說確實是一個更合適的討論。溢出應該用於編碼問題。 – JJFord3

回答

0

正式證明非常簡單。 您的映射f的性質不能表示爲您的功能的功能。你只能得到一些近似值,並添加更多變量總是擴大可能的近似者的空間(要更嚴格 - 永不減少)。雖然它可能實際上是在這個新的空間(以及所有已知的算法將失敗)找到一個很好的approximator,總會有更大的機會存在。一般來說 - 如果您可以創建一組完美的功能,例如...輸出值本身 - 然後添加任何東西都會降低模型的質量。但在現實生活中 - 我們作爲人類 - 無法找到這樣的好預測因子,所以我們盲目地抽取可以獲得的東西,從現實中衡量,並作爲一個簡單的隨機猜測 - 每一個附加信息可能是有用的。

如果你喜歡更數學化的解決方案,考慮f是未知的功能集

f(x1, ..., xm) e R 

現在你可以測量原始信號r1, r2, ...的一些無限的空間,併爲有原始信號的每個子集的功能是f的這些真實特徵的映射,但具有不同程度的正確性,因此您有g1(r1, r2, r3) = (x1+er1, 0, x3+er3, ...); g2(r1) = (0, 0, x3+er4, ...)等。您正試圖從某些有限子集的原始信號構建函數到R,這將近似爲f,因此您需要的更大數量的r包括,你有更好的機會確定這些元素,這將使近似f成爲可能。不幸的是 - 你可以添加很多冗餘信號,或者那些與真實特徵完全不相關的冗餘信號。這可能被看作是偏差變化的一個大問題。假設您在所有可能的信號範圍內都這樣做(並且您實際上可以找到與f的性質完全相關的內容),則您添加的功能越多,您將引入的差異越大。另一方面 - 小的特徵集引入了高偏置誤差(由於對所需信號的強烈假設以及與真實特徵的相關性)。

特別是,線性迴歸是不是非常適合用於高度相關信號的工作,所以對於這個特殊的統計模型,增加了新的信號可能會迅速摧毀你的模型。LR有一個強大的基本假設,即f是所有預測變量的線性模型,最多爲正態分佈誤差,每維之間有相同的變化。

+0

「添加更多變量總是擴大可能的近似器的空間」換句話說:具有更多參數的學習函數將在其計算值中具有更高程度的變化,因爲更多參數提供更大範圍的函數操作數? –

+1

好吧,它比「功能操作數的範圍」更復雜;它更多地涉及這樣一個事實,即你只是擴大了可能功能的空間。如果所有參數位於同一個流形中,那麼添加更多參數並不會擴大空間,但您仍然可以獲得「更大範圍的函數操作數」,關鍵是您可以實際跨越更多「真實」域,方法是引入(至少部分)正交信號 – lejlot

+0

我可以問一個「-1」投票的原因嗎?如果答案不正確/有誤導性,請提供您的疑問,以便可以改進。 – lejlot

0

只是爲了什麼@lejlot該增加,我會說,增加的功能數量不會隨時增加造型的正確迴歸模型的概率有培養模式的過度擬合的機會。而是找到彼此獨立的特徵,並仍然對整體模型有所貢獻。

我建議這個特殊的職位,以更多地瞭解線性迴歸,以及如何更功能的幫助:

http://cs229.stanford.edu/notes/cs229-notes1.pdf

+0

它如何爲答案添加任何內容?過度擬合明確指出:「假設你在所有可能的信號範圍內都做了這些更多的功能(因此你可以真正發現與f的性質有關的東西),那麼你將引入更多的差異」高方差誤差=過度擬合機器學習/統計。 – lejlot

+0

鏈接將是讓人理解線性迴歸的好方法。 –