能否解釋一下dummy encoding和one hot encoding的具體使用和對自由度的影響?

時間 2021-06-02 01:45:45

1樓:李大貓

> library(CatEncoders)

>> X1 <- matrix(c(0, 1, 0, 1, 0, 1, 2, 0, 3, 0, 1, 2),c(4,3),byrow=FALSE)

> print(X1)

[,1] [,2] [,3]

[1,] 0 0 3

[2,] 1 1 0

[3,] 0 2 1

[4,] 1 0 2

> oenc <- OneHotEncoder.fit(X1)

> z <- transform(oenc,X1,sparse=FALSE)

> # return a dense matrix

> print(z)

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]

[1,] 1 0 1 0 0 0 0 0 1

[2,] 0 1 0 1 0 1 0 0 0

[3,] 1 0 0 0 1 0 1 0 0

[4,] 0 1 1 0 0 0 0 1 0

2樓:wjhbb

考慮乙個極端情況,最簡單的,單個連續變數的線性回歸,。

這裡 x 雖然是連續變數,但也不能阻止我們故意用 one-hot encoding 來表示它。比如,假設輸入資料 x 一共包含 n 個數,那可以把這 n 個數表達為 n x n 的單位矩陣。這樣的話,顯然可以直接精確擬合輸入的 y,也就是過擬合了。

本來只有 a 和 b 兩個引數,現在變成了 n 或 n+1 個引數。自由度的增多伴隨著的是引數的增多,所以更容易過擬合。

繼續這個假想的例子,為了減少過擬合,我們可以減少 one-hot encoding 的自由度個數,換言之,我們不用 n * n 矩陣,而用較小的矩陣;這樣就會導致不同的 x 的值對應相同的編碼。這樣做實際上是在用分段常數函式來擬合。

還是這個例子,我們也可以故意忘記 輸入資料 x 的真實值,而把它們排序後用 1 到 n 的序號來代替,然後試圖擬合這些序號與 y 之間的關係。這相當於對 x 做了乙個奇怪的單調的非線性變換。但我們可以預期,雖然這麼做會讓本來的 x 與 y 的線性關係變成一種很彆扭的關係,但一般不至於導致過擬合。

3樓:王贇 Maigo

如果你不使用regularization,那麼one-hot encoding的模型會有多餘的自由度。這個自由度體現在你可以把某乙個分型別變數各個值對應的權重都增加某一數值,同時把另乙個分型別變數各個值對應的權重都減小某一數值,而模型不變。在dummy encoding中,這些多餘的自由度都被統攝到intercept裡去了。

這麼看來,dummy encoding更好一些。

如果你使用regularization,那麼regularization就能夠處理這些多餘的自由度。此時,我覺得用one-hot encoding更好,因為每個分型別變數的各個值的地位就是對等的了。

能否通俗易懂的解釋一下和弦?

改變自己 乙個音叫單音,兩個音叫音程,三個音及以上的三度疊置叫和弦。和弦的名稱是根據度數和性質 可以理解為聲音的色彩 決定的。度數可以理解為台階,dol re mi fa sol la si是向上排列的7個台階,每乙個就是一度。所以,音越多,和弦切換越頻繁,其包含的色彩和感覺就越豐富。 愛吃檸檬的小...

能否解釋一下王國風雲2的繼承機制?

瓦叔 1 家族繼承 長子 幼子繼承法 你死了就玩長子 幼子 男女平等時,可能是長女 幼女 均分繼承法 一般長子繼承主頭銜,其他子嗣分別繼承其他頭銜選舉繼承法 家族內還是長子繼承 選舉均分繼承法 家族選舉繼承法 選舉一位家族成員繼承你,你死了就玩他2 頭銜繼承 王國以上頭銜會有單獨的繼承法,它可能和家...

能否通俗易懂,深入淺出地解釋一下linux中的掛載的概念?

電腦小白來回答一下。硬碟上有格式化好的檔案系統。有自己的定址方式,比如扇區,柱面之類的。反正能唯一確定某個儲存單元。Linux有抽象的檔案樹,命名方式是逐漸變長的字串,用 分隔開。也能唯一確定某個檔案。掛載就是把這兩種位址表示方式一一對應起來的方法。用什麼規則都無所謂。只要能一一對應就可以了。在某個...