類別型特征-dummy variable,one-hot,種類變量-及其問題

參考:
https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/6874046.html (種類變量問題)
https://www.cnblogs.com/lianyingteng/p/7792693.html(one-hot,dummy variable,及其問題)

  1. 種類變量:
    solve with category:
    Many learning algorithms either learn a single weight per feature, or they use distances between samples. The former is the case for linear models such as logistic regression, which are easy to explain.,(此處用回歸分類進(jìn)行解釋)Suppose you have a dataset having only a single categorical feature "nationality", with values "UK", "French" and "US". Assume, without loss of generality, that these are encoded as 0, 1 and 2. You then have a weight w for this feature in a linear classifier, which will make some kind of decision based on the constraint w×x + b > 0, or equivalently w×x < b.
    problem:
    The problem now is that the weight w cannot encode a three-way choice. The three possible values of w×x are 0, w and 2×w. Either these three all lead to the same decision (they're all < b or ≥b) or "UK" and "French" lead to the same decision, or "French" and "US" give the same decision. There's no possibility for the model to learn that "UK" and "US" should be given the same label, with "French" the odd one out.(即種類變量颤陶,不能將兩端的值區(qū)別于中間的值歸于一類)
  2. dummy variable:
    啞變量編碼直觀的解釋就是任意的將一個狀態(tài)位去除俐银。還是拿上面的例子來說,我們用4個狀態(tài)位就足夠反應(yīng)上述5個類別的信息,也就是我們僅僅使用前四個狀態(tài)位 [0,0,0,0] 就可以表達(dá)博士了。只是因為對于一個我們研究的樣本碉钠,他已不是小學(xué)生、也不是中學(xué)生、也不是大學(xué)生奄抽、又不是研究生,那么我們就可以默認(rèn)他是博士甩鳄,是不是逞度。(額,當(dāng)然他現(xiàn)實生活也可能上幼兒園妙啃,但是我們統(tǒng)計的樣本中他并不是档泽,-)。所以揖赴,我們用啞變量編碼可以將上述5類表示成:
    image.png
  3. one-hot:
    關(guān)于one-hot編碼的具體介紹馆匿,可以參考我之前的一篇博客,博客地址:特征提取方法: one-hot 和 IF-IDF燥滑。這里渐北,不再詳細(xì)介紹。one-hot的基本思想:將離散型特征的每一種取值都看成一種狀態(tài)铭拧,若你的這一特征中有N個不相同的取值腔稀,那么我們就可以將該特征抽象成N種不同的狀態(tài)盆昙,one-hot編碼保證了每一個取值只會使得一種狀態(tài)處于“激活態(tài)”,也就是說這N種狀態(tài)中只有一個狀態(tài)位值為1焊虏,其他狀態(tài)位都是0淡喜。舉個例子,假設(shè)我們以學(xué)歷為例诵闭,我們想要研究的類別為小學(xué)炼团、中學(xué)、大學(xué)疏尿、碩士瘟芝、博士五種類別,我們使用one-hot對其編碼就會得到:
    image.png
  4. one-hot與dummy的區(qū)別及注意點:
    通過上面的例子褥琐,我們可以看出它們的“思想路線”是相同的锌俱,只是啞變量編碼覺得one-hot編碼太羅嗦了(一些很明顯的事實還說的這么清楚),所以它就很那么很明顯的東西省去了敌呈。這種簡化不能說到底好不好贸宏,這要看使用的場景。下面我們以一個例子來說明:

    假設(shè)我們現(xiàn)在獲得了一個模型
    image
    磕洪,這里自變量滿足
    image
    (因為特征是one-hot獲得的吭练,所有只有一個狀態(tài)位為1,其他都為了0析显,所以它們加和總是等于1)鲫咽,故我們可以用
    image

    表示第三個特征,將其帶入模型中谷异,得到:
    image
    這時分尸,我們就驚奇的發(fā)現(xiàn)
    image
    image
    這兩個參數(shù)是等價的!那么我們模型的穩(wěn)定性就成了一個待解決的問題歹嘹。這個問題這么解決呢寓落?有三種方法:
    (1)使用
    image
    正則化手段,將參數(shù)的選擇上加一個限制荞下,就是選擇參數(shù)元素值小的那個作為最終參數(shù)伶选,這樣我們得到的參數(shù)就唯一了,模型也就穩(wěn)定了尖昏。
    (2)把偏置項
    image

    去掉仰税,這時我們發(fā)現(xiàn)也可以解決同一個模型參數(shù)等價的問題。
    image
    因為有了bias項抽诉,所以和我們?nèi)サ鬮ias項的模型是完全不同的模型陨簇,不存在參數(shù)等價的問題。
    (3)再加上bias項的前提下迹淌,使用啞變量編碼代替one-hot編碼河绽,這時去除了
    image
    己单,也就不存在之前一種特征可以用其他特征表示的問題了。
  5. 使用總結(jié):
    總結(jié):我們使用one-hot編碼時耙饰,通常我們的模型不加bias項 或者 加上bias項然后使用
    image
    正則化手段去約束參數(shù)纹笼;當(dāng)我們使用啞變量編碼時,通常我們的模型都會加bias項苟跪,因為不加bias項會導(dǎo)致固有屬性的丟失
    廷痘。
    選擇建議:我感覺最好是選擇正則化 + one-hot編碼;啞變量編碼也可以使用件已,不過最好選擇前者笋额。雖然啞變量可以去除one-hot編碼的冗余信息,但是因為每個離散型特征各個取值的地位都是對等的篷扩,隨意取舍未免來的太隨意兄猩。

對于連續(xù)性變量的處理:
簡單的說,使用連續(xù)變量的LR模型鉴未,模型表示為公式(1)枢冤,而使用了one-hot或啞變量編碼后的模型表示為公式(2)

image
式中
image
表示連續(xù)型特征,
image
歼狼、
image
掏导、
image
分別是離散化后在使用one-hot或啞變量編碼后的若干個特征表示享怀。這時我們發(fā)現(xiàn)使用連續(xù)值的LR模型用一個權(quán)值去管理該特征羽峰,而one-hot后有三個權(quán)值管理了這個特征,這樣使得參數(shù)管理的更加精細(xì)添瓷,所以這樣拓展了LR模型的非線性能力梅屉。
這樣做除了增強(qiáng)了模型的非線性能力外,還有什么好處呢鳞贷?這樣做了我們至少不用再去對變量進(jìn)行歸一化坯汤,也可以加速參數(shù)的更新速度;再者使得一個很大權(quán)值管理一個特征搀愧,拆分成了許多小的權(quán)值管理這個特征多個表示惰聂,這樣做降低了特征值擾動對模型為穩(wěn)定性影響,也降低了異常數(shù)據(jù)對模型的影響咱筛,進(jìn)而使得模型具有更好的魯棒性搓幌。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市迅箩,隨后出現(xiàn)的幾起案子溉愁,更是在濱河造成了極大的恐慌,老刑警劉巖饲趋,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拐揭,死亡現(xiàn)場離奇詭異撤蟆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)堂污,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進(jìn)店門家肯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人敷鸦,你說我怎么就攤上這事息楔。” “怎么了扒披?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵值依,是天一觀的道長。 經(jīng)常有香客問我碟案,道長愿险,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任价说,我火速辦了婚禮辆亏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鳖目。我一直安慰自己扮叨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布领迈。 她就那樣靜靜地躺著彻磁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狸捅。 梳的紋絲不亂的頭發(fā)上衷蜓,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機(jī)與錄音尘喝,去河邊找鬼磁浇。 笑死,一個胖子當(dāng)著我的面吹牛朽褪,可吹牛的內(nèi)容都是我干的置吓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缔赠,長吁一口氣:“原來是場噩夢啊……” “哼衍锚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橡淑,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤构拳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體置森,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡斗埂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凫海。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呛凶。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖行贪,靈堂內(nèi)的尸體忽然破棺而出漾稀,到底是詐尸還是另有隱情,我是刑警寧澤建瘫,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布崭捍,位于F島的核電站,受9級特大地震影響啰脚,放射性物質(zhì)發(fā)生泄漏殷蛇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一橄浓、第九天 我趴在偏房一處隱蔽的房頂上張望粒梦。 院中可真熱鬧,春花似錦荸实、人聲如沸匀们。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泄朴。三九已至,卻和暖如春圆存,著一層夾襖步出監(jiān)牢的瞬間叼旋,已是汗流浹背仇哆。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工沦辙, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讹剔。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓油讯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親延欠。 傳聞我的和親對象是個殘疾皇子陌兑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容