計(jì)算社會(huì)科學(xué)講習(xí)班 機(jī)器學(xué)習(xí):理論與實(shí)踐模塊 Day3
一艘蹋、正則化
前面我們提到“過(guò)度擬合是機(jī)器學(xué)習(xí)需首要解決的問(wèn)題”沸手。常見(jiàn)的應(yīng)對(duì)策略有交叉驗(yàn)證和正則化外遇。
正則化就是對(duì)我們以往的回歸施加“限制”:在經(jīng)驗(yàn)風(fēng)險(xiǎn)上加一個(gè)正則化項(xiàng),使模型的平均誤差和模型復(fù)雜度同時(shí)較小契吉。
以上是一般線性 Elastic Net 模型的目標(biāo)函數(shù)跳仿。目標(biāo)函數(shù)的第一行與傳統(tǒng)線性回歸模型完全相同,不同之處就在于有無(wú)第二行的這個(gè)約束捐晶。
Elastic Net 模型家族包括 Ridge 回歸菲语、Lasso 回歸和 Elastic Net回歸妄辩。它們都可以對(duì)模型復(fù)雜度進(jìn)行調(diào)整,但只有Lasso回歸可以篩選變量山上。
1.Lasso回歸
Lasso回歸眼耀,一般叫L1,也叫Lasso正則佩憾。
對(duì)于Lasso回歸哮伟,其約束條件是菱形,等高線與菱形的切點(diǎn)即為解妄帘。
相比較傳統(tǒng)線性回歸得到的是 β1和β2都起作用的模型楞黄, 而 LASSO 回歸得到的是只有 β2有作用的模型,這就是 LASSO 回歸能篩選變量的原因抡驼。
Stata16推出了Lasso模塊谅辣,推薦關(guān)注。
2. Ridge 回歸
Ridge 回歸婶恼,一般叫L2桑阶,也叫Ridge 正則。
對(duì)于Ridge 回歸勾邦,其約束條件是一個(gè)圓蚣录,等高線與圓形的切點(diǎn)即為解。
Ridge 回歸的約束是一個(gè)圓眷篇,與同心橢圓的相切點(diǎn)會(huì)在圓上的任何位置(焦交點(diǎn)一般不會(huì)出現(xiàn)在坐標(biāo)軸上)萎河,所以 Ridge 回歸并沒(méi)有變量篩選的功能。
3. Elastic Net回歸
Elastic Net回歸是L1 和 L2 的結(jié)合體蕉饼,公式如下
Elastic Net 模型(0<α<1)虐杯,其約束的形狀介于正方形與圓形之間.
以上的三類(lèi)回歸都是在標(biāo)準(zhǔn)線性回歸的基礎(chǔ)上加上正則項(xiàng)來(lái)減小模型的方差。
需要注意的是雖然我們降低模型方差的目的實(shí)現(xiàn)了昧港,但容易招致“欠擬合”擎椰。即上圖的high bias,點(diǎn)偏離中心创肥。
注:方差描述的是樣本訓(xùn)練出來(lái)的模型在測(cè)試集上的表現(xiàn)达舒,要想在方差上表現(xiàn)好,就要簡(jiǎn)化模型叹侄,減少模型的參數(shù)巩搏,但這樣容易欠擬合。
偏差描述的則是根據(jù)樣本擬合出來(lái)的模型的預(yù)測(cè)結(jié)果期望與樣本真實(shí)結(jié)果的差距趾代,要想在偏差上表現(xiàn)好贯底,就得復(fù)雜化模型,增加模型的參數(shù)撒强,但這樣容易過(guò)擬合禽捆。
那么到底選擇哪種回歸糯俗,唯有通過(guò)交叉驗(yàn)證才能做出正確抉擇
二、神經(jīng)網(wǎng)絡(luò)
人工智能的底層模型是"神經(jīng)網(wǎng)絡(luò)"睦擂。
上圖中每個(gè)圓圈都是一個(gè)神經(jīng)元,每條線表示神經(jīng)元之間的連接杖玲。我們可以看到顿仇,上面的神經(jīng)元被分成了多層,層與層之間的神經(jīng)元有連接摆马,而層內(nèi)之間的神經(jīng)元沒(méi)有連接臼闻。最左邊的層叫做輸入層,這層負(fù)責(zé)接收輸入數(shù)據(jù)囤采;最右邊的層叫輸出層述呐,我們可以從這層獲取神經(jīng)網(wǎng)絡(luò)輸出數(shù)據(jù)。輸入層和輸出層之間的層叫做隱藏層蕉毯。
1.感知器
為了理解神經(jīng)網(wǎng)絡(luò)乓搬,我們應(yīng)該先理解神經(jīng)網(wǎng)絡(luò)的組成單元——神經(jīng)元。神經(jīng)元也叫做感知器代虾。感知器算法在上個(gè)世紀(jì)50-70年代很流行进肯,也成功解決了很多問(wèn)題。
- 外部刺激通過(guò)神經(jīng)末梢棉磨,轉(zhuǎn)化為電信號(hào)江掩,轉(zhuǎn)導(dǎo)到神經(jīng)細(xì)胞(又叫神經(jīng)元)。
- 無(wú)數(shù)神經(jīng)元構(gòu)成神經(jīng)中樞乘瓤。
- 神經(jīng)中樞綜合各種信號(hào)环形,做出判斷。
- 人體根據(jù)神經(jīng)中樞的指令衙傀,對(duì)外部刺激做出反應(yīng)抬吟。
上圖的圓圈就代表一個(gè)感知器。它接受多個(gè)輸入(x1统抬,x2拗军,x3...),產(chǎn)生一個(gè)輸出(output)蓄喇,好比神經(jīng)末梢感受各種外部環(huán)境的變化发侵,最后產(chǎn)生電信號(hào)。
為了簡(jiǎn)化模型妆偏,我們約定每種輸入只有兩種可能:1 或 0刃鳄。如果所有輸入都是1,表示各種條件都成立钱骂,輸出就是1叔锐;如果所有輸入都是0挪鹏,表示條件都不成立,輸出就是0愉烙。
可以舉一個(gè)例子來(lái)理解感知器讨盒。“城里正在舉辦一年一度的游戲動(dòng)漫展覽步责,小明拿不定主意返顺,周末要不要去參觀÷希”
他決定考慮三個(gè)因素遂鹊。
- 天氣:周末是否晴天?
- 同伴:能否找到人一起去蔗包?
- 價(jià)格:門(mén)票是否可承受秉扑?
這就構(gòu)成一個(gè)感知器。上面三個(gè)因素就是外部輸入调限,最后的決定就是感知器的輸出舟陆。如果三個(gè)因素都是 Yes(使用1表示),輸出就是1(去參觀)耻矮;如果都是 No(使用0表示)吨娜,輸出就是0(不去參觀)。
看到這里淘钟,我們會(huì)問(wèn):如果某些因素成立宦赠,另一些因素不成立,輸出是什么米母?比如勾扭,周末是好天氣,門(mén)票也不貴铁瞒,但是小明找不到同伴妙色,他還要不要去參觀呢?
現(xiàn)實(shí)中慧耍,各種因素很少具有同等重要性:某些因素是決定性因素身辨,另一些因素是次要因素。因此芍碧,可以給這些因素指定權(quán)重(weight)煌珊,代表它們不同的重要性。
- 天氣:權(quán)重為8
- 同伴:權(quán)重為4
- 價(jià)格:權(quán)重為4
上面的權(quán)重表示泌豆,天氣是決定性因素定庵,同伴和價(jià)格都是次要因素。
如果三個(gè)因素都為1,它們乘以權(quán)重的總和就是 8 + 4 + 4 = 16蔬浙。如果天氣和價(jià)格因素為1猪落,同伴因素為0,總和就變?yōu)?8 + 0 + 4 = 12畴博。
這時(shí)笨忌,還需要指定一個(gè)閾值(threshold)。如果總和大于閾值俱病,感知器輸出1官疲,否則輸出0。假定閾值為8庶艾,那么 12 > 8,小明決定去參觀擎勘。閾值的高低代表了意愿的強(qiáng)烈咱揍,閾值越低就表示越想去,越高就越不想去棚饵。
上面的決策過(guò)程煤裙,使用數(shù)學(xué)表達(dá)即有
上面公式中,x表示各種外部因素噪漾,w表示對(duì)應(yīng)的權(quán)重硼砰。
可以看出,一個(gè)神經(jīng)網(wǎng)絡(luò)的搭建欣硼,需要滿(mǎn)足三個(gè)條件题翰。
- 輸入和輸出
- 權(quán)重(w)和閾值(b)
- 多層感知器的結(jié)構(gòu)
2.BP模型
感知器有一個(gè)問(wèn)題,當(dāng)面對(duì)的數(shù)據(jù)集不是線性可分的時(shí)候無(wú)法應(yīng)對(duì)诈胜。然而現(xiàn)實(shí)世界中有很多數(shù)據(jù)是線性不可分的豹障,BP神經(jīng)網(wǎng)絡(luò)的出現(xiàn)解決了這個(gè)問(wèn)題。
BP模型也稱(chēng)為反向傳播模型焦匈,其思想可以概括為:利用輸出層的誤差來(lái)估計(jì)出其直接前導(dǎo)層的誤差血公,再借助于咱這個(gè)新的誤差來(lái)計(jì)算更前一層的誤差,此過(guò)程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度缓熟,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止累魔。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)中,最困難的部分就是確定權(quán)重(w)和閾值(b)够滑。目前為止垦写,這兩個(gè)值都是主觀給出的,但現(xiàn)實(shí)中很難估計(jì)它們的值彰触,必需有一種方法梯澜,可以找出答案。
這種方法就是試錯(cuò)法。其他參數(shù)都不變晚伙,w(或b)的微小變動(dòng)吮龄,記作Δw(或Δb),然后觀察輸出有什么變化咆疗。不斷重復(fù)這個(gè)過(guò)程漓帚,直至得到對(duì)應(yīng)最精確輸出的那組w和b,就是我們要的值午磁。
以上尝抖,神經(jīng)網(wǎng)絡(luò)的運(yùn)作過(guò)程如下。
- 確定輸入和輸出
- 找到一種或多種算法迅皇,可以從輸入得到輸出
- 找到一組已知答案的數(shù)據(jù)集昧辽,用來(lái)訓(xùn)練模型,估算w和b
- 一旦新的數(shù)據(jù)產(chǎn)生登颓,輸入模型搅荞,就可以得到結(jié)果,同時(shí)對(duì)w和b進(jìn)行校正
即神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的本質(zhì)框咙,就是不斷地將預(yù)測(cè)值與實(shí)際值進(jìn)行比較咕痛,不斷調(diào)整權(quán)重,使得誤差平方和最小喇嘱。
三茉贡、聚類(lèi)
聚類(lèi)分析是沒(méi)有給定劃分類(lèi)別的情況下,根據(jù)樣本相似度進(jìn)行樣本分組的一種方法者铜,是一種非監(jiān)督的學(xué)習(xí)算法腔丧。
其中,k均值聚類(lèi)(K-Means)作烟、層次聚類(lèi)(BIRCH)悔据、密度聚類(lèi)(DBSCAN)基本可以解決大部分?jǐn)?shù)據(jù)聚類(lèi)問(wèn)題,其中比較常見(jiàn)的是K-Means聚類(lèi)俗壹。
K-Means的優(yōu)點(diǎn)有:
- K-Means是解決聚類(lèi)問(wèn)題的一種經(jīng)典算法科汗,具有簡(jiǎn)單快速的特點(diǎn)。
- K-Means對(duì)大數(shù)據(jù)集的處理绷雏,能保持可伸縮性和高效率头滔。
- 當(dāng)結(jié)果cluster密集時(shí),效果較好涎显。
K-Means的缺點(diǎn)有:
- 在cluster的平均值可被定義的情況下才能使用坤检,可能不適用于某些應(yīng)用。
- 必須事先給出k期吓,而且對(duì)初值敏感早歇,對(duì)于不同的初始值,可能會(huì)導(dǎo)致不同結(jié)果。
- 不適合于發(fā)現(xiàn)大小差別很大的cluster
- 對(duì)噪聲和孤立點(diǎn)數(shù)據(jù)敏感
對(duì)于K-Means箭跳,K的選擇是個(gè)考驗(yàn)晨另,需要我們對(duì)研究工作做一定的探索,人為地設(shè)置不同的值谱姓。這里借尿,算法并不能幫我們確定分類(lèi)中心的個(gè)數(shù)。
此處屉来,K數(shù)量的設(shè)置屬于調(diào)參的一部分路翻,主要思路是泛化誤差:只有當(dāng)模型的復(fù)雜度剛剛好的才能夠達(dá)到泛化誤差最小的目標(biāo)。所以分多少類(lèi)別茄靠,在于評(píng)估我們的泛化誤差是否達(dá)到最小茂契。
一個(gè)模型在未知數(shù)據(jù)集上的泛化誤差,由方差慨绳、偏差和噪聲共同決定掉冶。通常我們認(rèn)為數(shù)據(jù)不存在噪聲,所以要想提高模型的準(zhǔn)度儡蔓,就需要較小的方差郭蕉,較小的偏差疼邀。
參考資料:
1.熱門(mén)數(shù)據(jù)挖掘模型應(yīng)用入門(mén)(一): LASSO 回歸
2.多元線性回歸模型的特征壓縮:嶺回歸和Lasso回歸
3.線性回歸——lasso回歸和嶺回歸(ridge regression)
4.機(jī)器學(xué)習(xí)中的正則化
5.機(jī)器學(xué)習(xí)算法實(shí)踐-嶺回歸和LASSO
6.機(jī)器學(xué)習(xí)中的Bias(偏差)喂江,Error(誤差),和Variance(方差)有什么區(qū)別和聯(lián)系旁振?
7.神經(jīng)網(wǎng)絡(luò)入門(mén)
8.零基礎(chǔ)入門(mén)深度學(xué)習(xí)(1) - 感知器
9.機(jī)器學(xué)習(xí) | 聚類(lèi)分析總結(jié) & 實(shí)戰(zhàn)解析
10.【機(jī)器學(xué)習(xí)】常用聚類(lèi)算法原型
11.機(jī)器學(xué)習(xí)——聚類(lèi)算法(一)