特征組合--對非線性規律進行編碼
阿新 • • 發佈:2018-03-25
class body ras learning 狀況 tro 不同 feature crash
在圖 1 和圖 2 中,我們做出如下假設:
- 藍點代表生病的樹。
- 橙點代表健康的樹。
圖1 這是線性問題嗎?
您可以畫一條線將生病的樹與健康的樹清晰地分開嗎?當然可以。這是個線性問題。這條線並不完美。有一兩棵生病的樹可能位於“健康”一側,但您畫的這條線可以很好地做出預測。
現在,我們來看看下圖:
圖2 這是線性問題嗎?
您可以畫一條直線將生病的樹與健康的樹清晰地分開嗎?不,您做不到。這是個非線性問題。您畫的任何一條線都不能很好地預測樹的健康狀況。
圖3 一條線無法分開兩類數據
要解決圖 2 所示的非線性問題,可以創建一個特征組合。特征組合是指通過將兩個或多個輸入特征相乘來對特征空間中的非線性規律進行編碼的合成特征。“cross”(組合)這一術語來自 cross product(向量積)。我們通過將x1與 x2組合來創建一個名為 的特征組合:
x_3 = x_1x_2
我們像處理任何其他特征一樣來處理這個新建的x3特征組合。線性公式變為:
y = b + w_1x_1 + w_2x_2 + w_3x_3
線性算法可以算出w3的權重,就像算出w1和w2的權重一樣。換言之,雖然 表示非線性信息,但您不需要改變線性模型的訓練方式來確定w3的值。
特征組合的種類
我們可以創建很多不同種類的特征組合。例如:
[A X B]
:將兩個特征的值相乘形成的特征組合。[A x B x C x D x E]
:將五個特征的值相乘形成的特征組合。[A x A]
:對單個特征的值求平方形成的特征組合。
通過采用隨機梯度下降法,可以有效地訓練線性模型。因此,在使用擴展的線性模型時輔以特征組合一直都是訓練大規模數據集的有效方法。
引用
特征組合 (Feature Crosses):對非線性規律進行編碼
特征組合--對非線性規律進行編碼